CMakeのADD_CUSTOM_TARGETで複数のコマンドを実行する
cmakeで外部コマンドを実行するだけのmakeターゲットを生成したいときは、ADD_CUSTOM_TARGETを使いますが、複数行にわたってコマンドを列挙しても正しく実行されません(ぜんぶ連結されてしまう)。2行目以降は、コマンドの先頭にCOMMANDという区切り文字を入れる必要があります。
うまく行く例:
1
2
3
4
ADD_CUSTOM_TARGET(mytarget
/bin/bash script.sh
COMMAND echo "test"
)
だめな例:
1
2
3
4
5
6
ADD_CUSTOM_TARGET(mytarget
/bin/bash script.sh
echo "test"
#/bin/bash script.sh echo "test"というふうに連結されてしまい、
#2行目が正しく実行されない。
)
なお、このようにして定義したターゲットは make mytarget とすると実行できます。