diff options
author | Manuel Bentele | 2020-10-27 13:51:35 +0100 |
---|---|---|
committer | Manuel Bentele | 2020-10-27 13:51:35 +0100 |
commit | 7aeef0fef9d506bec53be5b9e660e41bae9b49c0 (patch) | |
tree | faf7282d3f26cd8051fb0bd0da14796d68d6928b /CMakeLists.txt | |
parent | Remove the build requirement for an unused C++ compiler (diff) | |
download | xloop-7aeef0fef9d506bec53be5b9e660e41bae9b49c0.tar.gz xloop-7aeef0fef9d506bec53be5b9e660e41bae9b49c0.tar.xz xloop-7aeef0fef9d506bec53be5b9e660e41bae9b49c0.zip |
Fix broken version header packaging for source packages
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 7fe82ca..66d67a4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -142,24 +142,37 @@ if(CMAKE_BUILD_TYPE MATCHES "Release") # configure source packaging set(CPACK_SOURCE_GENERATOR "TGZ;ZIP") set(CPACK_SOURCE_INSTALLED_DIRECTORIES "${CMAKE_SOURCE_DIR}" "/" - "${PROJECT_GEN_DIR}" "/") - set(CPACK_SOURCE_IGNORE_FILES "/build/;/.git/;.gitignore$;.*~;version.h.in$") - - # generate install script for CPack to install generated files - configure_file(${PROJECT_MODULES_DIR}/InstallVersionFile.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/package/InstallVersionFile.cmake) - - # set CPack install script - set(CPACK_INSTALL_SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/package/InstallVersionFile.cmake) + "${PROJECT_GEN_DIR}" "/") + set(CPACK_SOURCE_IGNORE_FILES "/build/" + "/.git/" + ".gitignore" + "version.h.in") # include CPack functionality include(CPack) - # create custom target to build package source - add_custom_target(source + # prepare source packaging + add_custom_command(OUTPUT ${INCLUDE_VERSION_HEADER} + COMMAND ${CMAKE_COMMAND} -D VERSION_HEADER_INPUT_FILE=${INCLUDE_VERSION_HEADER_GENERATE} + -D VERSION_HEADER_OUTPUT_FILE=${INCLUDE_VERSION_HEADER} + -P ${PROJECT_MODULES_DIR}/PreVersionPackaging.cmake + COMMENT "Prepare version.h" + DEPENDS xloop-generate-version) + + # main source packaging + add_custom_target(package_source_main COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target package_source - DEPENDS xloop-generate-version + DEPENDS ${INCLUDE_VERSION_HEADER} VERBATIM USES_TERMINAL) + + # post source packaging and exported target to build source packages + add_custom_target(source + COMMAND ${CMAKE_COMMAND} -D VERSION_HEADER_INPUT_FILE=${INCLUDE_VERSION_HEADER_GENERATE} + -D VERSION_HEADER_OUTPUT_FILE=${INCLUDE_VERSION_HEADER} + -P ${PROJECT_MODULES_DIR}/PostVersionPackaging.cmake + COMMENT "Cleanup version.h" + DEPENDS package_source_main) endif(CMAKE_BUILD_TYPE MATCHES "Release") # add all xloop related projects from the source code directory |