compile:更改打包输出名称。
This commit is contained in:
parent
37ffe2622a
commit
b7b63f8f42
@ -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
43
config/MSystem.cmake
Normal 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}")
|
Loading…
x
Reference in New Issue
Block a user