diff options
author | Ivan Komissarov <ABBAPOH@gmail.com> | 2020-08-13 00:45:36 +0200 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2020-08-17 17:09:39 +0000 |
commit | b67b08f1c2c26a226db6f43f2452026f85ad6460 (patch) | |
tree | e8aa41c51e6247919d531d9cd35737c98a360ff9 /share/CMakeLists.txt | |
parent | 2311a8224c3fc7141c44cc517f4ecdb882cd09f8 (diff) |
Initial CMake port
This change allows to build Qbs using CMake build tool
Tested platforms
- Linux (gcc)
- macOS (clang)
- Windows (msvc2017)
Missing features (compared to Qbs build)
- Documentation build
- Bundled QtScript support
- Static build
- .pc file for qbscore
- qbs module for qbscore
Change-Id: I09b5dadd6723d5a47e5ef2a9a38d3300488718f2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'share/CMakeLists.txt')
-rw-r--r-- | share/CMakeLists.txt | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/share/CMakeLists.txt b/share/CMakeLists.txt new file mode 100644 index 000000000..66b030542 --- /dev/null +++ b/share/CMakeLists.txt @@ -0,0 +1,65 @@ +if(WIN32) + install( + FILES ../bin/ibmsvc.xml ../bin/ibqbs.bat + DESTINATION "${CMAKE_INSTALL_PREFIX}/${QBS_APP_INSTALL_DIR}" + ) +endif() +install( + PROGRAMS ../src/3rdparty/python/bin/dmgbuild + DESTINATION "${CMAKE_INSTALL_PREFIX}/${QBS_LIBEXEC_PATH}" + ) +add_custom_target(copy-runtime-files-dmgbuild ALL + COMMAND ${CMAKE_COMMAND} -E copy + ${CMAKE_CURRENT_SOURCE_DIR}/../src/3rdparty/python/bin/dmgbuild + ${CMAKE_BINARY_DIR}/${QBS_LIBEXEC_PATH} + ) +install( + # trailing slash avoid copying the 'site-packages' dir and only copies its content + DIRECTORY ../src/3rdparty/python/lib/python2.7/site-packages/ + DESTINATION "${CMAKE_INSTALL_PREFIX}/${QBS_RESOURCES_INSTALL_DIR}/share/qbs/python" + FILES_MATCHING PATTERN "*.py" + ) +install( + DIRECTORY qbs + DESTINATION "${CMAKE_INSTALL_PREFIX}/${QBS_RESOURCES_INSTALL_DIR}/share") +add_custom_target(copy-runtime-files-qbs ALL + COMMAND ${CMAKE_COMMAND} -E copy_directory + ${CMAKE_CURRENT_SOURCE_DIR}/qbs + ${CMAKE_BINARY_DIR}/share/qbs + ) +install( + DIRECTORY ../examples + DESTINATION "${CMAKE_INSTALL_PREFIX}/${QBS_RESOURCES_INSTALL_DIR}/share/qbs" + ) + +if(WIN32) + set(UPDATE_PATH_COMMAND set "PATH=${QT_QMAKE_EXECUTABLE}/..\;%PATH%") +else() + set(UPDATE_PATH_COMMAND "") +endif() + +add_custom_target( + BuildQbsResources ALL + COMMAND ${UPDATE_PATH_COMMAND} + COMMAND ${CMAKE_BINARY_DIR}/${QBS_APP_INSTALL_DIR}/qbs + build + --settings-dir ${CMAKE_BINARY_DIR}/settings + -f ${CMAKE_SOURCE_DIR}/qbs.qbs + -d ${CMAKE_BINARY_DIR}/ + -p "qbs resources" + qbs.installPrefix:undefined + project.withCode:false + project.withDocumentation:false + profile:none + DEPENDS qbs + ) + +install( + DIRECTORY ${CMAKE_BINARY_DIR}/default/install-root/share/qbs/qml-type-descriptions + DESTINATION "${CMAKE_INSTALL_PREFIX}/${QBS_RESOURCES_INSTALL_DIR}/share/qbs" + ) + +install( + DIRECTORY ${CMAKE_BINARY_DIR}/default/install-root/share/qbs/qml-type-descriptions + DESTINATION "${CMAKE_INSTALL_PREFIX}/${QBS_RESOURCES_INSTALL_DIR}/share/qbs" + ) |