将当前编译器转发到 ExternalProject
Forwarding current compiler to ExternalProject
我正在尝试使用 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)方法将当前使用的 compiler/build 配置转发到 ExternalProject?
要转发编译器,请使用 ExternalProject
参数 CMAKE_CACHE_ARGS
,即:
ExternalProject_Add( googlebenchmark
...
CMAKE_CACHE_ARGS
"-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}"
"-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}"
)
我正在尝试使用 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)方法将当前使用的 compiler/build 配置转发到 ExternalProject?
要转发编译器,请使用 ExternalProject
参数 CMAKE_CACHE_ARGS
,即:
ExternalProject_Add( googlebenchmark
...
CMAKE_CACHE_ARGS
"-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}"
"-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}"
)