做项目的时候经常需要cmakelist来做一些事情,用本文章来记录自己用过的操作,省的来来回回的找
- 获取git commit号中的tag来作为打包的版本
execute_process(
COMMAND git describe --abbrev=8 --tags
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT_VARIABLE GIT_CODE_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
)
message(git_code_version:${GIT_CODE_VERSION})
string(REPLACE "." ";" GIT_CODE_VERSION_LIST ${GIT_CODE_VERSION}) #将字符串分割成list
list(LENGTH GIT_CODE_VERSION_LIST LEN)
list(GET GIT_CODE_VERSION_LIST 0 MAJOR_VERSION)
list(GET GIT_CODE_VERSION_LIST 1 MINOR_VERSION)
list(GET GIT_CODE_VERSION_LIST 2 PATCH_VERSION)
message(Package_Version: ${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION})
- 获取系统版本号来区分打出来的包名
execute_process(COMMAND lsb_release -r --short
OUTPUT_VARIABLE version_num
)
if(${version_num} MATCHES "20.04")
- 根据系统类型来做不同操作
if(WIN32)
elseif(UNIX)
endif()