diff options
Diffstat (limited to 'cmake/macros/FindPCHSupport.cmake')
-rw-r--r-- | cmake/macros/FindPCHSupport.cmake | 10 |
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() |