私は現在、2 つの実行可能ファイルを使用して CMake プロジェクトをセットアップしようとしています。そのうちの 1 つは、もう 1 つのコードを生成するために使用される単純なユーティリティです。CMakeLists.txt の関連ビット:
add_executable(lua2c lua2c.c)
add_custom_command(OUTPUT lcode.c COMMAND lua2c lcode.lua lcode.c MAIN_DEPENDENCY lua2c)
...
add_executable(darpem ... lcode.c)
このセットアップでは、ターゲットlua2c
は依存関係なしで終了し、cc
入力ファイルがないことについて不平を言う原因になります。add_custom_command
行を削除すると、lua2c
適切にビルドされますが、明らかにファイルが生成されませんlcode.c
。これはCMakeで可能ですか? ある種のサブディレクトリ依存関係を追加する必要がありますか?
Ubuntu 13.04、x86-64 で CMake バージョン 2.8.1 を使用します。
注:私の特定のケースでは、lua2c
十分に単純なので、別の言語を使用できます。ただし、これがどのように可能になるかについてはまだ興味があります (より複雑なセットアップの場合)。