[CMAKE] Avoid deprecated CMakeClDeps and CMakeForceCCompiler. CORE-17202
authorThomas Faber <thomas.faber@reactos.org>
Sat, 15 Aug 2020 19:43:01 +0000 (21:43 +0200)
committerThomas Faber <thomas.faber@reactos.org>
Sun, 23 Aug 2020 10:07:32 +0000 (12:07 +0200)
Also avoid now-unnecessary special-casing for ARM, and
remove CMAKE_SYSTEM_PROCESSOR check that can never be true.

toolchain-msvc.cmake

index d1699c3..f1ff2d7 100644 (file)
@@ -13,30 +13,14 @@ endif()
 set(CMAKE_SYSTEM_NAME Windows)
 set(CMAKE_SYSTEM_PROCESSOR i686)
 
-# which compilers to use for C and C++
-# clang-cl gets detected as "Clang" instead of "MSVC" so we force it here
 if(USE_CLANG_CL)
-    include(CMakeForceCompiler)
-    CMAKE_FORCE_C_COMPILER(clang-cl MSVC)
-    set(CMAKE_C_COMPILER_VERSION "16.00.40219.01")
-    if(ARCH STREQUAL "i386")
-        set(MSVC_C_ARCHITECTURE_ID "X86")
-    endif()
-    include(${CMAKE_ROOT}/Modules/CMakeClDeps.cmake)
+    set(CMAKE_C_COMPILER clang-cl)
+    set(CMAKE_CXX_COMPILER clang-cl)
+    # Clang now defaults to lld-link which we're not compatible with yet
+    set(CMAKE_LINKER link)
 else()
     set(CMAKE_C_COMPILER cl)
-endif()
-
-if(ARCH STREQUAL "arm")
-    include(CMakeForceCompiler)
-    CMAKE_FORCE_CXX_COMPILER(cl MSVC)
-else()
-    if(USE_CLANG_CL)
-        include(CMakeForceCompiler)
-        CMAKE_FORCE_CXX_COMPILER(clang-cl MSVC)
-    else()
-        set(CMAKE_CXX_COMPILER cl)
-    endif()
+    set(CMAKE_CXX_COMPILER cl)
 endif()
 
 set(CMAKE_MC_COMPILER mc)
@@ -50,12 +34,7 @@ elseif(ARCH STREQUAL "arm64")
 else()
     set(CMAKE_ASM_COMPILER ml)
 endif()
-set(CMAKE_ASM_COMPILER_ID "VISUAL")
 
 set(CMAKE_C_STANDARD_LIBRARIES "" CACHE INTERNAL "")
 
-if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86")
-    add_definitions(-D__i386__)
-endif()
-
 set(CMAKE_USER_MAKE_RULES_OVERRIDE "${CMAKE_CURRENT_LIST_DIR}/overrides-msvc.cmake")