我们有一组跨平台的CMake构建脚本,并且支持使用Visual C ++和GCC进行构建。
我们正在尝试Clang,但我不知道如何使用CMake脚本测试编译器是否为Clang。
我应该测试什么以查看编译器是否为Clang?我们目前正在使用,MSVC
并CMAKE_COMPILER_IS_GNU<LANG>
分别测试Visual C ++和GCC。
您可以通过将CMAKE_C_COMPILER和CMAKE_CXX_COMPILER设置为clang或clang ++的路径来设置编译器。+1表示lang声。
—
Zaffy 2012年
你为什么要在乎呢?
—
就可
@BasileStarynkevitch因为我们支持MSVC,所以我们需要检测Clang,以便我们知道是打开类似GCC的选项,还是打开类似MSVC的选项。我想起来已经太久了,但是当然也有可能我们使用了Clang不支持的选项。
—
leedm777 2015年
@BasileStarynkevitch-Clang伪装为
—
jww 16/09/13
__GNUC__
and _MSC_VER
,但不能使用与任何一个编译器相同的程序。检测LLVM Clang和Apple Clang对于确保代码按预期编译和执行至关重要。我对处理Clang的BS感到非常厌倦,我们只是中断了Windows上的编译。我们采用了让用户向LLVM投诉的策略,以便Clang开发人员更改其行为。另请参阅如何告诉Clang停止假装其他编译器?