Flo*_*ian 11
您可以查看 CMake 的二进制输出目录中有哪些变量可用 CMakeFiles/[your CMake's version]/CMakeCXXCompiler.cmake。
如果您只想打印它,您正在寻找CMAKE_CXX_COMPILER_ID和CMAKE_CXX_COMPILER_VERSION。这些是跨平台可用的。
以下是 CMake 从我的项目中检测和生成的两个示例:
set(CMAKE_CXX_COMPILER_ID "GNU")
set(CMAKE_CXX_COMPILER_VERSION "4.6.3")
Run Code Online (Sandbox Code Playgroud)
或者
set(CMAKE_CXX_COMPILER_ID "MSVC")
set(CMAKE_CXX_COMPILER_VERSION "19.0.24215.1")
Run Code Online (Sandbox Code Playgroud)
其他类型的变量用于检查平台/工具链,如CMAKE_COMPILER_IS_GNUCXX.
我不太确定我是否准确理解了您的问题,但如果您只想知道正在使用哪个编译器,请使用以下选项启用详细构建CMAKE_VERBOSE_MAKEFILE:
cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON
Run Code Online (Sandbox Code Playgroud)
然后make像往常一样运行。这将显示哪些命令用于构建代码。