コンパイルを高速化するために CMakeLists.txt を作成しようとしています。
実行可能ファイルは、スクリプトで生成された .cpp ファイルに依存します。次のように、コンパイル中に .tmpl を .cpp ファイルに変換する必要があるテンプレート システムを持つ cppcms Web アプリケーション ライブラリを使用します。
cppcms_tmpl_cc page.tmpl -o page.cpp
cmake 内での bash コマンドの使用をカバーする関連する質問があります:
How to run a command at compile time within Makefile generated by CMake?
CMake : CMakeLists.txt で bash コマンドを使用する方法
これらの質問は、私のニーズのほとんどをカバーしています。
私が知りたいのは、cmake に上記のコマンドを実行し、page.tmpl 自体が変更されるたびに page.cpp を再生成するように指示する方法です。
目標は明らかに、コンパイル時間を改善し、最新のテンプレートを使用して最新のバイナリを作成することです。
(モデレーターは cppcms タグを追加できますか?)
[編集: 実際に次の 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 wiki に解決策に関するメモを追加しました:
http://art-blog.no-ip.info/wikipp/en/page/cppcms_1x_howto#How.to.compile.the.templates.with. cmake。