2016-05-29 5 views
0

GSLを外部プロジェクトとして埋め込みたいです。CMakeコマンドをbash cmdに翻訳し、それを他のcmakeコマンドの引数として渡す方法は?

ExternalProject_Add(
     gsl 
     GIT_REPOSITORY git://git.savannah.gnu.org/gsl.git 
     DOWNLOAD_DIR external/gsl 
     SOURCE_DIR external/gsl 
     PATCH_COMMAND file(COPY external/gsl/contrib/CMakeLists.txt external/gsl/contrib/) 
     CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} 
     BINARY_DIR ./ 
     INSTALL_DIR ./ 
    ) 

file(COPY external/gsl/contrib/CMakeLists.txt external/gsl/contrib/)は、CMakeコマンドです(これは一般にどのプラットフォームでも機能します)。プラットフォームに依存するロジックを作成せずにに翻訳してPATCH_COMMANDでクロスプラットフォームの方法で呼び出すことができるのだろうか?

答えて

1

CMakeのは例えば呼び出し

cmake -E <command> <args> 

を介して利用可能な携帯型のコマンドの所定のセットを実装し、file(COPY) cmakeのコマンドは、コマンドライン同等詳細について

cmake -E COPY <file> <destination> 

を有し、documentationcmakeコマンドラインを参照ツール。

いくつかのcmakeのコマンド(複数可)、一つはファイル内のコマンドの必要なシーケンスを格納し、

cmake -P <script> 
でこれらのコマンドを実行することができるためのコマンドラインequvalentがない場合
関連する問題