Git 如何使用动态版本号将版本号硬编码到cmake cpack中
我有一个Git 如何使用动态版本号将版本号硬编码到cmake cpack中,git,cmake,packaging,Git,Cmake,Packaging,我有一个CMakeLists.txt,它指定了没有硬编码版本号的项目: project (project_name C CXX) 然后再往下一点,使用函数根据git descripe计算出版本号: include(GetGitRevisionDescription) git_describe(GIT_VERSION --tags) string(REGEX REPLACE "-([0-9]*).*" ".\\1" VERSION "${GIT_VERSION}") 使用cmake从git存储
CMakeLists.txt
,它指定了没有硬编码版本号的项目:
project (project_name C CXX)
然后再往下一点,使用函数根据git descripe计算出版本号:
include(GetGitRevisionDescription)
git_describe(GIT_VERSION --tags)
string(REGEX REPLACE "-([0-9]*).*" ".\\1" VERSION "${GIT_VERSION}")
使用cmake
从git存储库构建项目的结果非常好,标记的提交有正确的版本,之后的头构建有一个额外的字段(调整版本),带有自上次标记以来提交的计数器
问题是,当使用CPack绑定源tarball时,tarball中的CMakeLists.txt
不再有办法确定它自己的版本(到.git
目录以及所有这些)
如何更改tarball中生成的CMakeLists.txt
,使其具有硬编码版本号