2016-11-14 16 views
-1

私はcmakeを使って外部ライブラリが必要なライブラリを構築しています。それぞれの外部ライブラリには独自のmakefileがあります。私がCMakeLists.txtファイルからこのコマンドセットを呼び出すと、何も起こっていません。cmakeで外部ライブラリを構築する

私が間違っていることは何ですか?

add_custom_target(blake 
     COMMAND mkdir -p ${LIBSCAPI_BUILDIR}/blake 
     && cp -r ${LIBSCAPI_BUILDIR}/lib/BLAKE2/sse/. ${LIBSCAPI_BUILDIR}/BLAKE2 
     make -C ${LIBSCAPI_BUILDIR}/BLAKE2 
     make -C ${LIBSCAPI_BUILDIR}/BLAKE2 BUILDDIR=$(builddir) install 
     cp ${LIBSCAPI_BUILDIR}/BLAKE2/libblake2.a install/lib/ 
     touch compile-blake) 

答えて

0

については、デフォルトでターゲットを構築し、あなたはadd_custom_targetコールにALLオプションを追加する必要があります:

add_custom_target(blake ALL 
    COMMAND ... 
) 
+0

私は 'ALL' オプションを追加すると、cmakeのは、エラーを発生させる:「MKDIR :無効なオプション - 'r' ' – liorko

+0

あなたのコマンドに問題があります。新しいコマンドにはすべて* COMMAND *キーワードが付加されるべきであることに注意してください。 'make'とは異なり、' CMake'は自動的に改行を新しいコマンドとして扱いません。 '&&'を* COMMAND *に置き換えることもできます:すべてのコマンドは順番に実行され、いずれかが失敗するとビルドが終了します。詳細は、[add_custom_target documentation](https://cmake.org/cmake/help/v3.7/command/add_custom_target.html)を参照してください。 – Tsyvarev

関連する問題