diff options
author | Brad King <brad.king@kitware.com> | 2020-05-11 17:29:41 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2020-05-11 17:31:15 (GMT) |
commit | 6c2514dabec63929b2994b2ddd2b83cb5efa357e (patch) | |
tree | 0da7247a1c5a68139c4bb32f13cb2d5813f6839d /Modules/Platform/Windows-MSVC.cmake | |
parent | 4c82f309c59d02899145bc25c0e9efc91a6f64ed (diff) | |
download | CMake-6c2514dabec63929b2994b2ddd2b83cb5efa357e.zip CMake-6c2514dabec63929b2994b2ddd2b83cb5efa357e.tar.gz CMake-6c2514dabec63929b2994b2ddd2b83cb5efa357e.tar.bz2 |
MSVC: Use 'pragma system_header' in PCH only on cl 19.13 and above
VS 2017 15.6 introduced support for this pragma. Older MSVC versions
warn that it is unknown.
Fixes: #20692
Diffstat (limited to 'Modules/Platform/Windows-MSVC.cmake')
-rw-r--r-- | Modules/Platform/Windows-MSVC.cmake | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/Modules/Platform/Windows-MSVC.cmake b/Modules/Platform/Windows-MSVC.cmake index 34f5d03..e0f33bd 100644 --- a/Modules/Platform/Windows-MSVC.cmake +++ b/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) |