Ответ 1
В CMakeLists.txt
:
Сначала определите свой исполняемый файл:
add_executable(marks-code-generator gen.cpp)
Затем определите пользовательскую команду для генерации источника:
add_custom_command(OUTPUT generated.cpp generated.hpp
COMMAND marks-code-generator ARGS args here maybe
MAIN_DEPENDENCY input-file.in
DEPENDS marks-code-generator
COMMENT here we go!
VERBATIM)
Опция VERBATIM
гарантирует, что экранирование конкретной платформы выполняется правильно. COMMENT
будет распечатан, так как make выполняется, давая что-то вроде [ 66%] here we go!
.
Наконец, назовите ваш сгенерированный источник в исходном списке для вашей реальной программы:
add_executable(some-program generated.cpp generated.hpp non-generated.cpp foo.cpp)