トップレベルのカスタムターゲットが1つ、ネストされたサブモジュールが必要です。このサブモジュールには、custom_commandを追加/バインディングすることで既存のターゲットを拡張できます。今のところ私は問題に直面しています:add_custom_command(TARGET target_name ...)
がターゲットが定義されているファイル(トップレベルのCMakeLists.txtにターゲットが定義されている)で使われていない場合、このcustom_commandは単純に無視されます。cmake bind既存のトップレベルのターゲットへのカスタムコマンドが失敗する
詳細:
1)は、他のCMakeLists.txt(モジュールがあるサブディレクトリ "サブ" の最上位CMakelists.txt
cmake_minimum_required(VERSION 2.8)
add_custom_target(custom_tg
COMMAND ls > custom_target.txt
)
add_custom_command(TARGET custom_tg
COMMAND ls > custom_command1.txt
)
add_subdirectory(sub)
2)上に作成custom_target私が望んでいたのは、カスタムコマンドで存在するターゲットを拡張することができるということです。
add_custom_command(TARGET custom_tg
COMMAND ls > custom_command2.txt
)
3)私は、ディレクトリを構築し、出力ファイルが custom_command1.txtとcustom_target.txt ですが、ないcustom_command2.txtがなく、かつ
cmake .. && make custom_tg
を実行して作成しますそれは実際に私の問題です。私はビルド/ CMakeFiles/custom_tg.dir/build.makeに見れば
は、私はそこに custom_command2.txt については言及を見ていません。ここにはbuild.makeファイルの内容があります:http://pastebin.com/zVVS4sYLです。
実際に私はcustom_command2.txtについての言及をCmakeによって生成されたファイルのツリー内に見つけることができません。これは私には奇妙に見えます。
お手数をお待ちしております。
私はそれを評価しようとしましたが、私はメッセージを受け取りました。 "フィードバックをいただきありがとうございます。評判が15点に達すると、あなたの投票は公開されたポストスコアを変更します" –
https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-workをご覧ください – renemilk