Я пытался использовать ExternalProject модуль:Forwarding текущий компилятор ExternalProject
ExternalProject_Add(googlebenchmark
GIT_REPOSITORY "https://github.com/google/benchmark.git"
TLS_VERIFY ON
CMAKE_CACHE_DEFAULT_ARGS -DBENCHMARK_ENABLE_TESTING:BOOL=OFF
SOURCE_DIR "${CMAKE_BINARY_DIR}/third_party/gbenchmark"
INSTALL_DIR "${CMAKE_BINARY_DIR}/third_party")`
И есть вопрос, который я придумал: этот модуль по какой-то причине не пересылает компилятор, используемый в формуле (родительский) cmake, а также CMAKE_BUILD_TYPE.
Я попытался использовать CMAKE_CACHE_DEFAULT_ARGS, чтобы установить CMAKE_CXX_COMPILER напрямую, но это не помогло.
Есть ли достойное объяснение этому поведению? Есть ли подходящий способ (cmake-ish) для пересылки текущей используемой конфигурации компилятора/сборки в ExternalProject?
Ой, спасибо большое! Фактически, ExternalProject использует Regexps для анализа параметров для параметров, поэтому вам нужно добавить тип для этих переменных (FILENAME). – MPogoda
Спасибо за подсказку с типами. Правильный тип - фактически 'FILEPATH'. – sakra