From da79f53e028ab1e31481fdd54371308599c46ff3 Mon Sep 17 00:00:00 2001 From: Marcus Holland-Moritz Date: Mon, 10 Jul 2023 11:20:50 +0200 Subject: [PATCH] CMakeLists.txt tweaks for release builds --- CMakeLists.txt | 51 ++++++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 14b90810..4c8f7fb9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1108,30 +1108,32 @@ if(STATIC_BUILD_DO_NOT_USE OR WIN32) add_custom_target(universal_upx DEPENDS ${UNIVERSAL_PACKED}) - if(PRJ_GIT_RELEASE_TAG) - set(ARTIFACTS_SUBDIR "releases") - else() - set(ARTIFACTS_SUBDIR "builds") + if(DEFINED ENV{GITHUB_REF_TYPE}) + if($ENV{GITHUB_REF_TYPE} == "tag") + set(ARTIFACTS_SUBDIR "releases/$ENV{GITHUB_REF_NAME}@${PRJ_GIT_REV}") + else() + set(ARTIFACTS_SUBDIR "builds/${PRJ_VERSION_FULL}") + endif() + + set(ARTIFACTS_FULL_PATH "${DWARFS_ARTIFACTS_DIR}/${ARTIFACTS_SUBDIR}") + + if(WIN32) + set(PACKAGE_EXT ".7z") + else() + set(PACKAGE_EXT ".tar.zstd") + endif() + + add_custom_target(copy_artifacts + COMMAND ${CMAKE_COMMAND} -E make_directory ${ARTIFACTS_FULL_PATH} + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${PRJ_VERSION_FULL}-${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}${PACKAGE_EXT} ${ARTIFACTS_FULL_PATH} + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${UNIVERSAL_PACKED} ${ARTIFACTS_FULL_PATH} + ) + + add_custom_target(copy_source_artifacts + COMMAND ${CMAKE_COMMAND} -E make_directory ${ARTIFACTS_FULL_PATH} + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${PRJ_VERSION_FULL}${PACKAGE_EXT} ${ARTIFACTS_FULL_PATH} + ) endif() - - set(ARTIFACTS_FULL_PATH "${DWARFS_ARTIFACTS_DIR}/${ARTIFACTS_SUBDIR}/${PRJ_VERSION_FULL}") - - if(WIN32) - set(PACKAGE_EXT ".7z") - else() - set(PACKAGE_EXT ".tar.xz") - endif() - - add_custom_target(copy_artifacts - COMMAND ${CMAKE_COMMAND} -E make_directory ${ARTIFACTS_FULL_PATH} - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${PRJ_VERSION_FULL}-${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}${PACKAGE_EXT} ${ARTIFACTS_FULL_PATH} - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${UNIVERSAL_PACKED} ${ARTIFACTS_FULL_PATH} - ) - - add_custom_target(copy_source_artifacts - COMMAND ${CMAKE_COMMAND} -E make_directory ${ARTIFACTS_FULL_PATH} - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${PRJ_VERSION_FULL}${PACKAGE_EXT} ${ARTIFACTS_FULL_PATH} - ) endif() if(NOT "${PRJ_VERSION_FULL}" STREQUAL "") @@ -1144,7 +1146,8 @@ if(NOT "${PRJ_VERSION_FULL}" STREQUAL "") # set(CPACK_GENERATOR "NSIS;ZIP;7Z") set(CPACK_GENERATOR "7Z") else() - set(CPACK_GENERATOR "TXZ") + # use TZST and later re-pack as TXZ + set(CPACK_GENERATOR "TZST") endif() set(CPACK_SOURCE_GENERATOR "${CPACK_GENERATOR}") set(CPACK_PACKAGE_VERSION_MAJOR "${PRJ_VERSION_MAJOR}")