C++ CMake:如何获取编译器“;系统“;旗帜?

C++ CMake:如何获取编译器“;系统“;旗帜?,c++,cmake,C++,Cmake,我试图使用消息打印传递给我的目标的所有编译器标志(它们对于所有目标都是相同的)。(为什么?我需要将它们传递给cldoc以使用clang生成文档…) 在MacOs下,我意识到在执行make VERBOSE=1时,以下标志会传递给clang: -isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk-mmacosx version min=10

我试图使用
消息
打印传递给我的目标的所有编译器标志(它们对于所有目标都是相同的)。(为什么?我需要将它们传递给cldoc以使用clang生成文档…)

在MacOs下,我意识到在执行
make VERBOSE=1
时,以下标志会传递给clang:

-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk-mmacosx version min=10.9

什么是CMake变量,它以可移植的方式为我提供了这些信息


注意:它们不在以下位置:
CMAKE\u CXX\u标志
CMAKE\u CXX\u编译标志
CMAKE\u CXX\u链接标志
CMAKE\u链接器标志
CMAKE\u CXX\u标志
CMAKE\u链接标志
CMAKE\u编译标志
CMAKE\u C\u LINK\u FLAGS

在我的项目中,我只是在头部CMakeList.txt中用“-v”命令使用附加定义:
add\u definitions(-v)


类似于将
VERBOSE=1
添加到make命令。

每个目标是否都有一个属性
COMPILE\u FLAGS
?是的,但是当我将标志传递给cldoc时,实际上还没有目标。clang仍然需要编译标志来理解代码。是的,这就是我最后使用一个虚拟文件所做的,然后手动剥离编译器以获得系统标志。您还可以在顶部的CMakeLists.txt上使用
set(CMAKE\u VERBOSE\u MAKEFILE ON)