Как в CMake присвоить значение переменной или создать define на этапе компиляции? Например из файла?
Например, требуется автоинкремент номера билда в проекте CMake при каждой последующей сборке. Номер билда генерируется внешним скриптом при каждой сборке.
Если делать вот так:
execute_process(COMMAND cat build-number.txt OUTPUT_VARIABLE VERSION_BUILD)
add_custom_target(generate_version ALL ./autobuild.sh COMMENT "build: ${VERSION_BUILD}")
Пока не придумал ничего другого как вызывать cmake . при каждой сборке проекта make:
execute_process(COMMAND cat build-number.txt OUTPUT_VARIABLE VERSION_BUILD)
add_custom_target(generate_version ALL ./autobuild.sh COMMAND cmake . COMMENT "build: ${VERSION_BUILD}")
Знаю, что есть вариант с записью непосредственно в файлы проекта, динамическим созданием .h и т.п.
Интересует как в CMake задать значение переменной, чтобы в результирующем Makefile оно выглядело, например, как:
VERSION_BUILD=$(shell cat build-number.txt)