compile:更改打包输出名称。

This commit is contained in:
taynpg 2025-02-16 15:10:53 +08:00
parent 37ffe2622a
commit b7b63f8f42
2 changed files with 53 additions and 3 deletions

View File

@ -4,9 +4,10 @@ project(transm VERSION 1.2.3 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
include(config/MSystem.cmake)
set(PROJECT_URL "https://www.sinxmiao.cn/taynpg/transm")
# CMAKE_SYSTEM_PROCESSOR
string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" CMAKE_SYSTEM_PROCESSOR_LOWER)
# string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" CMAKE_SYSTEM_PROCESSOR_LOWER)
set(COMPILER_ID ${CMAKE_CXX_COMPILER_ID})
if(MSVC)
add_compile_options(/source-charset:utf-8)
@ -77,6 +78,13 @@ install(FILES ${WIN_XP_COLOR_TOOL} DESTINATION bin)
endif()
# ********************************************************** pack infomation
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(ARCH_BIT "64Bit")
elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
set(ARCH_BIT "32Bit")
else()
message(FATAL_ERROR "Unknown target architecture")
endif()
set(CPACK_PACKAGE_NAME "transm")
set(CPACK_PACKAGE_VERSION "${PROJECT_VERSION}")
set(CPACK_PACKAGE_CONTACT "taynpg <taynpg@163.com>")
@ -101,6 +109,5 @@ elseif(UNIX AND NOT APPLE)
elseif(APPLE)
set(CPACK_GENERATOR "DragNDrop")
endif()
# "" 使 -m32
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-v${PROJECT_VERSION}-${COMPILER_ID}.${CMAKE_SYSTEM_PROCESSOR_LOWER}")
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-v${PROJECT_VERSION}-${COMPILER_ID}.${SYSTEM_ARCH}.${ARCH_BIT}")
include(CPack)

43
config/MSystem.cmake Normal file
View File

@ -0,0 +1,43 @@
#
if (UNIX)
execute_process(
COMMAND uname -a
OUTPUT_VARIABLE UNAME_OUTPUT
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if(UNAME_OUTPUT MATCHES "x86_64")
set(SYSTEM_ARCH "x86_64")
elseif(UNAME_OUTPUT MATCHES "aarch64")
set(SYSTEM_ARCH "aarch64")
elseif(UNAME_OUTPUT MATCHES "armv7l")
set(SYSTEM_ARCH "armv7l")
elseif(UNAME_OUTPUT MATCHES "i686")
set(SYSTEM_ARCH "i686")
elseif(UNAME_OUTPUT MATCHES "riscv64")
set(SYSTEM_ARCH "riscv64")
else()
set(SYSTEM_ARCH "unknown")
endif()
elseif (WIN32)
# ver
execute_process(COMMAND ver
OUTPUT_VARIABLE VER_OUTPUT
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(VER_OUTPUT MATCHES "XP")
set(SYSTEM_ARCH "x86")
else()
execute_process(COMMAND wmic os get osarchitecture
OUTPUT_VARIABLE WMIC_OUTPUT
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(WMIC_OUTPUT MATCHES "64")
set(SYSTEM_ARCH "x86_64")
else()
set(SYSTEM_ARCH "x86")
endif()
endif()
else()
message(FATAL_ERROR "unknow system type.")
endif()
message(STATUS "SYSTEM_ARCH: ${SYSTEM_ARCH}")