如何检查正在使用的编译器cmake?

时间:2018-07-03 12:02:52

标签: c++ cmake

我很惊讶找不到这个谷歌搜索。我只找到this,但是我想知道如何找到通常使用的cmake编译器?我还发现了this,但我假设cmake中有一些变量仅保存编译器名称,对吧?

2 个答案:

答案 0 :(得分:3)

您可以在CMake的二进制输出目录CMakeFiles/[your CMake's version]/CMakeCXXCompiler.cmake中查看可用的变量。

如果只想打印,则需要CMAKE_CXX_COMPILER_IDCMAKE_CXX_COMPILER_VERSION。这些可以跨平台使用。

以下是CMake从我的项目中检测并生成的两个示例:

set(CMAKE_CXX_COMPILER_ID "GNU")
set(CMAKE_CXX_COMPILER_VERSION "4.6.3")

set(CMAKE_CXX_COMPILER_ID "MSVC")
set(CMAKE_CXX_COMPILER_VERSION "19.0.24215.1")

还有其他类型的变量可用于检查平台/工具链,例如CMAKE_COMPILER_IS_GNUCXX

答案 1 :(得分:0)

我不确定我是否完全理解您的问题,但是如果您只是想知道使用哪个编译器,请使用ofGLFWWindowSettings选项启用详细的构建:

CMAKE_VERBOSE_MAKEFILE

,然后照常运行cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON 。这将显示用于构建代码的命令。