aboutsummaryrefslogtreecommitdiff
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
parent33478689bb1b8d135288fe76343c1ce16aed4bea (diff)
Buildsystem: Fixed windows pch build with ninja
-rw-r--r--.gitignore1
-rw-r--r--cmake/macros/FindPCHSupport.cmake10
-rw-r--r--src/server/bnetserver/CMakeLists.txt2
-rw-r--r--src/server/database/PrecompiledHeaders/databasePCH.cpp2
-rw-r--r--src/server/worldserver/CMakeLists.txt2
5 files changed, 13 insertions, 4 deletions
diff --git a/.gitignore b/.gitignore
index 2692f20cc01..9ef72e70bf3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,3 +21,4 @@ nbproject/*
.browse.VC*
.vscode
cmake-build-*/
+.vs
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()
diff --git a/src/server/bnetserver/CMakeLists.txt b/src/server/bnetserver/CMakeLists.txt
index 0520bc9dca5..238f6bcaab6 100644
--- a/src/server/bnetserver/CMakeLists.txt
+++ b/src/server/bnetserver/CMakeLists.txt
@@ -65,7 +65,7 @@ set_target_properties(bnetserver
"server")
if (WIN32)
- if (MSVC)
+ if ("${CMAKE_MAKE_PROGRAM}" MATCHES "MSBuild")
add_custom_command(TARGET bnetserver
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/bnetserver.conf.dist ${CMAKE_BINARY_DIR}/bin/$(ConfigurationName)/
diff --git a/src/server/database/PrecompiledHeaders/databasePCH.cpp b/src/server/database/PrecompiledHeaders/databasePCH.cpp
index f84a52be82a..df8f31c3052 100644
--- a/src/server/database/PrecompiledHeaders/databasePCH.cpp
+++ b/src/server/database/PrecompiledHeaders/databasePCH.cpp
@@ -1 +1 @@
-#include "PrecompiledHeaders/databasePCH.h"
+#include "databasePCH.h"
diff --git a/src/server/worldserver/CMakeLists.txt b/src/server/worldserver/CMakeLists.txt
index ad9ab568185..264c14178cd 100644
--- a/src/server/worldserver/CMakeLists.txt
+++ b/src/server/worldserver/CMakeLists.txt
@@ -76,7 +76,7 @@ if (WORLDSERVER_DYNAMIC_SCRIPT_MODULES_DEPENDENCIES)
endif()
if( WIN32 )
- if ( MSVC )
+ if ( "${CMAKE_MAKE_PROGRAM}" MATCHES "MSBuild" )
add_custom_command(TARGET worldserver
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/worldserver.conf.dist ${CMAKE_BINARY_DIR}/bin/$(ConfigurationName)/