如何使用ExternalProject_Add指定目标?

时间:2015-08-03 10:35:46

标签: cmake external-project

使用ExternalProject时是否可以仅构建特定目标?特别是,我只需要下载和构建OpenCoarrays库的MPI版本。我试过了

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版本。如果不可能,也欢迎任何黑客攻击。

1 个答案:

答案 0 :(得分:-1)

make install安装OpenCoarrays的所有流,因此即使您在构建阶段仅构建caf_mpicaf_single也会在安装阶段自动构建。

对于仅安装caf_mpi库流,您可以尝试使用PATCH_COMMAND命令的ExternalProject_add参数修改包源。

例如,您可以将src/CMakeLists.txt文件的内容替换为此内容:

add_subdirectory(mpi)

可能会有效。