2016-05-31 12 views

答えて

3

あなたは、configureのためexecute_processcmakeコールを使用してExternalProjectが含まれていますCMakeのプロジェクトを、構築することができる:

other_project/CMakeLists.txt

project(other_project) 
include(ExternalProject) 

ExternalProject_Add(<project_name> <options...>) 

CMakeLists.txt

execute_process(
    COMMAND ${CMAKE_COMMAND} --build . ${CMAKE_SOURCE_DIR}/other_project 
    WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/other_project 
) 

このようなy other_projectは、ディレクトリ${CMAKE_BINARY_DIR}/other_projectに(--buildオプションのために)構成され、ビルドされます。 ExternalProject_Addコールでインストールを無効にしない場合は、other_projectのビルド時に実行されます。

通常、メインプロジェクトの変数からSOURCE_DIRBINARY_DIRINSTALL_DIRのようなExternalProjectのオプションを推測する必要があります。あなたはachiveそのための2つの方法があります。

  1. execute_processコマンドの前に)メインプロジェクトから呼び出され、configure_fileother_projectためCMakeLists.txtを作成します。

  2. メインプロジェクトの変数を-Dのパラメータとして${CMAKE_COMMAND}に渡します。

関連する問題