У меня есть проект на C++ с использованием cmake. Я хотел бы иметь управление версиями (в смысле предоставления уникального вывода ./myapp --version
) на основе git-коммитов. В ручном смысле это что-то вродевывод из пользовательского скрипта как определить макрос
gcc ... -DVERSION=$(git rev-list|wc -l)
и использование макроса VERSION, если определено в коде.
Работает так, как ожидалось. Но как мне записать его в CMakeLists.txt
(давайте использовать эхо для простоты)? Как мне избежать этого?
add_definitions(-DVERSION="$(echo 1)")
Аналогичный, но не идентичный [этот вопрос] (http://stackoverflow.com/questions/1435953/how-can-i-pass-git-sha1-to-compiler-as-definition-using-cmake) – Fraser