cmake将clang-cl视为clang

时间:2018-06-14 12:39:36

标签: c++ cmake clang-cl

我用cmake和msvc建立了boringssl 然后我尝试用clang-cl构建,所以我使用-T" LLVM-vs2014"在vmake参数中

Clang-cl使用cl参数,但cmake使用gcc样式参数而不添加-Xclang

2 个答案:

答案 0 :(得分:1)

处理此案例的正确方法是检查

(${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" AND "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC"))

答案 1 :(得分:0)

问题在于:

if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wshadow -Werror -Wno-error=shadow -Wno-error=unused-value -ggdb -std=gnu89")
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wshadow -Werror -Wno-error=shadow -Wno-error=unused-value -ggdb -std=c++0x")

我将Clang更改为Clng所以clang-cl没有被识别为clang.exe,它采用gcc样式参数