我想在一个内部sub_directory中更改CMAKE_C_COMPILER和CMAKE_CXX_COMPILER,这些子目录是作为更大项目的一部分编译的。
从GNU更改为intel编译器。但是,在这个目录之外,没有什么必须chagne。
可能吗?
由于
答案 0 :(得分:4)
不要使用add_subdirectory
而是考虑使子目录成为一个独立的CMake项目,可以将其配置为独立于更大的项目而构建。然后,您可以使用ExternalProject_Add命令将子目录作为外部项目添加到较大的项目中。
答案 1 :(得分:1)
这取决于您如何组织项目。 如果整个项目不是单个CMakeLists.txt,而是每个子文件夹一个 - 只是尝试在project()定义之前更改CMAKE_C_COMPILER。 它应该只影响这个项目定义。