2012-02-19 20 views
12

私は物事を検索しようとするときに問題となるこの問題のドメインでは、用語が少し不明です。cmake "make run"

私は自分のビルドプロセスにCMakeを使用しています。私はmake runを使用して特定のプロセス(具体的には、makeで構築したもの)を実行できるMakefileターゲットを作成したいと思います。私はちょうどシェルスクリプトを作ることができる、またはそれを打ち込むことによってコマンドを実行することができることを理解する。私は自分自身をMakefileを書いていた場合、私はそうのようにこれを行うだろう:


run: 
    ./path/to/binary 

私が今までにかかわらず、Makefile自分の書き込みはありません - それはcmakeによって生成されています - と私は入れてよく分かりません所望のmake runターゲットを生成するように得るために私のCMakeLists.txtを使用してください。

私はcmakeコマンド「execute_process」になっていましたが、それは私が後だよ何もしていないようです - 私は実際には、ビルドプロセス中に何かを実行する必要はありません。

エクストラ

:また、私は次のような何かをできるようにしてみたい:それが可能かどう

ある

CMAKE_COMMAND_ADD_MAKEFILE_TARGET (${CMAKE_PROJECT_DIR}/binary) 

、cmakeの変数を使用してpath/to/binaryを追加します。

+0

あなたが上に書いた目標は何ですか? –

+0

うわー、明らかにしなかった - 私はMakefileを書いていない、私はCMakeを使っている。それに応じて質問を編集します。 – simont

答えて

13

あなたはadd_custom_targetを探しています。たとえば:

add_custom_target(run 
    COMMAND binary 
    DEPENDS binary 
    WORKING_DIRECTORY ${CMAKE_PROJECT_DIR} 
) 
+0

これはテストしましたか?私は '$ {CMAKE_PROJECT_DIR}/binary 'を動作させることができません。私はそれがちょうど私のことであるかどうかわかりません - 私は' add_custom_target'を使って私が何をしているかを考えました。 – simont

+0

申し訳ありませんが、私はそれを試していませんでした。今は修正されています。 – Simon