FreeCAD

Форк
0
/
CopyLibpackDirectories.cmake 
74 строки · 5.2 Кб
1
macro(CopyLibpackDirectories)
2
    # Copy libpack dependency directories to build folder for user as part of overall build process
3
    if(FREECAD_COPY_DEPEND_DIRS_TO_BUILD)
4
        message(STATUS "Copying libpack dependency directories to build directory...")
5
        file(COPY ${FREECAD_LIBPACK_DIR}/bin/assistant.exe DESTINATION ${CMAKE_BINARY_DIR}/bin)
6
        file(COPY ${FREECAD_LIBPACK_DIR}/bin/qt.conf DESTINATION ${CMAKE_BINARY_DIR}/bin)
7
        file(COPY ${FREECAD_LIBPACK_DIR}/plugins/platforms DESTINATION ${CMAKE_BINARY_DIR}/bin)
8
        file(COPY ${FREECAD_LIBPACK_DIR}/plugins/imageformats DESTINATION ${CMAKE_BINARY_DIR}/bin)
9
        file(COPY ${FREECAD_LIBPACK_DIR}/plugins/iconengines DESTINATION ${CMAKE_BINARY_DIR}/bin)
10
        file(COPY ${FREECAD_LIBPACK_DIR}/plugins/sqldrivers DESTINATION ${CMAKE_BINARY_DIR}/bin)
11
        file(COPY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_BINARY_DIR}/bin)
12
        if(NOT FREECAD_LIBPACK_VERSION VERSION_GREATER_EQUAL "3.0.0")
13
            file(COPY ${FREECAD_LIBPACK_DIR}/plugins/printsupport DESTINATION ${CMAKE_BINARY_DIR}/bin)
14
        endif()
15
        if(FREECAD_LIBPACK_VERSION VERSION_GREATER_EQUAL "3.0.0")
16
            file(COPY ${FREECAD_LIBPACK_DIR}/plugins/tls DESTINATION ${CMAKE_BINARY_DIR}/bin)
17
        endif()
18
        file(COPY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_BINARY_DIR})
19
        message(STATUS "... end copying.\n=======================================\n")
20
    endif()
21

22
    if(COPY_LIBPACK_BIN_TO_BUILD)
23
        if(FREECAD_COPY_LIBPACK_BIN_TO_BUILD)
24
            message("Copying LibPack 'bin' directory to build 'bin' directory...")
25
            file(COPY ${FREECAD_LIBPACK_DIR}/bin DESTINATION ${CMAKE_BINARY_DIR})
26
            if(FREECAD_LIBPACK_VERSION VERSION_GREATER_EQUAL "3.0.0")
27
                message("Copying DLLs from LibPack 'lib' directory to build 'bin' directory...")
28
                file(GLOB DLLS ${FREECAD_LIBPACK_DIR}/lib/*.dll)
29
                file(COPY ${DLLS} DESTINATION ${CMAKE_BINARY_DIR}/bin)
30
                file(GLOB DLLS ${FREECAD_LIBPACK_DIR}/bin/Lib/site-packages/shiboken6/shiboken*.dll)
31
                file(COPY ${DLLS} DESTINATION ${CMAKE_BINARY_DIR}/bin)
32
                file(GLOB DLLS ${FREECAD_LIBPACK_DIR}/bin/Lib/site-packages/PySide6/pyside6*.dll)
33
                file(COPY ${DLLS} DESTINATION ${CMAKE_BINARY_DIR}/bin)
34
            endif()
35
            message(STATUS "   ... done.")
36
        endif()
37
        if(FREECAD_COPY_PLUGINS_BIN_TO_BUILD)
38
            message(STATUS "=======================================\n"
39
                           "Copying plugins to build directory.")
40
            file(COPY ${FREECAD_LIBPACK_DIR}/plugins/imageformats DESTINATION ${CMAKE_BINARY_DIR}/bin)
41
            file(COPY ${FREECAD_LIBPACK_DIR}/plugins/platforms DESTINATION ${CMAKE_BINARY_DIR}/bin)
42
            file(COPY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_BINARY_DIR}/bin)
43
            file(COPY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_BINARY_DIR})
44
            file(WRITE ${CMAKE_BINARY_DIR}/bin/qt.conf "[Paths]\nPrefix=..\n")
45
        endif()
46
    endif()
47

48
    if(FREECAD_INSTALL_DEPEND_DIRS)
49
        # Test install command for installing/copying directories
50
        message(STATUS "=======================================")
51
        install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/platforms DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
52
        install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/imageformats DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
53
        install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/iconengines DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
54
        install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/sqldrivers DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
55
        install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/styles DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
56
        if(NOT FREECAD_LIBPACK_VERSION VERSION_GREATER_EQUAL "3.0.0")
57
            install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/printsupport DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
58
        endif()
59
        if(FREECAD_LIBPACK_VERSION VERSION_GREATER_EQUAL "3.0.0")
60
            install(DIRECTORY ${FREECAD_LIBPACK_DIR}/plugins/tls DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
61
        endif()
62
        install(DIRECTORY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_INSTALL_PREFIX})
63
        install(DIRECTORY ${FREECAD_LIBPACK_DIR}/bin DESTINATION ${CMAKE_INSTALL_PREFIX})
64
        install(DIRECTORY ${FREECAD_LIBPACK_DIR}/lib DESTINATION ${CMAKE_INSTALL_PREFIX} FILES_MATCHING PATTERN "*.dll")
65
        if(FREECAD_LIBPACK_VERSION VERSION_GREATER_EQUAL "3.0.0")
66
            # Trailing slashes make sure that cMake extracts the files from the directory, rather than taking the
67
            # directory with it
68
            install(DIRECTORY ${FREECAD_LIBPACK_DIR}/lib/ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin FILES_MATCHING PATTERN "*.dll")
69
            install(DIRECTORY ${FREECAD_LIBPACK_DIR}/bin/Lib/site-packages/shiboken6/ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin FILES_MATCHING PATTERN "shiboken*.dll")
70
            install(DIRECTORY ${FREECAD_LIBPACK_DIR}/bin/Lib/site-packages/PySide6/ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin FILES_MATCHING PATTERN "pyside6*.dll")
71
        endif()
72
        message(STATUS "Created install commands for INSTALL target.\n")
73
    endif()
74
endmacro()
75

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.