diff --git a/.docker/build-linux.sh b/.docker/build-linux.sh index 0cebe53d..f69c8a38 100755 --- a/.docker/build-linux.sh +++ b/.docker/build-linux.sh @@ -196,7 +196,11 @@ fi CMAKE_ARGS="${CMAKE_ARGS} -DDWARFS_ARTIFACTS_DIR=/artifacts" if [[ "$BUILD_DIST" == "alpine" ]]; then - CMAKE_ARGS="${CMAKE_ARGS} -DDWARFS_ARTIFACT_SUFFIX=-musl" + if [[ "-$BUILD_TYPE-" == *-lto-* ]]; then + CMAKE_ARGS="${CMAKE_ARGS} -DDWARFS_ARTIFACT_SUFFIX=-musl-lto" + else + CMAKE_ARGS="${CMAKE_ARGS} -DDWARFS_ARTIFACT_SUFFIX=-musl" + fi fi if [[ "-$BUILD_TYPE-" == *-shared-* ]]; then diff --git a/CMakeLists.txt b/CMakeLists.txt index 66b6ebc2..7cbb4d78 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -990,6 +990,8 @@ if(DWARFS_OPTIMIZE) endif() if(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo") set(DWARFS_ARTIFACT_ID "${DWARFS_ARTIFACT_ID}-reldbg") +elseif(CMAKE_BUILD_TYPE STREQUAL "MinSizeRel") + set(DWARFS_ARTIFACT_ID "${DWARFS_ARTIFACT_ID}-minsize") elseif(CMAKE_BUILD_TYPE STREQUAL "Debug") set(DWARFS_ARTIFACT_ID "${DWARFS_ARTIFACT_ID}-debug") endif() @@ -1036,7 +1038,8 @@ if(STATIC_BUILD_DO_NOT_USE OR WIN32) ) endif() - list(APPEND UNIVERSAL_UPX_TARGETS ${UNIVERSAL_OUT}) + list(APPEND UNIVERSAL_UPX_TARGETS ${CMAKE_CURRENT_BINARY_DIR}/${UNIVERSAL_OUT}) + set(UNIVERSAL_ENV_LIST "${UNIVERSAL_ENV_LIST}${tgt}_binary=${UNIVERSAL_OUT}\n") endforeach() add_custom_target(universal_upx DEPENDS ${UNIVERSAL_UPX_TARGETS}) @@ -1076,13 +1079,13 @@ if(DEFINED ENV{GITHUB_REF_TYPE}) if(STATIC_BUILD_DO_NOT_USE OR WIN32) file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/artifacts.env" "binary_tarball=${CMAKE_PROJECT_NAME}-${DWARFS_ARTIFACT_ID}${PACKAGE_EXT}\n" - "universal_binary=${UNIVERSAL_OUT}\n") + "${UNIVERSAL_ENV_LIST}") add_custom_command( OUTPUT _copy_artifacts COMMAND ${CMAKE_COMMAND} -E make_directory ${ARTIFACTS_FULL_PATH} - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${DWARFS_ARTIFACT_ID}${PACKAGE_EXT} ${ARTIFACTS_FULL_PATH} - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/${UNIVERSAL_OUT} ${ARTIFACTS_FULL_PATH} + COMMAND ${CMAKE_COMMAND} -E copy -t ${ARTIFACTS_FULL_PATH} ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}-${DWARFS_ARTIFACT_ID}${PACKAGE_EXT} + COMMAND ${CMAKE_COMMAND} -E copy -t ${ARTIFACTS_FULL_PATH} ${UNIVERSAL_UPX_TARGETS} ) if(WITH_BENCHMARKS)