CMake可以使用CMAKE_C_COMPILER
/ CMAKE_CXX_COMPILER
,
但是在较新版本的CMake中,请不要在CMakeCache.txt
。
在没有设置变量的情况下 - 有没有办法访问CMake用于调用项目编译器的C / C ++命令?
我的意思是CMake用来调用编译器的C / C ++路径。
问,因为我写了一个工具来扫描make dry-run的输出,它需要知道用于编译源文件的编译器命令。
答案 0 :(得分:0)
有很多方法(1)(2),你甚至可以想到不扫描,而是直接输出你需要的任何东西,例如:文件(3)。
将变量传输到缓存
set(CMAKE_CXX_COMPILER "${CMAKE_CXX_COMPILER}" CACHE INTERNAL "")
不要查看CMakeCache.txt
,而是查看存储编译器识别结果的文件:
CMakeFilse/${CMAKE_VERSION}/CMakeCXXCompiler.cmake
将其输出到stdout
或文件:
message(STATUS "CMAKE_CXX_COMPILER = ${CMAKE_CXX_COMPILER}")
file(WRITE "CMAKE_CXX_COMPILER.txt" "${CMAKE_CXX_COMPILER}")