2011-10-17 4 views

答えて

6

あなたはこれに似た何かしたいような音:「B」は、出力ファイルのフルパスです

add_custom_command(OUTPUT B 
    COMMAND ${CMAKE_COMMAND} -Dinput=A -P script_that_generates_B.cmake 
    DEPENDS A 
) 

を、「A」は、いくつかの入力ファイルへの完全なパス、コマンドが何かありますビルド時に実行され、Aが変更されるたびにBを生成します。

ビルド時にBを生成する規則を実行するには、他にもBに依存する必要があります。これは、 "all"にあるadd_custom_targetのDEPENDS、またはadd_libraryコマンドまたはadd_executableコマンドのソースファイルとして実行してコマンドを実行するように表示されます。

EDIT:

ます。また、必要に応じて、時間を設定CMakeので構築

if(file1 IS_NEWER_THAN file2) 

を使用することができます。 IFコマンドのドキュメントはかなり長めですが、IS_NEWER_THANの場合はがこのナゲットを生成します。

"file1がfile2より新しいか、または2つのファイルのいずれかが存在しない場合はtrueです。パス。 "