diff --git a/cmake/QtBaseConfigureTests.cmake b/cmake/QtBaseConfigureTests.cmake index 15d506db164..717ea1248ec 100644 --- a/cmake/QtBaseConfigureTests.cmake +++ b/cmake/QtBaseConfigureTests.cmake @@ -130,6 +130,10 @@ VERS_1; if(APPLE) set(HAVE_LD_VERSION_SCRIPT OFF) endif() + # Also makes no sense with MSVC-style command-line + if(MSVC) + set(HAVE_LD_VERSION_SCRIPT OFF) + endif() set(TEST_ld_version_script "${HAVE_LD_VERSION_SCRIPT}" CACHE INTERNAL "linker version script support") endfunction() diff --git a/cmake/QtFlagHandlingHelpers.cmake b/cmake/QtFlagHandlingHelpers.cmake index 2ee41c2d661..4679a00a1aa 100644 --- a/cmake/QtFlagHandlingHelpers.cmake +++ b/cmake/QtFlagHandlingHelpers.cmake @@ -46,7 +46,7 @@ function(qt_internal_add_link_flags_no_undefined target) if (NOT QT_BUILD_SHARED_LIBS) return() endif() - if (GCC OR CLANG) + if ((GCC OR CLANG) AND NOT MSVC) if(CLANG AND QT_FEATURE_sanitizer) return() endif() diff --git a/cmake/QtInternalTargets.cmake b/cmake/QtInternalTargets.cmake index c10cd285e91..754688b800b 100644 --- a/cmake/QtInternalTargets.cmake +++ b/cmake/QtInternalTargets.cmake @@ -1,7 +1,7 @@ function(qt_internal_set_warnings_are_errors_flags target) set(flags "") - if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") + if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" AND NOT MSVC) # Regular clang 3.0+ if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "3.0.0") list(APPEND flags -Werror -Wno-error=\#warnings -Wno-error=deprecated-declarations) diff --git a/cmake/QtProcessConfigureArgs.cmake b/cmake/QtProcessConfigureArgs.cmake index c8a18fd6549..505673ca2c7 100644 --- a/cmake/QtProcessConfigureArgs.cmake +++ b/cmake/QtProcessConfigureArgs.cmake @@ -724,7 +724,10 @@ function(guess_compiler_from_mkspec) set(mkspec ${CMAKE_MATCH_2}) set(c_compiler "") set(cxx_compiler "") - if(mkspec MATCHES "-clang(-|$)" AND NOT mkspec MATCHES "android") + if(mkspec MATCHES "-clang-msvc$") + set(c_compiler "clang-cl") + set(cxx_compiler "clang-cl") + elseif(mkspec MATCHES "-clang(-|$)" AND NOT mkspec MATCHES "android") set(c_compiler "clang") set(cxx_compiler "clang++") elseif(mkspec MATCHES "-icc(-|$)")