Как указать цель с ExternalProject_Add?

Можно ли построить только конкретную цель при использовании ExternalProject? В частности, мне нужно скачать и собрать только версию MPI библиотеки OpenCoarrays. Я старался

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 ответ

Решение

make install устанавливает все потоки OpenCoarraysтак что даже ты строишь только caf_mpi на стадии сборки, caf_single создается автоматически на этапе установки.

Только для установки caf_mpi поток библиотеки вы можете попытаться изменить источники пакетов, используя PATCH_COMMAND аргумент ExternalProject_add команда.

Например, вы можете заменить содержимое src/CMakeLists.txt файл к этому:

add_subdirectory(mpi)

Возможно, это сработает.

Другие вопросы по тегам