Browse Source

Merge topic 'vs-llvm-extension'

8375c303e2 VS: Fix detection of clang-cl with -T llvm

Acked-by: Kitware Robot <[email protected]>
Merge-request: !3024
Brad King 6 years ago
parent
commit
72a6306454
1 changed files with 9 additions and 2 deletions
  1. 9 2
      Modules/CMakeDetermineCompilerId.cmake

+ 9 - 2
Modules/CMakeDetermineCompilerId.cmake

@@ -181,7 +181,10 @@ Id flags: ${testflags} ${CMAKE_${lang}_COMPILER_ID_FLAGS_ALWAYS}
     set(vs_version ${CMAKE_MATCH_1})
     set(id_platform ${CMAKE_VS_PLATFORM_NAME})
     set(id_lang "${lang}")
-    if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "v[0-9]+_clang_.*")
+    set(id_PostBuildEvent_Command "")
+    if(CMAKE_VS_PLATFORM_TOOLSET MATCHES "^[Ll][Ll][Vv][Mm]$")
+      set(id_cl_var "ClangClExecutable")
+    elseif(CMAKE_VS_PLATFORM_TOOLSET MATCHES "v[0-9]+_clang_.*")
       set(id_cl clang.exe)
     else()
       set(id_cl cl.exe)
@@ -268,7 +271,11 @@ Id flags: ${testflags} ${CMAKE_${lang}_COMPILER_ID_FLAGS_ALWAYS}
     set(id_dir ${CMAKE_${lang}_COMPILER_ID_DIR})
     set(id_src "${src}")
     set(id_compile "ClCompile")
-    set(id_PostBuildEvent_Command "for %%i in (${id_cl}) do %40echo CMAKE_${lang}_COMPILER=%%~$PATH:i")
+    if(id_cl_var)
+      set(id_PostBuildEvent_Command "echo CMAKE_${lang}_COMPILER=$(${id_cl_var})")
+    else()
+      set(id_PostBuildEvent_Command "for %%i in (${id_cl}) do %40echo CMAKE_${lang}_COMPILER=%%~$PATH:i")
+    endif()
     set(id_Import_props "")
     set(id_Import_targets "")
     set(id_ItemDefinitionGroup_entry "")