使用提交 ID 设置 cmake 项目描述
Set cmake project description with commit id
我刚刚学会了如何使用
project(ProjectName VERSION 1.0)
和 configure_file 玩版本并将其嵌入到二进制文件中。
在 project documentation 我看到它也接受描述字符串。
project(ProjectName VERSION 1.0 description_string)
所以我想使用提交 ID 作为描述字符串。我可以使用 git rev-parse HEAD
从命令行读取提交 ID,但如何使用它来设置描述?
你可以使用 FindGit module to find a git executable and then run it with execute_process
来得到结果,所以像这样:
find_package(Git REQUIRED)
execute_process(COMMAND "${GIT_EXECUTABLE}" rev-parse HEAD OUTPUT_VARIABLE COMMIT_ID OUTPUT_STRIP_TRAILING_WHITESPACE)
project(ProjectName VERSION 1.0 DESCRIPTION "${COMMIT_ID}")
我刚刚学会了如何使用
project(ProjectName VERSION 1.0)
和 configure_file 玩版本并将其嵌入到二进制文件中。
在 project documentation 我看到它也接受描述字符串。
project(ProjectName VERSION 1.0 description_string)
所以我想使用提交 ID 作为描述字符串。我可以使用 git rev-parse HEAD
从命令行读取提交 ID,但如何使用它来设置描述?
你可以使用 FindGit module to find a git executable and then run it with execute_process
来得到结果,所以像这样:
find_package(Git REQUIRED)
execute_process(COMMAND "${GIT_EXECUTABLE}" rev-parse HEAD OUTPUT_VARIABLE COMMIT_ID OUTPUT_STRIP_TRAILING_WHITESPACE)
project(ProjectName VERSION 1.0 DESCRIPTION "${COMMIT_ID}")