Я пытаюсь написать CMakeLists.txt для ускорения компиляции.
Исполняемый файл зависит от созданного скриптом файла .cpp: я использую библиотеку веб-приложений cppcms, в которой есть система шаблонов, где .tmpl должен быть преобразован в файлы .cpp во время компиляции следующим образом:
cppcms_tmpl_cc page.tmpl -o page.cpp
Есть связанные вопросы, касающиеся использования bash команды в cmake:
Как выполнить команду во время компиляции в Makefile, созданном CMake?
CMake: как использовать команду bash в CMakeLists.txt
Эти вопросы охватывают большинство моих потребностей.
Сейчас я хочу знать, как указать cmake запускать указанную выше команду и заново генерировать page.cpp каждый раз, когда изменяется сам page.tmpl, и только тогда?
Очевидно, что цель состоит в улучшении время компиляции и иметь обновленный двоичный файл с последним шаблоном.
(может ли модератор добавить тег cppcms?)
[Edit: я действительно пытаюсь преобразовать следующий Makefile в cmake:
LIBS=-lcppcms -lconfig++ -lboost_filesystem-mt
all: clean gitbrowser
gitbrowser: main.cpp view.cpp content.hpp gitbrowser.cpp
$(CXX) -Wall main.cpp gitbrowser.cpp view.cpp -o run ${LIBS}
view.cpp: page.tmpl content.hpp
cppcms_tmpl_cc page.tmpl -o view.cpp
[Edit2: Я добавил примечание о решении в официальную вики cppcms:
http://art-blog.no-ip.info/wikipp/en/page/cppcms_1x_howto#How.to.compile. the.templates.with.cmake .