diff options
author | click <none@none> | 2010-08-16 12:14:10 +0200 |
---|---|---|
committer | click <none@none> | 2010-08-16 12:14:10 +0200 |
commit | 105e4e16cc1475468d51cae37aa3362b1d36f9e6 (patch) | |
tree | 34b1c882b211644f0aaee1c4dce88fc1831cf06c | |
parent | 29c2520506e12bbae669fbd190901443eca2f2a5 (diff) |
Buildsystem: Add PCH-support for targets shared, collision, authserver and worldserver (your mileage may vary, feedback needed)
- The active configuration for these to be active is GAMEPCH, so don't expect turbospeed if not enabled.
--HG--
branch : trunk
-rw-r--r-- | externals/PackageList.txt | 2 | ||||
-rw-r--r-- | src/server/authserver/CMakeLists.txt | 22 | ||||
-rw-r--r-- | src/server/collision/CMakeLists.txt | 22 | ||||
-rw-r--r-- | src/server/game/CMakeLists.txt | 21 | ||||
-rw-r--r-- | src/server/game/PrecompiledHeaders/gamePCH.h | 4 | ||||
-rw-r--r-- | src/server/scripts/CMakeLists.txt | 20 | ||||
-rw-r--r-- | src/server/shared/CMakeLists.txt | 23 | ||||
-rw-r--r-- | src/server/worldserver/CMakeLists.txt | 21 |
8 files changed, 112 insertions, 23 deletions
diff --git a/externals/PackageList.txt b/externals/PackageList.txt index 4cf05f3c6ec..bf14636223d 100644 --- a/externals/PackageList.txt +++ b/externals/PackageList.txt @@ -2,7 +2,7 @@ TrinityCore uses (parts of or in whole) the following opensource software : ACE (ADAPTIVE Communication Environment) http://www.cs.wustl.edu/~schmidt/ACE.html - Version: 5.7.9 + Version: 5.8.1 bzip2 (a freely available, patent free, high-quality data compressor) http://www.bzip.org/ diff --git a/src/server/authserver/CMakeLists.txt b/src/server/authserver/CMakeLists.txt index 17e5fd08450..d0ea82fb8a7 100644 --- a/src/server/authserver/CMakeLists.txt +++ b/src/server/authserver/CMakeLists.txt @@ -15,7 +15,19 @@ file(GLOB_RECURSE sources_realms Realms/*.cpp Realms/*.h) file(GLOB_RECURSE sources_server Server/*.cpp Server/*.h) file(GLOB sources_localdir *.cpp *.h) +if( GAMEPCH ) + include_directories(${CMAKE_CURRENT_BINARY_DIR}) +endif() + +if ( GAMEPCH AND MSVC ) + set(authserver_SRCS + PrecompiledHeaders/authPCH.cpp + PrecompiledHeaders/authPCH.h + ) +endif() + set(authserver_SRCS + ${authserver_SRCS} ${sources_authentication} ${sources_realms} ${sources_server} @@ -102,3 +114,13 @@ elseif( WIN32 ) install(TARGETS authserver DESTINATION "${CMAKE_INSTALL_PREFIX}") install(FILES authserver.conf.dist DESTINATION "${CMAKE_INSTALL_PREFIX}") endif() + +# Generate precompiled header +if( GAMEPCH ) + if(CMAKE_COMPILER_IS_GNUCXX) + add_precompiled_header(authserver ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders/authPCH.h) + elseif(MSVC) + add_native_precompiled_header(authserver ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders/authPCH) + endif() +endif() + diff --git a/src/server/collision/CMakeLists.txt b/src/server/collision/CMakeLists.txt index 18d45074e98..f5860647c55 100644 --- a/src/server/collision/CMakeLists.txt +++ b/src/server/collision/CMakeLists.txt @@ -8,12 +8,24 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +if( GAMEPCH ) + include_directories(${CMAKE_CURRENT_BINARY_DIR}) +endif() + file(GLOB_RECURSE sources_Management Management/*.cpp Management/*.h) file(GLOB_RECURSE sources_Maps Maps/*.cpp Maps/*.h) file(GLOB_RECURSE sources_Models Models/*.cpp Models/*.h) file(GLOB sources_localdir *.cpp *.h) +if( GAMEPCH AND MSVC ) + set(collision_STAT_SRCS + PrecompiledHeaders/collisionPCH.cpp + PrecompiledHeaders/collisionPCH.h + ) +endif() + set(collision_STAT_SRCS + ${collision_STAT_SRCS} ${sources_Management} ${sources_Maps} ${sources_Models} @@ -37,3 +49,13 @@ include_directories( ) add_library(collision STATIC ${collision_STAT_SRCS}) + +# Generate precompiled header +if( GAMEPCH ) + if(CMAKE_COMPILER_IS_GNUCXX) + add_precompiled_header(collision ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders/collisionPCH.h) + elseif(MSVC) + add_native_precompiled_header(collision ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders/collisionPCH) + endif() +endif() + diff --git a/src/server/game/CMakeLists.txt b/src/server/game/CMakeLists.txt index 54b9ee59215..1dde6516d98 100644 --- a/src/server/game/CMakeLists.txt +++ b/src/server/game/CMakeLists.txt @@ -49,7 +49,16 @@ file(GLOB_RECURSE sources_Weather Weather/*.cpp Weather/*.h) file(GLOB_RECURSE sources_World World/*.cpp World/*.h) # Create game-libary + +if( GAMEPCH AND MSVC ) + set(game_STAT_SRCS + PrecompiledHeaders/gamePCH.cpp + PrecompiledHeaders/gamePCH.h + ) +endif() + set(game_STAT_SRCS + ${game_STAT_SRCS} ${sources_Accounts} ${sources_Achievements} ${sources_Addons} @@ -87,14 +96,6 @@ set(game_STAT_SRCS ${sources_World} ) -if(MSVC) - set(game_STAT_SRCS - ${game_STAT_SRCS} - PrecompiledHeaders/gamePCH.cpp - PrecompiledHeaders/gamePCH.h - ) -endif() - include_directories( ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/externals/mersennetwister @@ -194,8 +195,8 @@ add_dependencies(game genrev) # Generate precompiled header if( GAMEPCH ) if(CMAKE_COMPILER_IS_GNUCXX) - add_precompiled_header(game ${CMAKE_SOURCE_DIR}/src/server/game/PrecompiledHeaders/gamePCH.h) + add_precompiled_header(game ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders/gamePCH.h) elseif(MSVC) - add_native_precompiled_header(game ${CMAKE_SOURCE_DIR}/src/server/game/PrecompiledHeaders/gamePCH) + add_native_precompiled_header(game ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders/gamePCH) endif() endif() diff --git a/src/server/game/PrecompiledHeaders/gamePCH.h b/src/server/game/PrecompiledHeaders/gamePCH.h index dd56e3fc16c..9f446a71dab 100644 --- a/src/server/game/PrecompiledHeaders/gamePCH.h +++ b/src/server/game/PrecompiledHeaders/gamePCH.h @@ -1,5 +1,7 @@ //add here most rarely modified headers to speed up debug build compilation -#include "WorldSocket.h" // must be first to make ACE happy with ACE includes in it + +#include "WorldSocket.h" // must be first to make ACE happy with ACE includes in it + #include "Common.h" #include "MapManager.h" diff --git a/src/server/scripts/CMakeLists.txt b/src/server/scripts/CMakeLists.txt index a5a36263ba2..501a4e23403 100644 --- a/src/server/scripts/CMakeLists.txt +++ b/src/server/scripts/CMakeLists.txt @@ -24,7 +24,15 @@ if( SCRIPTPCH ) ) endif() +if( SCRIPTPCH AND MSVC ) + set(scripts_STAT_SRCS + PrecompiledHeaders/ScriptPCH.cpp + PrecompiledHeaders/ScriptPCH.h + ) +endif() + set(scripts_STAT_SRCS + ${scripts_STAT_SRCS} ${scripts_easternkingdoms} ${scripts_kalimdor} ${scripts_northrend} @@ -40,14 +48,6 @@ set(scripts_STAT_SRCS ../game/AI/ScriptedAI/ScriptedSimpleAI.cpp ) -if(MSVC) - set(scripts_STAT_SRCS - ${scripts_STAT_SRCS} - PrecompiledHeaders/ScriptPCH.cpp - PrecompiledHeaders/ScriptPCH.h - ) -endif() - message("-- Added Script Library to SCRIPTS lib") include_directories( @@ -146,8 +146,8 @@ add_dependencies(scripts genrev) # Generate precompiled header if( SCRIPTPCH ) if(CMAKE_COMPILER_IS_GNUCXX) - add_precompiled_header(scripts ${CMAKE_SOURCE_DIR}/src/server/scripts/PrecompiledHeaders/ScriptPCH.h) + add_precompiled_header(scripts ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders/ScriptPCH.h) elseif(MSVC) - add_native_precompiled_header(scripts ${CMAKE_SOURCE_DIR}/src/server/scripts/PrecompiledHeaders/ScriptPCH) + add_native_precompiled_header(scripts ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders/ScriptPCH) endif() endif() diff --git a/src/server/shared/CMakeLists.txt b/src/server/shared/CMakeLists.txt index 7768d890cf5..de54145b141 100644 --- a/src/server/shared/CMakeLists.txt +++ b/src/server/shared/CMakeLists.txt @@ -8,6 +8,10 @@ # WITHOUT ANY WARRANTY, to the extent permitted by law; without even the # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +if( GAMEPCH ) + include_directories(${CMAKE_CURRENT_BINARY_DIR}) +endif() + file(GLOB_RECURSE sources_Configuration Configuration/*.cpp Configuration/*.h) file(GLOB_RECURSE sources_Cryptography Cryptography/*.cpp Cryptography/*.h) file(GLOB_RECURSE sources_Database Database/*.cpp Database/*.h) @@ -24,7 +28,15 @@ file(GLOB sources_localdir *.cpp *.h) # Build shared sourcelist # +if( GAMEPCH AND MSVC ) + set(shared_STAT_SRCS + PrecompiledHeaders/sharedPCH.cpp + PrecompiledHeaders/sharedPCH.h + ) +endif() + set(shared_STAT_SRCS + ${shared_STAT_SRCS} ${sources_Configuration} ${sources_Cryptography} ${sources_Database} @@ -62,7 +74,6 @@ include_directories( ${OPENSSL_INCLUDE_DIR} ) - add_library(shared STATIC ${shared_STAT_SRCS}) add_dependencies(shared genrev) @@ -76,3 +87,13 @@ else() ${ACE_LIBRARY} ) endif() + +# Generate precompiled header +if( GAMEPCH ) + if(CMAKE_COMPILER_IS_GNUCXX) + add_precompiled_header(shared ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders/sharedPCH.h) + elseif(MSVC) + add_native_precompiled_header(shared ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders/sharedPCH) + endif() +endif() + diff --git a/src/server/worldserver/CMakeLists.txt b/src/server/worldserver/CMakeLists.txt index e322ec31eaa..54bb72266d7 100644 --- a/src/server/worldserver/CMakeLists.txt +++ b/src/server/worldserver/CMakeLists.txt @@ -14,7 +14,19 @@ file(GLOB_RECURSE sources_TCSoap TCSoap/*.cpp TCSoap/*.h) file(GLOB_RECURSE sources_WorldThread WorldThread/*.cpp WorldThread/*.h) file(GLOB sources_localdir *.cpp *.h) +if( GAMEPCH ) + include_directories(${CMAKE_CURRENT_BINARY_DIR}) +endif() + +if ( GAMEPCH AND MSVC ) + set(worldserver_SRCS + PrecompiledHeaders/worldPCH.cpp + PrecompiledHeaders/worldPCH.h + ) +endif() + set(worldserver_SRCS + ${worldserver_SRCS} ${sources_CommandLine} ${sources_RemoteAccess} ${sources_TCSoap} @@ -206,3 +218,12 @@ elseif( WIN32 ) install(TARGETS worldserver DESTINATION "${CMAKE_INSTALL_PREFIX}") install(FILES worldserver.conf.dist DESTINATION "${CMAKE_INSTALL_PREFIX}") endif() + +# Generate precompiled header +if( GAMEPCH ) + if(CMAKE_COMPILER_IS_GNUCXX) + add_precompiled_header(worldserver ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders/worldPCH.h) + elseif(MSVC) + add_native_precompiled_header(worldserver ${CMAKE_CURRENT_SOURCE_DIR}/PrecompiledHeaders/worldPCH) + endif() +endif() |