CMakeLists.txt tweaks for release builds

This commit is contained in:
Marcus Holland-Moritz 2023-07-10 11:20:50 +02:00
parent a2628fd71e
commit da79f53e02

View File

@ -1108,30 +1108,32 @@ if(STATIC_BUILD_DO_NOT_USE OR WIN32)
add_custom_target(universal_upx DEPENDS ${UNIVERSAL_PACKED}) add_custom_target(universal_upx DEPENDS ${UNIVERSAL_PACKED})
if(PRJ_GIT_RELEASE_TAG) if(DEFINED ENV{GITHUB_REF_TYPE})
set(ARTIFACTS_SUBDIR "releases") if($ENV{GITHUB_REF_TYPE} == "tag")
else() set(ARTIFACTS_SUBDIR "releases/$ENV{GITHUB_REF_NAME}@${PRJ_GIT_REV}")
set(ARTIFACTS_SUBDIR "builds") 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() 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() endif()
if(NOT "${PRJ_VERSION_FULL}" STREQUAL "") 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 "NSIS;ZIP;7Z")
set(CPACK_GENERATOR "7Z") set(CPACK_GENERATOR "7Z")
else() else()
set(CPACK_GENERATOR "TXZ") # use TZST and later re-pack as TXZ
set(CPACK_GENERATOR "TZST")
endif() endif()
set(CPACK_SOURCE_GENERATOR "${CPACK_GENERATOR}") set(CPACK_SOURCE_GENERATOR "${CPACK_GENERATOR}")
set(CPACK_PACKAGE_VERSION_MAJOR "${PRJ_VERSION_MAJOR}") set(CPACK_PACKAGE_VERSION_MAJOR "${PRJ_VERSION_MAJOR}")