aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <none@none>2010-06-30 13:10:13 +0200
committerShauren <none@none>2010-06-30 13:10:13 +0200
commit2ea043484d3efadf955c30d1d7fb10894ee465b7 (patch)
tree07437eb5803a509d8f9391b2d351b6ec0bd7320a /src
parentb0d5071598a7a3bd329f1f107725c1d56d100e1e (diff)
It is now possible to use CMake on windows for proper build (PCH support included)
Merged PCH header into gamePCH since they became the same after these changes --HG-- branch : trunk rename : src/server/game/PrecompiledHeaders/NixCorePCH.cpp => src/server/game/PrecompiledHeaders/gamePCH.cpp rename : src/server/game/PrecompiledHeaders/NixCorePCH.h => src/server/game/PrecompiledHeaders/gamePCH.h
Diffstat (limited to 'src')
-rw-r--r--src/server/authserver/CMakeLists.txt18
-rw-r--r--src/server/game/CMakeLists.txt17
-rw-r--r--src/server/game/PrecompiledHeaders/NixCorePCH.cpp1
-rw-r--r--src/server/game/PrecompiledHeaders/WinCorePCH.cpp1
-rw-r--r--src/server/game/PrecompiledHeaders/WinCorePCH.h14
-rw-r--r--src/server/game/PrecompiledHeaders/gamePCH.cpp1
-rw-r--r--src/server/game/PrecompiledHeaders/gamePCH.h (renamed from src/server/game/PrecompiledHeaders/NixCorePCH.h)0
-rw-r--r--src/server/scripts/CMakeLists.txt21
-rw-r--r--src/server/shared/CMakeLists.txt16
-rw-r--r--src/server/worldserver/CMakeLists.txt10
10 files changed, 66 insertions, 33 deletions
diff --git a/src/server/authserver/CMakeLists.txt b/src/server/authserver/CMakeLists.txt
index e498673bf3a..956010da987 100644
--- a/src/server/authserver/CMakeLists.txt
+++ b/src/server/authserver/CMakeLists.txt
@@ -44,7 +44,9 @@ add_executable(authserver
add_dependencies(authserver revision.h)
-add_definitions(-D_TRINITY_REALM_CONFIG='"${CONF_DIR}/authserver.conf"')
+if(NOT WIN32)
+ add_definitions(-D_TRINITY_REALM_CONFIG='"${CONF_DIR}/authserver.conf"')
+endif()
set(authserver_LINK_FLAGS "-pthread ${authserver_LINK_FLAGS}")
@@ -54,6 +56,18 @@ endif()
set_target_properties(authserver PROPERTIES LINK_FLAGS "${authserver_LINK_FLAGS}")
+if(WIN32)
+target_link_libraries(
+ authserver
+ shared
+ trinitydatabase
+ trinityauth
+ trinityconfig
+ ${MYSQL_LIBRARY}
+ ${OPENSSL_LIBRARIES}
+ ${OPENSSL_EXTRA_LIBRARIES}
+)
+else()
target_link_libraries(
authserver
shared
@@ -64,7 +78,7 @@ target_link_libraries(
${OPENSSL_LIBRARIES}
${OSX_LIBS}
)
-
+endif()
########### install files ###############
install(TARGETS authserver DESTINATION bin)
diff --git a/src/server/game/CMakeLists.txt b/src/server/game/CMakeLists.txt
index d2aa20fc6cc..f27d4df7d50 100644
--- a/src/server/game/CMakeLists.txt
+++ b/src/server/game/CMakeLists.txt
@@ -11,7 +11,7 @@
######## game ########
# Enable precompiled headers when using the GCC compiler.
-if(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX)
+if(DO_PCH)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
endif()
@@ -279,11 +279,22 @@ if(NOT DO_SCRIPTS)
message("-- Added basic scriptAI-engines to GAME library")
endif()
+# Add gamePCH.cpp to project on Windows
+if(MSVC)
+ set(game_STAT_SRCS
+ PrecompiledHeaders/gamePCH.cpp
+ ${game_STAT_SRCS})
+endif()
+
add_library(game STATIC ${game_STAT_SRCS})
add_dependencies(game revision.h)
# Generate precompiled header
-if(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX)
- add_precompiled_header(game ${CMAKE_SOURCE_DIR}/src/server/game/PrecompiledHeaders/NixCorePCH.h)
+if(DO_PCH)
+ if(CMAKE_COMPILER_IS_GNUCXX)
+ add_precompiled_header(game ${CMAKE_SOURCE_DIR}/src/server/game/PrecompiledHeaders/gamePCH.h)
+ elseif(MSVC)
+ add_native_precompiled_header(game ${CMAKE_SOURCE_DIR}/src/server/game/PrecompiledHeaders/gamePCH)
+ endif()
endif()
diff --git a/src/server/game/PrecompiledHeaders/NixCorePCH.cpp b/src/server/game/PrecompiledHeaders/NixCorePCH.cpp
deleted file mode 100644
index e3b0613cafd..00000000000
--- a/src/server/game/PrecompiledHeaders/NixCorePCH.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "NixCorePCH.h"
diff --git a/src/server/game/PrecompiledHeaders/WinCorePCH.cpp b/src/server/game/PrecompiledHeaders/WinCorePCH.cpp
deleted file mode 100644
index 240d73fa2c5..00000000000
--- a/src/server/game/PrecompiledHeaders/WinCorePCH.cpp
+++ /dev/null
@@ -1 +0,0 @@
-#include "WinCorePCH.h"
diff --git a/src/server/game/PrecompiledHeaders/WinCorePCH.h b/src/server/game/PrecompiledHeaders/WinCorePCH.h
deleted file mode 100644
index e94a664b155..00000000000
--- a/src/server/game/PrecompiledHeaders/WinCorePCH.h
+++ /dev/null
@@ -1,14 +0,0 @@
-//add here most rarely modified headers to speed up debug build compilation
-#include "..\Server\WorldSocket.h" // must be first to make ACE happy with ACE includes in it
-#include "..\..\shared\Common.h"
-
-#include "..\Maps\MapManager.h"
-#include "..\..\shared\Logging\Log.h"
-#include "..\Globals\ObjectAccessor.h"
-#include "..\Entities\Object\ObjectDefines.h"
-#include "..\..\shared\Database/SQLStorage.h"
-#include "..\Protocol\Opcodes.h"
-#include "..\Miscellaneous\SharedDefines.h"
-#include "..\Globals\ObjectMgr.h"
-
-#include "ScriptPCH.h" \ No newline at end of file
diff --git a/src/server/game/PrecompiledHeaders/gamePCH.cpp b/src/server/game/PrecompiledHeaders/gamePCH.cpp
new file mode 100644
index 00000000000..11e501ec7f2
--- /dev/null
+++ b/src/server/game/PrecompiledHeaders/gamePCH.cpp
@@ -0,0 +1 @@
+#include "gamePCH.h"
diff --git a/src/server/game/PrecompiledHeaders/NixCorePCH.h b/src/server/game/PrecompiledHeaders/gamePCH.h
index dd56e3fc16c..dd56e3fc16c 100644
--- a/src/server/game/PrecompiledHeaders/NixCorePCH.h
+++ b/src/server/game/PrecompiledHeaders/gamePCH.h
diff --git a/src/server/scripts/CMakeLists.txt b/src/server/scripts/CMakeLists.txt
index 151e843fa96..1c55955c777 100644
--- a/src/server/scripts/CMakeLists.txt
+++ b/src/server/scripts/CMakeLists.txt
@@ -16,15 +16,13 @@ file(GLOB_RECURSE scripts_world World/*.cpp)
file(GLOB_RECURSE scripts_examples Examples/*.cpp)
# Enable precompiled headers when using the GCC compiler.
-if(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX)
+if(DO_PCH)
include_directories(
${CMAKE_CURRENT_BINARY_DIR}
)
endif()
set(scripts_STAT_SRCS
- ../game/PrecompiledHeaders/ScriptPCH.cpp
- ../game/PrecompiledHeaders/ScriptPCH.h
../game/AI/ScriptedAI/ScriptedEscortAI.cpp
../game/AI/ScriptedAI/ScriptedCreature.cpp
../game/AI/ScriptedAI/ScriptedFollowerAI.cpp
@@ -125,11 +123,20 @@ include_directories(
${MYSQL_INCLUDE_DIR}
)
+# Add ScriptPCH.cpp to project on Windows
+if(MSVC)
+set(scripts_STAT_SRCS
+ ../game/PrecompiledHeaders/ScriptPCH.cpp
+ ${scripts_STAT_SRCS})
+endif()
+
add_library(scripts STATIC ${scripts_STAT_SRCS})
# Generate precompiled header
-if(DO_PCH AND CMAKE_COMPILER_IS_GNUCXX)
- add_precompiled_header(scripts
- ${CMAKE_SOURCE_DIR}/src/server/game/PrecompiledHeaders/ScriptPCH.h
- )
+if(DO_PCH)
+ if(CMAKE_COMPILER_IS_GNUCXX)
+ add_precompiled_header(scripts ${CMAKE_SOURCE_DIR}/src/server/game/PrecompiledHeaders/ScriptPCH.h)
+ elseif(MSVC)
+ add_native_precompiled_header(scripts ${CMAKE_SOURCE_DIR}/src/server/game/PrecompiledHeaders/ScriptPCH)
+ endif()
endif()
diff --git a/src/server/shared/CMakeLists.txt b/src/server/shared/CMakeLists.txt
index b3ededd8c62..2c474e61693 100644
--- a/src/server/shared/CMakeLists.txt
+++ b/src/server/shared/CMakeLists.txt
@@ -20,6 +20,15 @@ set(shared_STAT_SRCS
Common.cpp
)
+# Windows specific files
+if(WIN32)
+ set(shared_STAT_SRCS
+ ${shared_STAT_SRCS}
+ Debugging/WheatyExceptionReport.cpp
+ Utilities/ServiceWin32.cpp
+ )
+endif()
+
include_directories(
${ACE_INCLUDE_DIR}
${CMAKE_BINARY_DIR}
@@ -43,10 +52,17 @@ include_directories(
add_library(shared STATIC ${shared_STAT_SRCS})
+if(WIN32)
+target_link_libraries(
+ shared
+ ace
+)
+else()
target_link_libraries(
shared
${ACE_LIBRARY}
)
+endif()
########### trinityconfig ###############
diff --git a/src/server/worldserver/CMakeLists.txt b/src/server/worldserver/CMakeLists.txt
index 83fb4283877..823cc720e56 100644
--- a/src/server/worldserver/CMakeLists.txt
+++ b/src/server/worldserver/CMakeLists.txt
@@ -118,9 +118,9 @@ include_directories(
set(worldserver_LINK_FLAGS "")
add_executable(worldserver ${worldserver_SRCS})
-add_definitions(
- -D_TRINITY_CORE_CONFIG='"${CONF_DIR}/worldserver.conf"'
-)
+if(NOT WIN32)
+ add_definitions(-D_TRINITY_CORE_CONFIG='"${CONF_DIR}/worldserver.conf"')
+endif()
add_dependencies(worldserver revision.h)
@@ -152,11 +152,11 @@ if(WIN32)
trinityconfig
collision
g3dlib
- jemalloc
${SCRIPT_LIB}
- ${ACE_LIBRARY}
+ ace
${MYSQL_LIBRARY}
${OPENSSL_LIBRARIES}
+ ${OPENSSL_EXTRA_LIBRARIES}
)
else()
target_link_libraries(