aboutsummaryrefslogtreecommitdiff
path: root/cmake/macros
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2017-07-19 21:37:42 +0200
committerShauren <shauren.trinity@gmail.com>2017-12-13 13:41:47 +0100
commit57c13c539b91ff939bb600f6902c29f640289057 (patch)
tree062322b6bf8487b78ec3ad3ed447a238ed96070f /cmake/macros
parente19bb7a1a5e2ee7881cd9637f46e97982d5f7560 (diff)
Buildsystem: Fixed windows pch build with ninja
(cherry picked from commit a6e46c1c2ef491cd4cce39be47445e9da194e84e)
Diffstat (limited to 'cmake/macros')
-rw-r--r--cmake/macros/FindPCHSupport.cmake10
1 files changed, 9 insertions, 1 deletions
diff --git a/cmake/macros/FindPCHSupport.cmake b/cmake/macros/FindPCHSupport.cmake
index f58634bb407..3dcd81baa90 100644
--- a/cmake/macros/FindPCHSupport.cmake
+++ b/cmake/macros/FindPCHSupport.cmake
@@ -121,9 +121,17 @@ FUNCTION(ADD_CXX_PCH_MSVC TARGET_NAME_LIST PCH_HEADER PCH_SOURCE)
GET_COMMON_PCH_PARAMS("${TARGET_NAME_LIST}" ${PCH_HEADER} "pch" "/I")
FOREACH(TARGET_NAME ${TARGET_NAME_LIST})
+ SET(PCH_COMPILE_FLAGS "/FI${PCH_HEADER_NAME} /Yu${PCH_HEADER_NAME}")
+ IF (NOT ${CMAKE_MAKE_PROGRAM} MATCHES "MSBuild")
+ SET(PCH_COMPILE_FLAGS "${PCH_COMPILE_FLAGS} /Fp${PCH_HEADER_OUT}")
+ SET(TARGET_SOURCES_LIST "")
+ GET_PROPERTY(TARGET_SOURCES_LIST TARGET ${TARGET_NAME} PROPERTY SOURCES)
+ LIST(REMOVE_ITEM TARGET_SOURCES_LIST ${PCH_SOURCE})
+ SET_SOURCE_FILES_PROPERTIES(${TARGET_SOURCES_LIST} PROPERTIES OBJECT_DEPENDS "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${TARGET_NAME}.dir/${PCH_SOURCE}.obj")
+ ENDIF()
SET_TARGET_PROPERTIES(
${TARGET_NAME} PROPERTIES
- COMPILE_FLAGS "/FI${PCH_HEADER_NAME} /Yu${PCH_HEADER_NAME}"
+ COMPILE_FLAGS "${PCH_COMPILE_FLAGS}"
)
ENDFOREACH()