0
私はmake-basedプロジェクトをcmakeに変換しようとしています。私はヘッダファイルを生成するカスタムコマンドを取得する方法とターゲット実行可能ファイルのソースファイルをコンパイルする方法を理解したが、それらをリンクすることはできない - 私はカスタムをトリガする方法を理解できないコマンドを使用してヘッダファイルを生成します。ここで私は何をしようとしているの簡単な例です:cmakeのオブジェクトファイルに依存関係を追加するには
CMakeLists.txt:
add_executable(test test.c)
add_custom_command(OUTPUT foo.h
COMMAND echo "/* test */" > foo.h
)
test.cの:
#include "foo.h"
int main() { return 0; }
しかし、私はcmakeのを実行し、作るとき、それができます私:
test.cをコンパイルする前にfoo.hを最初に作成する必要があるとは思われません。 makeを使うと、依存関係を追加するだけです。どのように私はcmakeでそれをするのですか?
これはうまくいくようですが、ヘッダファイルを使用するファイルをコンパイルしようとする前に、常にヘッダファイルを生成する必要がありますか? –
解決策は、ヘッダーファイルがまだ生成されていない場合に生成されることを保証します。 – sakra