如何向ExternalProject_Add传递编译标志以构建x32架构的gtest
将32位编译标志传递给Google Test的ExternalProject构建
由于ExternalProject_Add会启动独立的CMake构建进程,主脚本中设置的编译器和编译标志不会自动继承到gtest的构建流程里,需要通过CMAKE_ARGS参数显式传递这些配置。
修改你的ExternalProject_Add代码,添加CMAKE_ARGS来传递编译器和32位编译标志:
include(ExternalProject) ExternalProject_Add(gtest GIT_REPOSITORY https://github.com/google/googletest.git GIT_TAG release-1.12.1 PREFIX ${CMAKE_CURRENT_BINARY_DIR}/gtest INSTALL_COMMAND "" LOG_CONFIGURE ON LOG_BUILD ON # 显式传递编译器和32位编译标志 CMAKE_ARGS -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} )
这样配置后,gtest的独立构建进程会使用你指定的gcc/g++编译器,并带上-m32标志,最终生成32位架构的库文件。
内容的提问来源于stack exchange,提问作者drewpol
相关产品推荐
相关产品推荐

