2017-09-25 7 views
0

私は何上記の場合に起こることは、私は特定の条件でexit 0a.shの実行を終了したが、そのスクリプトcmakeを終了した後b.shCMAKEターゲットの連続実行を終了しますか?

を実行するためにさらに動いている私の CMakeLists.txt

add_custom_target (
     patch 
     COMMAND echo "Creating build" 
     COMMAND cd ${CMAKE_BINARY_DIR} && sudo bash a.sh 
     COMMAND cd ${CMAKE_BINARY_DIR} && sudo bash b.sh name 
     COMMAND cd ${CMAKE_BINARY_DIR} && sudo bash b.sh address 

     DEPENDS authorise 
     DEPENDS copy 
    ) 

にカスタムターゲットを追加しました

私が望むのは、最初のスクリプトから終了したときに、cmake targetの実行も終了する必要があるということです。私はそれを実行するためにb.shのために行きたくありません。

たちはCMAKE target

の実行を停止または終了することができます方法はあります任意の助けはadd_custom_targetCOMMANDの一連のcmd1 && cmd2 && cmd3に翻訳され

答えて

1

を理解されるであろう。

コード0で終了する代わりに、別のものを返す必要があります。あなたのシェルスクリプトでCatch Ctrl+C signalと非ゼロコードを返す:

trap ctrl_c INT 

function ctrl_c() { 
     exit 1 
} 
+0

私はcmake'は、問題のコードの言及の参照を取ることによって –

+0

追加答えを@arrowd 'で初心者ですとあなたはもっと手の込んだことができ、よりきちんと理解することができますが –

+0

CMakeコードを変更する必要はありません。 Ctrl + Cハンドラを追加してスクリプトを変更してください。 – arrowd

関連する問題