summaryrefslogtreecommitdiffstats
path: root/Modules/Compiler
diff options
context:
space:
mode:
authorCristian Adam <cristian.adam@qt.io>2020-09-04 17:23:17 (GMT)
committerCristian Adam <cristian.adam@qt.io>2020-09-04 17:23:17 (GMT)
commit8d61294c3e127ceb6284fccb9cdc60287889fd1f (patch)
treed3b02375c124606a65f7be73e503076cb90b0ad7 /Modules/Compiler
parentfff360c60c7e428054306fc0f02126ac7fd34410 (diff)
downloadCMake-8d61294c3e127ceb6284fccb9cdc60287889fd1f.zip
CMake-8d61294c3e127ceb6284fccb9cdc60287889fd1f.tar.gz
CMake-8d61294c3e127ceb6284fccb9cdc60287889fd1f.tar.bz2
PCH: Mark CMake PCH source files as -x <lang>-header
Fixes: #21163
Diffstat (limited to 'Modules/Compiler')
-rw-r--r--Modules/Compiler/Clang.cmake7
1 files changed, 6 insertions, 1 deletions
diff --git a/Modules/Compiler/Clang.cmake b/Modules/Compiler/Clang.cmake
index 52d5350..f7858d7 100644
--- a/Modules/Compiler/Clang.cmake
+++ b/Modules/Compiler/Clang.cmake
@@ -10,6 +10,11 @@ set(__COMPILER_CLANG 1)
include(Compiler/CMakeCommonCompilerMacros)
+set(__pch_header_C "c-header")
+set(__pch_header_CXX "c++-header")
+set(__pch_header_OBJC "objective-c-header")
+set(__pch_header_OBJCXX "objective-c++-header")
+
if("x${CMAKE_C_SIMULATE_ID}" STREQUAL "xMSVC"
OR "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC"
OR "x${CMAKE_Fortran_SIMULATE_ID}" STREQUAL "xMSVC")
@@ -102,7 +107,7 @@ else()
set(CMAKE_PCH_PROLOGUE "#pragma clang system_header")
endif()
set(CMAKE_${lang}_COMPILE_OPTIONS_USE_PCH -Xclang -include-pch -Xclang <PCH_FILE> -Xclang -include -Xclang <PCH_HEADER>)
- set(CMAKE_${lang}_COMPILE_OPTIONS_CREATE_PCH -Xclang -emit-pch -Xclang -include -Xclang <PCH_HEADER>)
+ set(CMAKE_${lang}_COMPILE_OPTIONS_CREATE_PCH -Xclang -emit-pch -Xclang -include -Xclang <PCH_HEADER> -x ${__pch_header_${lang}})
endmacro()
endif()