Как жестко закодировать номер версии в cmake cpack с номером версии Dynami c - PullRequest
1 голос
/ 17 марта 2020

У меня есть CMakeLists.txt, который указывает проект без жестко запрограммированного номера версии:

project (project_name C CXX)

Затем немного дальше включает скрипт и использует функцию для выяснения номер версии на основе git describe:

include(GetGitRevisionDescription)
git_describe(GIT_VERSION --tags)
string(REGEX REPLACE "-([0-9]*).*" ".\\1" VERSION "${GIT_VERSION}")

Прекрасный результат для сборки проекта из репозитория git с использованием cmake, коммиты с тегами имеют правильную версию, HEAD создает после этого дополнительное поле (версия настройки) со счетчиком для коммитов с момента последнего тега.

Проблема в том, что при использовании CPack для объединения исходного архива, у CMakeLists.txt в архиве больше нет способа определить свой собственный версия (в каталог .git и все такое).

Как изменить сгенерированный * tar-архив CMakeLists.txt на жестко закодированный номер версии?

...