diff --git a/CMakeLists.txt b/CMakeLists.txt index 2630ef17da7..11444f93229 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -60,7 +60,6 @@ find_package(OpenSSL REQUIRED) find_package(Threads REQUIRED) include(ConfigureBoost) -find_package(MySQL REQUIRED) if( UNIX ) find_package(Readline) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e6d31ebbaef..a2c50828d37 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -9,7 +9,11 @@ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. add_subdirectory(genrev) -add_subdirectory(server) +add_subdirectory(common) + +if(SERVERS) + add_subdirectory(server) +endif(SERVERS) if(TOOLS) add_subdirectory(tools) diff --git a/src/server/collision/CMakeLists.txt b/src/common/CMakeLists.txt similarity index 59% rename from src/server/collision/CMakeLists.txt rename to src/common/CMakeLists.txt index f394fe791be..0c97fc35fcc 100644 --- a/src/server/collision/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -12,41 +12,48 @@ if( USE_COREPCH ) 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_RECURSE sources_Common Common.cpp Common.h) +file(GLOB_RECURSE sources_Collision Collision/*.cpp Collision/*.h) +file(GLOB_RECURSE sources_Threading Threading/*.cpp Threading/*.h) +file(GLOB_RECURSE sources_Threading Utilities/*.cpp Utilities/*.h) +file(GLOB_RECURSE sources_Configuration Configuration/*.cpp Configuration/*.h) +file(GLOB_RECURSE sources_Logging Logging/*.cpp Logging/*.h) + +# Manually set sources for Debugging directory as we don't want to include WheatyExceptionReport in common project +# It needs to be included both in authserver and worldserver for the static global variable to be properly initialized +# and to handle crash logs on windows +set(sources_Debugging Debugging/Errors.cpp Debugging/Errors.h) file(GLOB sources_localdir *.cpp *.h) if (USE_COREPCH) - set(collision_STAT_PCH_HDR PrecompiledHeaders/collisionPCH.h) - set(collision_STAT_PCH_SRC PrecompiledHeaders/collisionPCH.cpp) + set(common_STAT_PCH_HDR PrecompiledHeaders/commonPCH.h) + set(common_STAT_PCH_SRC PrecompiledHeaders/commonPCH.cpp) endif () -set(collision_STAT_SRCS - ${collision_STAT_SRCS} - ${sources_Management} - ${sources_Maps} - ${sources_Models} - ${sources_localdir} +set(common_STAT_SRCS + ${common_STAT_SRCS} + ${sources_Common} + ${sources_Collision} + ${sources_Threading} + ${sources_Debugging} + ${sources_Configuration} + ${sources_Logging} ) include_directories( ${CMAKE_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/dep/utf8cpp + ${CMAKE_SOURCE_DIR}/dep/SFMT ${CMAKE_SOURCE_DIR}/dep/g3dlite/include ${CMAKE_SOURCE_DIR}/dep/recastnavigation/Detour ${CMAKE_SOURCE_DIR}/dep/recastnavigation/Detour/Include ${CMAKE_SOURCE_DIR}/dep/cppformat + ${CMAKE_SOURCE_DIR}/src/server/database + ${CMAKE_SOURCE_DIR}/src/server/database/Database ${CMAKE_SOURCE_DIR}/src/server/shared - ${CMAKE_SOURCE_DIR}/src/server/shared/Configuration - ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging - ${CMAKE_SOURCE_DIR}/src/server/shared/Database - ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging ${CMAKE_SOURCE_DIR}/src/server/shared/Dynamic ${CMAKE_SOURCE_DIR}/src/server/shared/Dynamic/LinkedReference - ${CMAKE_SOURCE_DIR}/src/server/shared/Logging - ${CMAKE_SOURCE_DIR}/src/server/shared/Threading ${CMAKE_SOURCE_DIR}/src/server/shared/Packets - ${CMAKE_SOURCE_DIR}/src/server/shared/Utilities ${CMAKE_SOURCE_DIR}/src/server/shared/DataStores ${CMAKE_SOURCE_DIR}/src/server/game/Addons ${CMAKE_SOURCE_DIR}/src/server/game/Conditions @@ -73,25 +80,26 @@ include_directories( ${CMAKE_SOURCE_DIR}/src/server/game/Spells ${CMAKE_SOURCE_DIR}/src/server/game/Spells/Auras ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/Management - ${CMAKE_CURRENT_SOURCE_DIR}/Maps - ${CMAKE_CURRENT_SOURCE_DIR}/Models - ${MYSQL_INCLUDE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/Threading + ${CMAKE_CURRENT_SOURCE_DIR}/Debugging + ${CMAKE_CURRENT_SOURCE_DIR}/Collision + ${CMAKE_CURRENT_SOURCE_DIR}/Collision/Management + ${CMAKE_CURRENT_SOURCE_DIR}/Collision/Maps + ${CMAKE_CURRENT_SOURCE_DIR}/Collision/Models + ${CMAKE_CURRENT_SOURCE_DIR}/Utilities + ${CMAKE_CURRENT_SOURCE_DIR}/Configuration + ${CMAKE_CURRENT_SOURCE_DIR}/Logging ${VALGRIND_INCLUDE_DIR} ) GroupSources(${CMAKE_CURRENT_SOURCE_DIR}) -add_library(collision STATIC - ${collision_STAT_SRCS} - ${collision_STAT_PCH_SRC} -) - -target_link_libraries(collision - shared +add_library(common STATIC + ${common_STAT_SRCS} + ${common_STAT_PCH_SRC} ) # Generate precompiled header if (USE_COREPCH) - add_cxx_pch(collision ${collision_STAT_PCH_HDR} ${collision_STAT_PCH_SRC}) + add_cxx_pch(common ${common_STAT_PCH_HDR} ${common_STAT_PCH_SRC}) endif () diff --git a/src/server/collision/BoundingIntervalHierarchy.cpp b/src/common/Collision/BoundingIntervalHierarchy.cpp similarity index 100% rename from src/server/collision/BoundingIntervalHierarchy.cpp rename to src/common/Collision/BoundingIntervalHierarchy.cpp diff --git a/src/server/collision/BoundingIntervalHierarchy.h b/src/common/Collision/BoundingIntervalHierarchy.h similarity index 100% rename from src/server/collision/BoundingIntervalHierarchy.h rename to src/common/Collision/BoundingIntervalHierarchy.h diff --git a/src/server/collision/BoundingIntervalHierarchyWrapper.h b/src/common/Collision/BoundingIntervalHierarchyWrapper.h similarity index 100% rename from src/server/collision/BoundingIntervalHierarchyWrapper.h rename to src/common/Collision/BoundingIntervalHierarchyWrapper.h diff --git a/src/server/collision/DynamicTree.cpp b/src/common/Collision/DynamicTree.cpp similarity index 100% rename from src/server/collision/DynamicTree.cpp rename to src/common/Collision/DynamicTree.cpp diff --git a/src/server/collision/DynamicTree.h b/src/common/Collision/DynamicTree.h similarity index 100% rename from src/server/collision/DynamicTree.h rename to src/common/Collision/DynamicTree.h diff --git a/src/server/collision/Management/IVMapManager.h b/src/common/Collision/Management/IVMapManager.h similarity index 100% rename from src/server/collision/Management/IVMapManager.h rename to src/common/Collision/Management/IVMapManager.h diff --git a/src/server/collision/Management/MMapFactory.cpp b/src/common/Collision/Management/MMapFactory.cpp similarity index 100% rename from src/server/collision/Management/MMapFactory.cpp rename to src/common/Collision/Management/MMapFactory.cpp diff --git a/src/server/collision/Management/MMapFactory.h b/src/common/Collision/Management/MMapFactory.h similarity index 100% rename from src/server/collision/Management/MMapFactory.h rename to src/common/Collision/Management/MMapFactory.h diff --git a/src/server/collision/Management/MMapManager.cpp b/src/common/Collision/Management/MMapManager.cpp similarity index 95% rename from src/server/collision/Management/MMapManager.cpp rename to src/common/Collision/Management/MMapManager.cpp index b71b94e3291..c93d4e0e751 100644 --- a/src/server/collision/Management/MMapManager.cpp +++ b/src/common/Collision/Management/MMapManager.cpp @@ -18,7 +18,8 @@ #include "MMapManager.h" #include "Log.h" -#include "World.h" +#include "Config.h" +#include "SharedDefines.h" namespace MMAP { @@ -69,9 +70,10 @@ namespace MMAP } // load and init dtNavMesh - read parameters from file - uint32 pathLen = sWorld->GetDataPath().length() + strlen("mmaps/%03i.mmap")+1; + std::string dataDir = sConfigMgr->GetStringDefault("DataDir", "./"); + uint32 pathLen = dataDir.length() + strlen("/mmaps/%03i.mmap") + 1; char *fileName = new char[pathLen]; - snprintf(fileName, pathLen, (sWorld->GetDataPath()+"mmaps/%03i.mmap").c_str(), mapId); + snprintf(fileName, pathLen, (dataDir + "/mmaps/%03i.mmap").c_str(), mapId); FILE* file = fopen(fileName, "rb"); if (!file) @@ -118,7 +120,7 @@ namespace MMAP return uint32(x << 16 | y); } - bool MMapManager::loadMap(const std::string& /*basePath*/, uint32 mapId, int32 x, int32 y) + bool MMapManager::loadMap(const std::string& basePath, uint32 mapId, int32 x, int32 y) { // make sure the mmap is loaded and ready to load tiles if (!loadMapData(mapId)) @@ -134,10 +136,10 @@ namespace MMAP return false; // load this tile :: mmaps/MMMXXYY.mmtile - uint32 pathLen = sWorld->GetDataPath().length() + strlen("mmaps/%03i%02i%02i.mmtile")+1; + uint32 pathLen = basePath.length() + strlen("/%03i%02i%02i.mmtile") + 1; char *fileName = new char[pathLen]; - snprintf(fileName, pathLen, (sWorld->GetDataPath()+"mmaps/%03i%02i%02i.mmtile").c_str(), mapId, x, y); + snprintf(fileName, pathLen, (basePath + "/%03i%02i%02i.mmtile").c_str(), mapId, x, y); FILE* file = fopen(fileName, "rb"); if (!file) diff --git a/src/server/collision/Management/MMapManager.h b/src/common/Collision/Management/MMapManager.h similarity index 100% rename from src/server/collision/Management/MMapManager.h rename to src/common/Collision/Management/MMapManager.h diff --git a/src/server/collision/Management/VMapFactory.cpp b/src/common/Collision/Management/VMapFactory.cpp similarity index 100% rename from src/server/collision/Management/VMapFactory.cpp rename to src/common/Collision/Management/VMapFactory.cpp diff --git a/src/server/collision/Management/VMapFactory.h b/src/common/Collision/Management/VMapFactory.h similarity index 100% rename from src/server/collision/Management/VMapFactory.h rename to src/common/Collision/Management/VMapFactory.h diff --git a/src/server/collision/Management/VMapManager2.cpp b/src/common/Collision/Management/VMapManager2.cpp similarity index 100% rename from src/server/collision/Management/VMapManager2.cpp rename to src/common/Collision/Management/VMapManager2.cpp diff --git a/src/server/collision/Management/VMapManager2.h b/src/common/Collision/Management/VMapManager2.h similarity index 100% rename from src/server/collision/Management/VMapManager2.h rename to src/common/Collision/Management/VMapManager2.h diff --git a/src/server/collision/Maps/MapTree.cpp b/src/common/Collision/Maps/MapTree.cpp similarity index 100% rename from src/server/collision/Maps/MapTree.cpp rename to src/common/Collision/Maps/MapTree.cpp diff --git a/src/server/collision/Maps/MapTree.h b/src/common/Collision/Maps/MapTree.h similarity index 100% rename from src/server/collision/Maps/MapTree.h rename to src/common/Collision/Maps/MapTree.h diff --git a/src/server/collision/Maps/TileAssembler.cpp b/src/common/Collision/Maps/TileAssembler.cpp similarity index 100% rename from src/server/collision/Maps/TileAssembler.cpp rename to src/common/Collision/Maps/TileAssembler.cpp diff --git a/src/server/collision/Maps/TileAssembler.h b/src/common/Collision/Maps/TileAssembler.h similarity index 100% rename from src/server/collision/Maps/TileAssembler.h rename to src/common/Collision/Maps/TileAssembler.h diff --git a/src/server/collision/Models/GameObjectModel.cpp b/src/common/Collision/Models/GameObjectModel.cpp similarity index 100% rename from src/server/collision/Models/GameObjectModel.cpp rename to src/common/Collision/Models/GameObjectModel.cpp diff --git a/src/server/collision/Models/GameObjectModel.h b/src/common/Collision/Models/GameObjectModel.h similarity index 100% rename from src/server/collision/Models/GameObjectModel.h rename to src/common/Collision/Models/GameObjectModel.h diff --git a/src/server/collision/Models/ModelInstance.cpp b/src/common/Collision/Models/ModelInstance.cpp similarity index 100% rename from src/server/collision/Models/ModelInstance.cpp rename to src/common/Collision/Models/ModelInstance.cpp diff --git a/src/server/collision/Models/ModelInstance.h b/src/common/Collision/Models/ModelInstance.h similarity index 100% rename from src/server/collision/Models/ModelInstance.h rename to src/common/Collision/Models/ModelInstance.h diff --git a/src/server/collision/Models/WorldModel.cpp b/src/common/Collision/Models/WorldModel.cpp similarity index 100% rename from src/server/collision/Models/WorldModel.cpp rename to src/common/Collision/Models/WorldModel.cpp diff --git a/src/server/collision/Models/WorldModel.h b/src/common/Collision/Models/WorldModel.h similarity index 100% rename from src/server/collision/Models/WorldModel.h rename to src/common/Collision/Models/WorldModel.h diff --git a/src/server/collision/RegularGrid.h b/src/common/Collision/RegularGrid.h similarity index 100% rename from src/server/collision/RegularGrid.h rename to src/common/Collision/RegularGrid.h diff --git a/src/server/collision/VMapDefinitions.h b/src/common/Collision/VMapDefinitions.h similarity index 100% rename from src/server/collision/VMapDefinitions.h rename to src/common/Collision/VMapDefinitions.h diff --git a/src/server/collision/VMapTools.h b/src/common/Collision/VMapTools.h similarity index 99% rename from src/server/collision/VMapTools.h rename to src/common/Collision/VMapTools.h index fa7bc394ebc..662dc43e9e7 100644 --- a/src/server/collision/VMapTools.h +++ b/src/common/Collision/VMapTools.h @@ -22,8 +22,6 @@ #include #include -#include "NodeValueAccess.h" - /** The Class is mainly taken from G3D/AABSPTree.h but modified to be able to use our internal data structure. This is an iterator that helps us analysing the BSP-Trees. diff --git a/src/server/shared/Common.cpp b/src/common/Common.cpp similarity index 100% rename from src/server/shared/Common.cpp rename to src/common/Common.cpp diff --git a/src/server/shared/Common.h b/src/common/Common.h similarity index 100% rename from src/server/shared/Common.h rename to src/common/Common.h diff --git a/src/server/shared/CompilerDefs.h b/src/common/CompilerDefs.h similarity index 100% rename from src/server/shared/CompilerDefs.h rename to src/common/CompilerDefs.h diff --git a/src/server/shared/Configuration/Config.cpp b/src/common/Configuration/Config.cpp similarity index 100% rename from src/server/shared/Configuration/Config.cpp rename to src/common/Configuration/Config.cpp diff --git a/src/server/shared/Configuration/Config.h b/src/common/Configuration/Config.h similarity index 100% rename from src/server/shared/Configuration/Config.h rename to src/common/Configuration/Config.h diff --git a/src/server/shared/Debugging/Errors.cpp b/src/common/Debugging/Errors.cpp similarity index 100% rename from src/server/shared/Debugging/Errors.cpp rename to src/common/Debugging/Errors.cpp diff --git a/src/server/shared/Debugging/Errors.h b/src/common/Debugging/Errors.h similarity index 100% rename from src/server/shared/Debugging/Errors.h rename to src/common/Debugging/Errors.h diff --git a/src/server/shared/Debugging/WheatyExceptionReport.cpp b/src/common/Debugging/WheatyExceptionReport.cpp similarity index 100% rename from src/server/shared/Debugging/WheatyExceptionReport.cpp rename to src/common/Debugging/WheatyExceptionReport.cpp diff --git a/src/server/shared/Debugging/WheatyExceptionReport.h b/src/common/Debugging/WheatyExceptionReport.h similarity index 100% rename from src/server/shared/Debugging/WheatyExceptionReport.h rename to src/common/Debugging/WheatyExceptionReport.h diff --git a/src/server/shared/Define.h b/src/common/Define.h similarity index 100% rename from src/server/shared/Define.h rename to src/common/Define.h diff --git a/src/server/shared/Logging/Appender.cpp b/src/common/Logging/Appender.cpp similarity index 100% rename from src/server/shared/Logging/Appender.cpp rename to src/common/Logging/Appender.cpp diff --git a/src/server/shared/Logging/Appender.h b/src/common/Logging/Appender.h similarity index 100% rename from src/server/shared/Logging/Appender.h rename to src/common/Logging/Appender.h diff --git a/src/server/shared/Logging/AppenderConsole.cpp b/src/common/Logging/AppenderConsole.cpp similarity index 100% rename from src/server/shared/Logging/AppenderConsole.cpp rename to src/common/Logging/AppenderConsole.cpp diff --git a/src/server/shared/Logging/AppenderConsole.h b/src/common/Logging/AppenderConsole.h similarity index 100% rename from src/server/shared/Logging/AppenderConsole.h rename to src/common/Logging/AppenderConsole.h diff --git a/src/server/shared/Logging/AppenderFile.cpp b/src/common/Logging/AppenderFile.cpp similarity index 100% rename from src/server/shared/Logging/AppenderFile.cpp rename to src/common/Logging/AppenderFile.cpp diff --git a/src/server/shared/Logging/AppenderFile.h b/src/common/Logging/AppenderFile.h similarity index 100% rename from src/server/shared/Logging/AppenderFile.h rename to src/common/Logging/AppenderFile.h diff --git a/src/server/shared/Logging/Log.cpp b/src/common/Logging/Log.cpp similarity index 99% rename from src/server/shared/Logging/Log.cpp rename to src/common/Logging/Log.cpp index 5075815ad54..93b7b9d122e 100644 --- a/src/server/shared/Logging/Log.cpp +++ b/src/common/Logging/Log.cpp @@ -22,7 +22,6 @@ #include "Util.h" #include "AppenderConsole.h" #include "AppenderFile.h" -#include "AppenderDB.h" #include "LogOperation.h" #include diff --git a/src/server/shared/Logging/Log.h b/src/common/Logging/Log.h similarity index 100% rename from src/server/shared/Logging/Log.h rename to src/common/Logging/Log.h diff --git a/src/server/shared/Logging/LogOperation.cpp b/src/common/Logging/LogOperation.cpp similarity index 100% rename from src/server/shared/Logging/LogOperation.cpp rename to src/common/Logging/LogOperation.cpp diff --git a/src/server/shared/Logging/LogOperation.h b/src/common/Logging/LogOperation.h similarity index 100% rename from src/server/shared/Logging/LogOperation.h rename to src/common/Logging/LogOperation.h diff --git a/src/server/shared/Logging/Logger.cpp b/src/common/Logging/Logger.cpp similarity index 100% rename from src/server/shared/Logging/Logger.cpp rename to src/common/Logging/Logger.cpp diff --git a/src/server/shared/Logging/Logger.h b/src/common/Logging/Logger.h similarity index 100% rename from src/server/shared/Logging/Logger.h rename to src/common/Logging/Logger.h diff --git a/src/common/PrecompiledHeaders/commonPCH.cpp b/src/common/PrecompiledHeaders/commonPCH.cpp new file mode 100644 index 00000000000..52c623ca64a --- /dev/null +++ b/src/common/PrecompiledHeaders/commonPCH.cpp @@ -0,0 +1 @@ +#include "PrecompiledHeaders/commonPCH.h" diff --git a/src/common/PrecompiledHeaders/commonPCH.h b/src/common/PrecompiledHeaders/commonPCH.h new file mode 100644 index 00000000000..2d4f1ff4694 --- /dev/null +++ b/src/common/PrecompiledHeaders/commonPCH.h @@ -0,0 +1,13 @@ +#include "Define.h" +#include "Common.h" +#include "BoundingIntervalHierarchy.h" +#include "BoundingIntervalHierarchyWrapper.h" +#include "RegularGrid.h" +#include "Collision/VMapDefinitions.h" +#include "Collision/Maps/MapTree.h" +#include "Collision/Models/WorldModel.h" +#include "Collision/Models/ModelInstance.h" +#include "Collision/Models/GameObjectModel.h" +#include "Threading/ProducerConsumerQueue.h" +#include "Utilities/TaskScheduler.h" +#include "Utilities/EventMap.h" diff --git a/src/server/shared/Threading/Callback.h b/src/common/Threading/Callback.h similarity index 100% rename from src/server/shared/Threading/Callback.h rename to src/common/Threading/Callback.h diff --git a/src/server/shared/Threading/LockedQueue.h b/src/common/Threading/LockedQueue.h similarity index 100% rename from src/server/shared/Threading/LockedQueue.h rename to src/common/Threading/LockedQueue.h diff --git a/src/server/shared/Threading/ProcessPriority.h b/src/common/Threading/ProcessPriority.h similarity index 100% rename from src/server/shared/Threading/ProcessPriority.h rename to src/common/Threading/ProcessPriority.h diff --git a/src/server/shared/Threading/ProducerConsumerQueue.h b/src/common/Threading/ProducerConsumerQueue.h similarity index 100% rename from src/server/shared/Threading/ProducerConsumerQueue.h rename to src/common/Threading/ProducerConsumerQueue.h diff --git a/src/server/shared/Utilities/ByteConverter.h b/src/common/Utilities/ByteConverter.h similarity index 100% rename from src/server/shared/Utilities/ByteConverter.h rename to src/common/Utilities/ByteConverter.h diff --git a/src/server/shared/Utilities/Duration.h b/src/common/Utilities/Duration.h similarity index 100% rename from src/server/shared/Utilities/Duration.h rename to src/common/Utilities/Duration.h diff --git a/src/server/shared/Utilities/EventMap.cpp b/src/common/Utilities/EventMap.cpp similarity index 100% rename from src/server/shared/Utilities/EventMap.cpp rename to src/common/Utilities/EventMap.cpp diff --git a/src/server/shared/Utilities/EventMap.h b/src/common/Utilities/EventMap.h similarity index 100% rename from src/server/shared/Utilities/EventMap.h rename to src/common/Utilities/EventMap.h diff --git a/src/server/shared/Utilities/EventProcessor.cpp b/src/common/Utilities/EventProcessor.cpp similarity index 100% rename from src/server/shared/Utilities/EventProcessor.cpp rename to src/common/Utilities/EventProcessor.cpp diff --git a/src/server/shared/Utilities/EventProcessor.h b/src/common/Utilities/EventProcessor.h similarity index 100% rename from src/server/shared/Utilities/EventProcessor.h rename to src/common/Utilities/EventProcessor.h diff --git a/src/server/shared/Utilities/StringFormat.h b/src/common/Utilities/StringFormat.h similarity index 100% rename from src/server/shared/Utilities/StringFormat.h rename to src/common/Utilities/StringFormat.h diff --git a/src/server/shared/Utilities/TaskScheduler.cpp b/src/common/Utilities/TaskScheduler.cpp similarity index 100% rename from src/server/shared/Utilities/TaskScheduler.cpp rename to src/common/Utilities/TaskScheduler.cpp diff --git a/src/server/shared/Utilities/TaskScheduler.h b/src/common/Utilities/TaskScheduler.h similarity index 100% rename from src/server/shared/Utilities/TaskScheduler.h rename to src/common/Utilities/TaskScheduler.h diff --git a/src/server/shared/Utilities/Timer.h b/src/common/Utilities/Timer.h similarity index 100% rename from src/server/shared/Utilities/Timer.h rename to src/common/Utilities/Timer.h diff --git a/src/server/shared/Utilities/Util.cpp b/src/common/Utilities/Util.cpp similarity index 100% rename from src/server/shared/Utilities/Util.cpp rename to src/common/Utilities/Util.cpp diff --git a/src/server/shared/Utilities/Util.h b/src/common/Utilities/Util.h similarity index 100% rename from src/server/shared/Utilities/Util.h rename to src/common/Utilities/Util.h diff --git a/src/server/CMakeLists.txt b/src/server/CMakeLists.txt index fc4bf4328a3..5d3daef05d8 100644 --- a/src/server/CMakeLists.txt +++ b/src/server/CMakeLists.txt @@ -12,24 +12,20 @@ # This to stop a few silly crashes that could have been avoided IF people # weren't doing some -O3 psychooptimizations etc. +find_package(MySQL REQUIRED) + if(CMAKE_COMPILER_IS_GNUCXX AND NOT MINGW) add_definitions(-fno-delete-null-pointer-checks) endif() -if( SERVERS ) - set(sources_windows_Debugging - ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging/WheatyExceptionReport.cpp - ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging/WheatyExceptionReport.h - ) - add_subdirectory(shared) - add_subdirectory(game) - add_subdirectory(collision) - add_subdirectory(authserver) - add_subdirectory(scripts) - add_subdirectory(worldserver) -else() - if( TOOLS ) - add_subdirectory(collision) - add_subdirectory(shared) - endif() -endif() +set(sources_windows_Debugging + ${CMAKE_SOURCE_DIR}/src/common/Debugging/WheatyExceptionReport.cpp + ${CMAKE_SOURCE_DIR}/src/common/Debugging/WheatyExceptionReport.h +) +add_subdirectory(database) +add_subdirectory(shared) +add_subdirectory(game) +add_subdirectory(authserver) +add_subdirectory(scripts) +add_subdirectory(worldserver) + diff --git a/src/server/authserver/CMakeLists.txt b/src/server/authserver/CMakeLists.txt index f6d99de5271..24a2dc35fce 100644 --- a/src/server/authserver/CMakeLists.txt +++ b/src/server/authserver/CMakeLists.txt @@ -45,22 +45,29 @@ include_directories( ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/dep/cppformat ${CMAKE_SOURCE_DIR}/dep/process + ${CMAKE_SOURCE_DIR}/src/server/database + ${CMAKE_SOURCE_DIR}/src/server/database/Database + ${CMAKE_SOURCE_DIR}/src/server/database/Logging + ${CMAKE_SOURCE_DIR}/src/server/database/Updater ${CMAKE_SOURCE_DIR}/src/server/shared - ${CMAKE_SOURCE_DIR}/src/server/shared/Configuration - ${CMAKE_SOURCE_DIR}/src/server/shared/Database - ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging ${CMAKE_SOURCE_DIR}/src/server/shared/Packets ${CMAKE_SOURCE_DIR}/src/server/shared/Cryptography ${CMAKE_SOURCE_DIR}/src/server/shared/Cryptography/Authentication - ${CMAKE_SOURCE_DIR}/src/server/shared/Logging ${CMAKE_SOURCE_DIR}/src/server/shared/Networking - ${CMAKE_SOURCE_DIR}/src/server/shared/Threading - ${CMAKE_SOURCE_DIR}/src/server/shared/Updater - ${CMAKE_SOURCE_DIR}/src/server/shared/Utilities + ${CMAKE_SOURCE_DIR}/src/server/shared/Service ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/Authentication ${CMAKE_CURRENT_SOURCE_DIR}/Realms ${CMAKE_CURRENT_SOURCE_DIR}/Server + ${CMAKE_SOURCE_DIR}/src/common/ + ${CMAKE_SOURCE_DIR}/src/common/Collision + ${CMAKE_SOURCE_DIR}/src/common/Collision/Management + ${CMAKE_SOURCE_DIR}/src/common/Collision/Models + ${CMAKE_SOURCE_DIR}/src/common/Debugging + ${CMAKE_SOURCE_DIR}/src/common/Utilities + ${CMAKE_SOURCE_DIR}/src/common/Threading + ${CMAKE_SOURCE_DIR}/src/common/Configuration + ${CMAKE_SOURCE_DIR}/src/common/Logging ${MYSQL_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} ${VALGRIND_INCLUDE_DIR} @@ -80,8 +87,10 @@ if( NOT WIN32 ) endif() target_link_libraries(authserver + common shared format + database ${MYSQL_LIBRARY} ${OPENSSL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} diff --git a/src/server/collision/PrecompiledHeaders/collisionPCH.cpp b/src/server/collision/PrecompiledHeaders/collisionPCH.cpp deleted file mode 100644 index 36eae8e2b0d..00000000000 --- a/src/server/collision/PrecompiledHeaders/collisionPCH.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "collisionPCH.h" diff --git a/src/server/collision/PrecompiledHeaders/collisionPCH.h b/src/server/collision/PrecompiledHeaders/collisionPCH.h deleted file mode 100644 index ece2ef1b8ef..00000000000 --- a/src/server/collision/PrecompiledHeaders/collisionPCH.h +++ /dev/null @@ -1,9 +0,0 @@ -#include "Define.h" -#include "VMapDefinitions.h" -#include "MapTree.h" -#include "WorldModel.h" -#include "ModelInstance.h" -#include "BoundingIntervalHierarchy.h" -#include "RegularGrid.h" -#include "BoundingIntervalHierarchyWrapper.h" -#include "GameObjectModel.h" diff --git a/src/server/database/CMakeLists.txt b/src/server/database/CMakeLists.txt new file mode 100644 index 00000000000..3fa7ed10aaf --- /dev/null +++ b/src/server/database/CMakeLists.txt @@ -0,0 +1,74 @@ +# Copyright (C) 2008-2015 TrinityCore +# +# This file is free software; as a special exception the author gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +if( USE_COREPCH ) + include_directories(${CMAKE_CURRENT_BINARY_DIR}) +endif() + +file(GLOB_RECURSE sources_Database Database/*.cpp Database/*.h) +file(GLOB_RECURSE sources_Logging Logging/*.cpp Logging/*.h) +file(GLOB_RECURSE sources_Updater Updater/*.cpp Updater/*.h) + +file(GLOB sources_localdir *.cpp *.h) + +# +# Build shared sourcelist +# + +if (USE_COREPCH) + set(database_STAT_PCH_HDR PrecompiledHeaders/databasePCH.h) + set(database_STAT_PCH_SRC PrecompiledHeaders/databasePCH.cpp) +endif() + +set(database_STAT_SRCS + ${database_STAT_SRCS} + ${sources_Database} + ${sources_Logging} + ${sources_Updater} +) + +include_directories( + ${CMAKE_BINARY_DIR} + ${CMAKE_SOURCE_DIR}/dep/recastnavigation/Detour + ${CMAKE_SOURCE_DIR}/dep/SFMT + ${CMAKE_SOURCE_DIR}/dep/cppformat + ${CMAKE_SOURCE_DIR}/dep/utf8cpp + ${CMAKE_SOURCE_DIR}/dep/process + ${CMAKE_SOURCE_DIR}/src/server + ${CMAKE_CURRENT_SOURCE_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/Database + ${CMAKE_CURRENT_SOURCE_DIR}/Logging + ${CMAKE_CURRENT_SOURCE_DIR}/Updater + ${CMAKE_SOURCE_DIR}/src/common/ + ${CMAKE_SOURCE_DIR}/src/common/Collision + ${CMAKE_SOURCE_DIR}/src/common/Collision/Management + ${CMAKE_SOURCE_DIR}/src/common/Collision/Models + ${CMAKE_SOURCE_DIR}/src/common/Debugging + ${CMAKE_SOURCE_DIR}/src/common/Threading + ${CMAKE_SOURCE_DIR}/src/common/Utilities + ${CMAKE_SOURCE_DIR}/src/common/Configuration + ${CMAKE_SOURCE_DIR}/src/common/Logging + ${CMAKE_SOURCE_DIR}/src/server/shared + ${MYSQL_INCLUDE_DIR} + ${OPENSSL_INCLUDE_DIR} # seems needed for Windows build + ${VALGRIND_INCLUDE_DIR} +) + +GroupSources(${CMAKE_CURRENT_SOURCE_DIR}) + +add_library(database STATIC + ${database_STAT_SRCS} + ${database_STAT_PCH_SRC} +) + +# Generate precompiled header +if (USE_COREPCH) + add_cxx_pch(database ${database_STAT_PCH_HDR} ${database_STAT_PCH_SRC}) +endif () diff --git a/src/server/shared/Database/AdhocStatement.cpp b/src/server/database/Database/AdhocStatement.cpp similarity index 100% rename from src/server/shared/Database/AdhocStatement.cpp rename to src/server/database/Database/AdhocStatement.cpp diff --git a/src/server/shared/Database/AdhocStatement.h b/src/server/database/Database/AdhocStatement.h similarity index 100% rename from src/server/shared/Database/AdhocStatement.h rename to src/server/database/Database/AdhocStatement.h diff --git a/src/server/shared/Database/DatabaseEnv.h b/src/server/database/Database/DatabaseEnv.h similarity index 100% rename from src/server/shared/Database/DatabaseEnv.h rename to src/server/database/Database/DatabaseEnv.h diff --git a/src/server/shared/Database/DatabaseLoader.cpp b/src/server/database/Database/DatabaseLoader.cpp similarity index 100% rename from src/server/shared/Database/DatabaseLoader.cpp rename to src/server/database/Database/DatabaseLoader.cpp diff --git a/src/server/shared/Database/DatabaseLoader.h b/src/server/database/Database/DatabaseLoader.h similarity index 100% rename from src/server/shared/Database/DatabaseLoader.h rename to src/server/database/Database/DatabaseLoader.h diff --git a/src/server/shared/Database/DatabaseWorker.cpp b/src/server/database/Database/DatabaseWorker.cpp similarity index 100% rename from src/server/shared/Database/DatabaseWorker.cpp rename to src/server/database/Database/DatabaseWorker.cpp diff --git a/src/server/shared/Database/DatabaseWorker.h b/src/server/database/Database/DatabaseWorker.h similarity index 100% rename from src/server/shared/Database/DatabaseWorker.h rename to src/server/database/Database/DatabaseWorker.h diff --git a/src/server/shared/Database/DatabaseWorkerPool.h b/src/server/database/Database/DatabaseWorkerPool.h similarity index 100% rename from src/server/shared/Database/DatabaseWorkerPool.h rename to src/server/database/Database/DatabaseWorkerPool.h diff --git a/src/server/shared/Database/Field.cpp b/src/server/database/Database/Field.cpp similarity index 100% rename from src/server/shared/Database/Field.cpp rename to src/server/database/Database/Field.cpp diff --git a/src/server/shared/Database/Field.h b/src/server/database/Database/Field.h similarity index 100% rename from src/server/shared/Database/Field.h rename to src/server/database/Database/Field.h diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.cpp b/src/server/database/Database/Implementation/CharacterDatabase.cpp similarity index 100% rename from src/server/shared/Database/Implementation/CharacterDatabase.cpp rename to src/server/database/Database/Implementation/CharacterDatabase.cpp diff --git a/src/server/shared/Database/Implementation/CharacterDatabase.h b/src/server/database/Database/Implementation/CharacterDatabase.h similarity index 100% rename from src/server/shared/Database/Implementation/CharacterDatabase.h rename to src/server/database/Database/Implementation/CharacterDatabase.h diff --git a/src/server/shared/Database/Implementation/LoginDatabase.cpp b/src/server/database/Database/Implementation/LoginDatabase.cpp similarity index 100% rename from src/server/shared/Database/Implementation/LoginDatabase.cpp rename to src/server/database/Database/Implementation/LoginDatabase.cpp diff --git a/src/server/shared/Database/Implementation/LoginDatabase.h b/src/server/database/Database/Implementation/LoginDatabase.h similarity index 100% rename from src/server/shared/Database/Implementation/LoginDatabase.h rename to src/server/database/Database/Implementation/LoginDatabase.h diff --git a/src/server/shared/Database/Implementation/WorldDatabase.cpp b/src/server/database/Database/Implementation/WorldDatabase.cpp similarity index 100% rename from src/server/shared/Database/Implementation/WorldDatabase.cpp rename to src/server/database/Database/Implementation/WorldDatabase.cpp diff --git a/src/server/shared/Database/Implementation/WorldDatabase.h b/src/server/database/Database/Implementation/WorldDatabase.h similarity index 100% rename from src/server/shared/Database/Implementation/WorldDatabase.h rename to src/server/database/Database/Implementation/WorldDatabase.h diff --git a/src/server/shared/Database/MySQLConnection.cpp b/src/server/database/Database/MySQLConnection.cpp similarity index 100% rename from src/server/shared/Database/MySQLConnection.cpp rename to src/server/database/Database/MySQLConnection.cpp diff --git a/src/server/shared/Database/MySQLConnection.h b/src/server/database/Database/MySQLConnection.h similarity index 100% rename from src/server/shared/Database/MySQLConnection.h rename to src/server/database/Database/MySQLConnection.h diff --git a/src/server/shared/Database/MySQLThreading.h b/src/server/database/Database/MySQLThreading.h similarity index 100% rename from src/server/shared/Database/MySQLThreading.h rename to src/server/database/Database/MySQLThreading.h diff --git a/src/server/shared/Database/PreparedStatement.cpp b/src/server/database/Database/PreparedStatement.cpp similarity index 100% rename from src/server/shared/Database/PreparedStatement.cpp rename to src/server/database/Database/PreparedStatement.cpp diff --git a/src/server/shared/Database/PreparedStatement.h b/src/server/database/Database/PreparedStatement.h similarity index 100% rename from src/server/shared/Database/PreparedStatement.h rename to src/server/database/Database/PreparedStatement.h diff --git a/src/server/shared/Database/QueryHolder.cpp b/src/server/database/Database/QueryHolder.cpp similarity index 100% rename from src/server/shared/Database/QueryHolder.cpp rename to src/server/database/Database/QueryHolder.cpp diff --git a/src/server/shared/Database/QueryHolder.h b/src/server/database/Database/QueryHolder.h similarity index 100% rename from src/server/shared/Database/QueryHolder.h rename to src/server/database/Database/QueryHolder.h diff --git a/src/server/shared/Database/QueryResult.cpp b/src/server/database/Database/QueryResult.cpp similarity index 100% rename from src/server/shared/Database/QueryResult.cpp rename to src/server/database/Database/QueryResult.cpp diff --git a/src/server/shared/Database/QueryResult.h b/src/server/database/Database/QueryResult.h similarity index 100% rename from src/server/shared/Database/QueryResult.h rename to src/server/database/Database/QueryResult.h diff --git a/src/server/shared/Database/SQLOperation.h b/src/server/database/Database/SQLOperation.h similarity index 100% rename from src/server/shared/Database/SQLOperation.h rename to src/server/database/Database/SQLOperation.h diff --git a/src/server/shared/Database/Transaction.cpp b/src/server/database/Database/Transaction.cpp similarity index 100% rename from src/server/shared/Database/Transaction.cpp rename to src/server/database/Database/Transaction.cpp diff --git a/src/server/shared/Database/Transaction.h b/src/server/database/Database/Transaction.h similarity index 100% rename from src/server/shared/Database/Transaction.h rename to src/server/database/Database/Transaction.h diff --git a/src/server/shared/Logging/AppenderDB.cpp b/src/server/database/Logging/AppenderDB.cpp similarity index 100% rename from src/server/shared/Logging/AppenderDB.cpp rename to src/server/database/Logging/AppenderDB.cpp diff --git a/src/server/shared/Logging/AppenderDB.h b/src/server/database/Logging/AppenderDB.h similarity index 100% rename from src/server/shared/Logging/AppenderDB.h rename to src/server/database/Logging/AppenderDB.h diff --git a/src/server/database/PrecompiledHeaders/databasePCH.cpp b/src/server/database/PrecompiledHeaders/databasePCH.cpp new file mode 100644 index 00000000000..f84a52be82a --- /dev/null +++ b/src/server/database/PrecompiledHeaders/databasePCH.cpp @@ -0,0 +1 @@ +#include "PrecompiledHeaders/databasePCH.h" diff --git a/src/server/database/PrecompiledHeaders/databasePCH.h b/src/server/database/PrecompiledHeaders/databasePCH.h new file mode 100644 index 00000000000..d524d52ade0 --- /dev/null +++ b/src/server/database/PrecompiledHeaders/databasePCH.h @@ -0,0 +1,23 @@ +#include "Config.h" +#include "Database/AdhocStatement.h" +#include "Database/DatabaseEnv.h" +#include "Database/DatabaseLoader.h" +#include "Database/DatabaseWorker.h" +#include "Database/DatabaseWorkerPool.h" +#include "Database/Field.h" +#include "Database/MySQLConnection.h" +#include "Database/MySQLThreading.h" +#include "Database/PreparedStatement.h" +#include "Database/QueryHolder.h" +#include "Database/QueryResult.h" +#include "Database/SQLOperation.h" +#include "Database/Transaction.h" +#include "Logging/Appender.h" +#include "Logging/AppenderConsole.h" +#include "Logging/AppenderDB.h" +#include "Logging/AppenderFile.h" +#include "Logging/Log.h" +#include "Logging/LogOperation.h" +#include "Logging/Logger.h" +#include "Updater/DBUpdater.h" +#include "Updater/UpdateFetcher.h" diff --git a/src/server/shared/Updater/DBUpdater.cpp b/src/server/database/Updater/DBUpdater.cpp similarity index 100% rename from src/server/shared/Updater/DBUpdater.cpp rename to src/server/database/Updater/DBUpdater.cpp diff --git a/src/server/shared/Updater/DBUpdater.h b/src/server/database/Updater/DBUpdater.h similarity index 100% rename from src/server/shared/Updater/DBUpdater.h rename to src/server/database/Updater/DBUpdater.h diff --git a/src/server/shared/Updater/UpdateFetcher.cpp b/src/server/database/Updater/UpdateFetcher.cpp similarity index 100% rename from src/server/shared/Updater/UpdateFetcher.cpp rename to src/server/database/Updater/UpdateFetcher.cpp diff --git a/src/server/shared/Updater/UpdateFetcher.h b/src/server/database/Updater/UpdateFetcher.h similarity index 100% rename from src/server/shared/Updater/UpdateFetcher.h rename to src/server/database/Updater/UpdateFetcher.h diff --git a/src/server/game/CMakeLists.txt b/src/server/game/CMakeLists.txt index 66425ed2dc7..ccc69b3ef68 100644 --- a/src/server/game/CMakeLists.txt +++ b/src/server/game/CMakeLists.txt @@ -112,25 +112,28 @@ include_directories( ${CMAKE_SOURCE_DIR}/dep/SFMT ${CMAKE_SOURCE_DIR}/dep/cppformat ${CMAKE_SOURCE_DIR}/dep/zlib - ${CMAKE_SOURCE_DIR}/src/server/collision - ${CMAKE_SOURCE_DIR}/src/server/collision/Management - ${CMAKE_SOURCE_DIR}/src/server/collision/Models - ${CMAKE_SOURCE_DIR}/src/server/collision/Maps + ${CMAKE_SOURCE_DIR}/src/common + ${CMAKE_SOURCE_DIR}/src/common/Collision + ${CMAKE_SOURCE_DIR}/src/common/Collision/Management + ${CMAKE_SOURCE_DIR}/src/common/Collision/Models + ${CMAKE_SOURCE_DIR}/src/common/Collision/Maps + ${CMAKE_SOURCE_DIR}/src/common/Debugging + ${CMAKE_SOURCE_DIR}/src/common/Utilities + ${CMAKE_SOURCE_DIR}/src/common/Threading + ${CMAKE_SOURCE_DIR}/src/common/Configuration + ${CMAKE_SOURCE_DIR}/src/common/Logging + ${CMAKE_SOURCE_DIR}/src/server/database + ${CMAKE_SOURCE_DIR}/src/server/database/Database + ${CMAKE_SOURCE_DIR}/src/server/database/Logging + ${CMAKE_SOURCE_DIR}/src/server/database/Updater ${CMAKE_SOURCE_DIR}/src/server/shared - ${CMAKE_SOURCE_DIR}/src/server/shared/Configuration ${CMAKE_SOURCE_DIR}/src/server/shared/Cryptography ${CMAKE_SOURCE_DIR}/src/server/shared/Cryptography/Authentication - ${CMAKE_SOURCE_DIR}/src/server/shared/Database ${CMAKE_SOURCE_DIR}/src/server/shared/DataStores - ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging ${CMAKE_SOURCE_DIR}/src/server/shared/Dynamic/LinkedReference ${CMAKE_SOURCE_DIR}/src/server/shared/Dynamic - ${CMAKE_SOURCE_DIR}/src/server/shared/Logging ${CMAKE_SOURCE_DIR}/src/server/shared/Networking ${CMAKE_SOURCE_DIR}/src/server/shared/Packets - ${CMAKE_SOURCE_DIR}/src/server/shared/Threading - ${CMAKE_SOURCE_DIR}/src/server/shared/Updater - ${CMAKE_SOURCE_DIR}/src/server/shared/Utilities ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/Accounts ${CMAKE_CURRENT_SOURCE_DIR}/Achievements diff --git a/src/server/scripts/CMakeLists.txt b/src/server/scripts/CMakeLists.txt index 57f145eb15a..db15ce8c36d 100644 --- a/src/server/scripts/CMakeLists.txt +++ b/src/server/scripts/CMakeLists.txt @@ -52,24 +52,26 @@ include_directories( ${CMAKE_SOURCE_DIR}/dep/SFMT ${CMAKE_SOURCE_DIR}/dep/cppformat ${CMAKE_SOURCE_DIR}/dep/zlib + ${CMAKE_SOURCE_DIR}/src/server/database + ${CMAKE_SOURCE_DIR}/src/server/database/Database + ${CMAKE_SOURCE_DIR}/src/server/database/Logging + ${CMAKE_SOURCE_DIR}/src/server/database/Updater ${CMAKE_SOURCE_DIR}/src/server/shared - ${CMAKE_SOURCE_DIR}/src/server/shared/Configuration ${CMAKE_SOURCE_DIR}/src/server/shared/Cryptography - ${CMAKE_SOURCE_DIR}/src/server/shared/Database ${CMAKE_SOURCE_DIR}/src/server/shared/DataStores - ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging ${CMAKE_SOURCE_DIR}/src/server/shared/Dynamic/LinkedReference ${CMAKE_SOURCE_DIR}/src/server/shared/Dynamic - ${CMAKE_SOURCE_DIR}/src/server/shared/Logging ${CMAKE_SOURCE_DIR}/src/server/shared/Packets - ${CMAKE_SOURCE_DIR}/src/server/shared/Threading - ${CMAKE_SOURCE_DIR}/src/server/shared/Updater - ${CMAKE_SOURCE_DIR}/src/server/shared/Utilities - ${CMAKE_SOURCE_DIR}/src/server/collision - ${CMAKE_SOURCE_DIR}/src/server/collision/Management - ${CMAKE_SOURCE_DIR}/src/server/collision/Models + ${CMAKE_SOURCE_DIR}/src/common/ + ${CMAKE_SOURCE_DIR}/src/common/Collision + ${CMAKE_SOURCE_DIR}/src/common/Collision/Management + ${CMAKE_SOURCE_DIR}/src/common/Collision/Models + ${CMAKE_SOURCE_DIR}/src/common/Debugging + ${CMAKE_SOURCE_DIR}/src/common/Utilities + ${CMAKE_SOURCE_DIR}/src/common/Threading + ${CMAKE_SOURCE_DIR}/src/common/Configuration + ${CMAKE_SOURCE_DIR}/src/common/Logging ${CMAKE_SOURCE_DIR}/src/server/shared - ${CMAKE_SOURCE_DIR}/src/server/shared/Database ${CMAKE_SOURCE_DIR}/src/server/game/Accounts ${CMAKE_SOURCE_DIR}/src/server/game/Achievements ${CMAKE_SOURCE_DIR}/src/server/game/Addons diff --git a/src/server/shared/CMakeLists.txt b/src/server/shared/CMakeLists.txt index d68ddf85ff3..1653d605faa 100644 --- a/src/server/shared/CMakeLists.txt +++ b/src/server/shared/CMakeLists.txt @@ -12,25 +12,16 @@ if( USE_COREPCH ) 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) file(GLOB_RECURSE sources_DataStores DataStores/*.cpp DataStores/*.h) file(GLOB_RECURSE sources_Dynamic Dynamic/*.cpp Dynamic/*.h) -file(GLOB_RECURSE sources_Logging Logging/*.cpp Logging/*.h) file(GLOB_RECURSE sources_Networking Networking/*.cpp Networking/*.h) file(GLOB_RECURSE sources_Packets Packets/*.cpp Packets/*.h) -file(GLOB_RECURSE sources_Threading Threading/*.cpp Threading/*.h) -file(GLOB_RECURSE sources_Updater Updater/*.cpp Updater/*.h) -file(GLOB_RECURSE sources_Utilities Utilities/*.cpp Utilities/*.h) - +if( WIN32 ) + file(GLOB_RECURSE sources_Service Service/*.cpp Service/*.h) +endif( WIN32 ) file(GLOB sources_localdir *.cpp *.h) -# Manually set sources for Debugging directory as we don't want to include WheatyExceptionReport in shared project -# It needs to be included both in authserver and worldserver for the static global variable to be properly initialized -# and to handle crash logs on windows -set(sources_Debugging Debugging/Errors.cpp Debugging/Errors.h) - # # Build shared sourcelist # @@ -42,18 +33,13 @@ endif() set(shared_STAT_SRCS ${shared_STAT_SRCS} - ${sources_Configuration} ${sources_Cryptography} - ${sources_Database} ${sources_DataStores} - ${sources_Debugging} ${sources_Dynamic} - ${sources_Logging} ${sources_Networking} ${sources_Packets} - ${sources_Threading} - ${sources_Updater} ${sources_Utilities} + ${sources_Service} ${sources_localdir} ) @@ -65,20 +51,25 @@ include_directories( ${CMAKE_SOURCE_DIR}/dep/utf8cpp ${CMAKE_SOURCE_DIR}/dep/process ${CMAKE_SOURCE_DIR}/src/server + ${CMAKE_SOURCE_DIR}/src/server/database + ${CMAKE_SOURCE_DIR}/src/server/database/Database + ${CMAKE_SOURCE_DIR}/src/server/database/Logging + ${CMAKE_SOURCE_DIR}/src/server/database/Updater ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_CURRENT_SOURCE_DIR}/Configuration ${CMAKE_CURRENT_SOURCE_DIR}/Cryptography - ${CMAKE_CURRENT_SOURCE_DIR}/Database ${CMAKE_CURRENT_SOURCE_DIR}/DataStores - ${CMAKE_CURRENT_SOURCE_DIR}/Debugging ${CMAKE_CURRENT_SOURCE_DIR}/Dynamic - ${CMAKE_CURRENT_SOURCE_DIR}/Logging ${CMAKE_CURRENT_SOURCE_DIR}/Networking ${CMAKE_CURRENT_SOURCE_DIR}/Packets - ${CMAKE_CURRENT_SOURCE_DIR}/Threading - ${CMAKE_CURRENT_SOURCE_DIR}/Utilities - ${CMAKE_CURRENT_SOURCE_DIR}/Updater - ${CMAKE_SOURCE_DIR}/src/server/game/Entities/Object + ${CMAKE_CURRENT_SOURCE_DIR}/Service + ${CMAKE_SOURCE_DIR}/src/common/ + ${CMAKE_SOURCE_DIR}/src/common/Collision + ${CMAKE_SOURCE_DIR}/src/common/Collision/Management + ${CMAKE_SOURCE_DIR}/src/common/Collision/Models + ${CMAKE_SOURCE_DIR}/src/common/Debugging + ${CMAKE_SOURCE_DIR}/src/common/Utilities + ${CMAKE_SOURCE_DIR}/src/common/Configuration + ${CMAKE_SOURCE_DIR}/src/common/Logging ${MYSQL_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} ${VALGRIND_INCLUDE_DIR} diff --git a/src/server/shared/PrecompiledHeaders/sharedPCH.h b/src/server/shared/PrecompiledHeaders/sharedPCH.h index f4c18f89ec1..c09b24e6fd9 100644 --- a/src/server/shared/PrecompiledHeaders/sharedPCH.h +++ b/src/server/shared/PrecompiledHeaders/sharedPCH.h @@ -1,11 +1,4 @@ //add here most rarely modified headers to speed up debug build compilation -#include "Common.h" -#include "Log.h" -#include "DatabaseWorker.h" -#include "SQLOperation.h" -#include "Errors.h" #include "TypeList.h" -#include "TaskScheduler.h" -#include "EventMap.h" #include "Revision.h" diff --git a/src/server/shared/Utilities/ServiceWin32.cpp b/src/server/shared/Service/ServiceWin32.cpp similarity index 100% rename from src/server/shared/Utilities/ServiceWin32.cpp rename to src/server/shared/Service/ServiceWin32.cpp diff --git a/src/server/shared/Utilities/ServiceWin32.h b/src/server/shared/Service/ServiceWin32.h similarity index 100% rename from src/server/shared/Utilities/ServiceWin32.h rename to src/server/shared/Service/ServiceWin32.h diff --git a/src/server/worldserver/CMakeLists.txt b/src/server/worldserver/CMakeLists.txt index a6c76977fe2..f513ba0857f 100644 --- a/src/server/worldserver/CMakeLists.txt +++ b/src/server/worldserver/CMakeLists.txt @@ -49,24 +49,23 @@ include_directories( ${CMAKE_SOURCE_DIR}/dep/SFMT ${CMAKE_SOURCE_DIR}/dep/cppformat ${CMAKE_SOURCE_DIR}/dep/process - ${CMAKE_SOURCE_DIR}/src/server/collision - ${CMAKE_SOURCE_DIR}/src/server/collision/Management - ${CMAKE_SOURCE_DIR}/src/server/collision/Models + ${CMAKE_SOURCE_DIR}/src/server/database + ${CMAKE_SOURCE_DIR}/src/server/database/Database + ${CMAKE_SOURCE_DIR}/src/server/database/Logging + ${CMAKE_SOURCE_DIR}/src/server/database/Updater + ${CMAKE_SOURCE_DIR}/src/common/Collision + ${CMAKE_SOURCE_DIR}/src/common/Collision/Management + ${CMAKE_SOURCE_DIR}/src/common/Collision/Models + ${CMAKE_SOURCE_DIR}/src/common/Configuration ${CMAKE_SOURCE_DIR}/src/server/shared - ${CMAKE_SOURCE_DIR}/src/server/shared/Configuration ${CMAKE_SOURCE_DIR}/src/server/shared/Cryptography ${CMAKE_SOURCE_DIR}/src/server/shared/Cryptography/Authentication - ${CMAKE_SOURCE_DIR}/src/server/shared/Database ${CMAKE_SOURCE_DIR}/src/server/shared/DataStores - ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging ${CMAKE_SOURCE_DIR}/src/server/shared/Dynamic/LinkedReference ${CMAKE_SOURCE_DIR}/src/server/shared/Dynamic - ${CMAKE_SOURCE_DIR}/src/server/shared/Logging ${CMAKE_SOURCE_DIR}/src/server/shared/Networking ${CMAKE_SOURCE_DIR}/src/server/shared/Packets - ${CMAKE_SOURCE_DIR}/src/server/shared/Threading - ${CMAKE_SOURCE_DIR}/src/server/shared/Updater - ${CMAKE_SOURCE_DIR}/src/server/shared/Utilities + ${CMAKE_SOURCE_DIR}/src/server/shared/Service ${CMAKE_SOURCE_DIR}/src/server/game ${CMAKE_SOURCE_DIR}/src/server/game/Accounts ${CMAKE_SOURCE_DIR}/src/server/game/Achievements @@ -135,6 +134,14 @@ include_directories( ${CMAKE_SOURCE_DIR}/src/server/game/World ${CMAKE_SOURCE_DIR}/src/server/authserver/Server ${CMAKE_SOURCE_DIR}/src/server/authserver/Realms + ${CMAKE_SOURCE_DIR}/src/common/ + ${CMAKE_SOURCE_DIR}/src/common/Collision + ${CMAKE_SOURCE_DIR}/src/common/Collision/Management + ${CMAKE_SOURCE_DIR}/src/common/Collision/Models + ${CMAKE_SOURCE_DIR}/src/common/Debugging + ${CMAKE_SOURCE_DIR}/src/common/Utilities + ${CMAKE_SOURCE_DIR}/src/common/Threading + ${CMAKE_SOURCE_DIR}/src/common/Logging ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/CommandLine ${CMAKE_CURRENT_SOURCE_DIR}/RemoteAccess @@ -165,9 +172,10 @@ set_target_properties(worldserver PROPERTIES LINK_FLAGS "${worldserver_LINK_FLAG target_link_libraries(worldserver game + common shared + database scripts - collision g3dlib gsoap Detour diff --git a/src/tools/mmaps_generator/CMakeLists.txt b/src/tools/mmaps_generator/CMakeLists.txt index 48e30b1c3cf..52a7f5504d6 100644 --- a/src/tools/mmaps_generator/CMakeLists.txt +++ b/src/tools/mmaps_generator/CMakeLists.txt @@ -21,13 +21,15 @@ set(mmap_gen_Includes ${CMAKE_SOURCE_DIR}/dep/recastnavigation/Detour ${CMAKE_SOURCE_DIR}/dep/recastnavigation/Detour/Include ${CMAKE_SOURCE_DIR}/src/server/shared - ${CMAKE_SOURCE_DIR}/src/server/shared/Utilities - ${CMAKE_SOURCE_DIR}/src/server/shared/Threading ${CMAKE_SOURCE_DIR}/src/server/game/Conditions - ${CMAKE_SOURCE_DIR}/src/server/collision - ${CMAKE_SOURCE_DIR}/src/server/collision/Management - ${CMAKE_SOURCE_DIR}/src/server/collision/Maps - ${CMAKE_SOURCE_DIR}/src/server/collision/Models + ${CMAKE_SOURCE_DIR}/src/common + ${CMAKE_SOURCE_DIR}/src/common/Collision + ${CMAKE_SOURCE_DIR}/src/common/Collision/Management + ${CMAKE_SOURCE_DIR}/src/common/Collision/Maps + ${CMAKE_SOURCE_DIR}/src/common/Collision/Models + ${CMAKE_SOURCE_DIR}/src/common/Debugging + ${CMAKE_SOURCE_DIR}/src/common/Threading + ${CMAKE_SOURCE_DIR}/src/common/Utilities ) if( WIN32 ) @@ -42,7 +44,7 @@ include_directories(${mmap_gen_Includes}) add_executable(mmaps_generator ${mmap_gen_sources}) target_link_libraries(mmaps_generator - collision + common g3dlib Recast Detour diff --git a/src/tools/vmap4_assembler/CMakeLists.txt b/src/tools/vmap4_assembler/CMakeLists.txt index dfd6c7d4dd4..4513bdaf316 100644 --- a/src/tools/vmap4_assembler/CMakeLists.txt +++ b/src/tools/vmap4_assembler/CMakeLists.txt @@ -13,9 +13,10 @@ include_directories( ${CMAKE_SOURCE_DIR}/dep/g3dlite/include ${CMAKE_SOURCE_DIR}/src/server/shared ${CMAKE_SOURCE_DIR}/src/server/shared/Debugging - ${CMAKE_SOURCE_DIR}/src/server/collision - ${CMAKE_SOURCE_DIR}/src/server/collision/Maps - ${CMAKE_SOURCE_DIR}/src/server/collision/Models + ${CMAKE_SOURCE_DIR}/src/common + ${CMAKE_SOURCE_DIR}/src/common/Collision + ${CMAKE_SOURCE_DIR}/src/common/Collision/Maps + ${CMAKE_SOURCE_DIR}/src/common/Collision/Models ${ZLIB_INCLUDE_DIR} ) @@ -26,7 +27,7 @@ if(CMAKE_SYSTEM_NAME MATCHES "Darwin") endif() target_link_libraries(vmap4assembler - collision + common g3dlib ${ZLIB_LIBRARIES} )