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-07-19 21:37:42 +0200
commita6e46c1c2ef491cd4cce39be47445e9da194e84e (patch)
treec646a2d886c1c38f6d0e006b99211396278adaca /cmake/macros
parent33478689bb1b8d135288fe76343c1ce16aed4bea (diff)
Buildsystem: Fixed windows pch build with ninja
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()