Merge topic 'vs-clang-llvm-support'
3f300b84
VS: Recognize VS/LLVM toolset names as Clang
This commit is contained in:
commit
b53a12c29c
|
@ -182,7 +182,7 @@ else()
|
||||||
if(_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM" OR _MSVC_CXX_ARCHITECTURE_FAMILY STREQUAL "ARM")
|
if(_MSVC_C_ARCHITECTURE_FAMILY STREQUAL "ARM" OR _MSVC_CXX_ARCHITECTURE_FAMILY STREQUAL "ARM")
|
||||||
set(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib")
|
set(CMAKE_C_STANDARD_LIBRARIES_INIT "kernel32.lib user32.lib")
|
||||||
elseif(MSVC_VERSION GREATER 1310)
|
elseif(MSVC_VERSION GREATER 1310)
|
||||||
if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "v[0-9]+_clang_.*")
|
if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "(v[0-9]+_clang_.*|LLVM-vs[0-9]+.*)")
|
||||||
# Clang/C2 in MSVC14 Update 1 seems to not support -fsantinize (yet?)
|
# Clang/C2 in MSVC14 Update 1 seems to not support -fsantinize (yet?)
|
||||||
# set(_RTC1 "-fsantinize=memory,safe-stack")
|
# set(_RTC1 "-fsantinize=memory,safe-stack")
|
||||||
set(_FLAGS_CXX " -frtti -fexceptions")
|
set(_FLAGS_CXX " -frtti -fexceptions")
|
||||||
|
@ -281,7 +281,7 @@ macro(__windows_compiler_msvc lang)
|
||||||
|
|
||||||
if("x${lang}" STREQUAL "xC" OR
|
if("x${lang}" STREQUAL "xC" OR
|
||||||
"x${lang}" STREQUAL "xCXX")
|
"x${lang}" STREQUAL "xCXX")
|
||||||
if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "v[0-9]+_clang_.*")
|
if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "(v[0-9]+_clang_.*|LLVM-vs[0-9]+.*)")
|
||||||
# note: MSVC 14 2015 Update 1 sets -fno-ms-compatibility by default, but this does not allow one to compile many projects
|
# note: MSVC 14 2015 Update 1 sets -fno-ms-compatibility by default, but this does not allow one to compile many projects
|
||||||
# that include MS's own headers. CMake itself is affected project too.
|
# that include MS's own headers. CMake itself is affected project too.
|
||||||
string(APPEND CMAKE_${lang}_FLAGS_INIT " ${_PLATFORM_DEFINES}${_PLATFORM_DEFINES_${lang}} -fms-extensions -fms-compatibility -D_WINDOWS -Wall${_FLAGS_${lang}}")
|
string(APPEND CMAKE_${lang}_FLAGS_INIT " ${_PLATFORM_DEFINES}${_PLATFORM_DEFINES_${lang}} -fms-extensions -fms-compatibility -D_WINDOWS -Wall${_FLAGS_${lang}}")
|
||||||
|
|
|
@ -1795,7 +1795,8 @@ void cmVisualStudio10TargetGenerator::WriteClOptions(
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->MSTools) {
|
if (this->MSTools) {
|
||||||
cmsys::RegularExpression clangToolset("v[0-9]+_clang_.*");
|
cmsys::RegularExpression clangToolset(
|
||||||
|
"(v[0-9]+_clang_.*|LLVM-vs[0-9]+.*)");
|
||||||
const char* toolset = this->GlobalGenerator->GetPlatformToolset();
|
const char* toolset = this->GlobalGenerator->GetPlatformToolset();
|
||||||
if (toolset && clangToolset.find(toolset)) {
|
if (toolset && clangToolset.find(toolset)) {
|
||||||
this->WriteString("<ObjectFileName>"
|
this->WriteString("<ObjectFileName>"
|
||||||
|
|
Loading…
Reference in New Issue