我有一个CMake项目,该项目由使用add_subdirectory
函数添加到主项目中的几个子项目组成。
我使用一个自定义编译器,为其创建了一个帮助器文件,该文件将CMAKE_C_COMPILER
和CMAKE_ASM_COMPILER
设置为编译所有子项目。
我面临的问题是我需要添加另一个子项目,该子项目需要使用其他编译器,而且CMake似乎只能对所有子项目使用单个编译器。
是否可以为add_subdirectory()
命令添加的子项目之一配置其他编译器?
我尝试为每个子项目配置CMAKE_C_COMPILER
变量,但是似乎该变量似乎已被缓存并用于所有项目。
每个CMakeLists.txt子项目的开头:
include(cmake/Toolchain.cmake)
cmake / Toolchain.cmake文件的一部分:
set(CMAKE_C_COMPILER "${MY_COMPILER}")
set(CMAKE_ASM_COMPILER "${MY_ASSEMBLER}")
我希望我的应用程序将使用新配置的编译器进行编译,但是,它将使用旧的编译器。