2015-08-03 18 views
1

使用ExternalProject時,是否可以僅構建特定的目標?特別是,我需要下載並構建OpenCoarrays庫的MPI版本。我試過如何用ExternalProject_Add指定目標?

ExternalProject_Add(
    OpenCoarrays-fallback 
    EXCLUDE_FROM_ALL 1 
    URL https://github.com/sourceryinstitute/opencoarrays/archive/1.0.1.tar.gz 
    BUILD_COMMAND make caf_mpi 
) 

但它構建了串行和MPI版本。如果不可能,任何黑客也是受歡迎的。

回答

0

make install安裝的OpenCoarrays所有數據流,因此,即使你只建caf_mpi在構建階段,caf_single內置自動安裝階段。

對於只安裝caf_mpi庫流量,你可以嘗試修改使用ExternalProject_add命令的參數PATCH_COMMAND包的來源。

E.g,您可以替換src/CMakeLists.txt文件的內容這一個:

add_subdirectory(mpi) 

也許,這將工作。

+0

現在我已經決定用一個簡單的'$ {CMAKE_COMMAND} -E copy'來重新定義安裝命令,但我會記住你的建議。 –