Browse Source

Merge topic 'pch-msvc-pragma' into release-3.17

6c2514dabe MSVC: Use 'pragma system_header' in PCH only on cl 19.13 and above

Acked-by: Kitware Robot <[email protected]>
Merge-request: !4736
Brad King 5 years ago
parent
commit
91dd23d3d5
1 changed files with 5 additions and 7 deletions
  1. 5 7
      Modules/Platform/Windows-MSVC.cmake

+ 5 - 7
Modules/Platform/Windows-MSVC.cmake

@@ -331,13 +331,11 @@ macro(__windows_compiler_msvc lang)
 
   set(CMAKE_PCH_EXTENSION .pch)
   set(CMAKE_LINK_PCH ON)
-  if(MSVC_VERSION GREATER_EQUAL 1910)
-    # VS 2017 or greater
-    if (NOT ${CMAKE_${lang}_COMPILER_ID} STREQUAL "Clang")
-        set(CMAKE_PCH_PROLOGUE "#pragma system_header")
-    else()
-        set(CMAKE_PCH_PROLOGUE "#pragma clang system_header")
-    endif()
+  if (CMAKE_${lang}_COMPILER_ID STREQUAL "Clang")
+    set(CMAKE_PCH_PROLOGUE "#pragma clang system_header")
+  elseif(MSVC_VERSION GREATER_EQUAL 1913)
+    # At least MSVC toolet 14.13 from VS 2017 15.6
+    set(CMAKE_PCH_PROLOGUE "#pragma system_header")
   endif()
   if (NOT ${CMAKE_${lang}_COMPILER_ID} STREQUAL "Clang")
     set(CMAKE_PCH_COPY_COMPILE_PDB ON)