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 17)
 | 
				
			||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
 | 
					set(CMAKE_CXX_STANDARD_REQUIRED ON)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include(config/MSystem.cmake)
 | 
				
			||||||
set(PROJECT_URL "https://www.sinxmiao.cn/taynpg/transm")
 | 
					set(PROJECT_URL "https://www.sinxmiao.cn/taynpg/transm")
 | 
				
			||||||
# 将 CMAKE_SYSTEM_PROCESSOR 转换为小写
 | 
					# 将 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})
 | 
					set(COMPILER_ID ${CMAKE_CXX_COMPILER_ID})
 | 
				
			||||||
if(MSVC)
 | 
					if(MSVC)
 | 
				
			||||||
add_compile_options(/source-charset:utf-8)
 | 
					add_compile_options(/source-charset:utf-8)
 | 
				
			||||||
@ -77,6 +78,13 @@ install(FILES ${WIN_XP_COLOR_TOOL} DESTINATION bin)
 | 
				
			|||||||
endif()
 | 
					endif()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# ********************************************************** pack infomation
 | 
					# ********************************************************** 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_NAME "transm")
 | 
				
			||||||
set(CPACK_PACKAGE_VERSION "${PROJECT_VERSION}")
 | 
					set(CPACK_PACKAGE_VERSION "${PROJECT_VERSION}")
 | 
				
			||||||
set(CPACK_PACKAGE_CONTACT "taynpg <taynpg@163.com>")
 | 
					set(CPACK_PACKAGE_CONTACT "taynpg <taynpg@163.com>")
 | 
				
			||||||
@ -101,6 +109,5 @@ elseif(UNIX AND NOT APPLE)
 | 
				
			|||||||
elseif(APPLE)
 | 
					elseif(APPLE)
 | 
				
			||||||
    set(CPACK_GENERATOR "DragNDrop")
 | 
					    set(CPACK_GENERATOR "DragNDrop")
 | 
				
			||||||
endif()
 | 
					endif()
 | 
				
			||||||
# 这里的打包信息,具体只在 "本机生成本机程序" 时才是正确的,如果是交叉编译器,或者使用 -m32 等改变目标架构,这里的信息是不准确的
 | 
					set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-v${PROJECT_VERSION}-${COMPILER_ID}.${SYSTEM_ARCH}.${ARCH_BIT}")
 | 
				
			||||||
set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-v${PROJECT_VERSION}-${COMPILER_ID}.${CMAKE_SYSTEM_PROCESSOR_LOWER}")
 | 
					 | 
				
			||||||
include(CPack)
 | 
					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