Как указать цель с 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)
Возможно, это сработает.