diff options
author | StormBytePP <stormbyte@gmail.com> | 2015-08-16 16:56:11 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2015-08-16 17:50:40 +0200 |
commit | 6a9fc63e412adf7074c2850320cddf007edc3b28 (patch) | |
tree | 1fd539b128874dba459afe5f42ab94b84bab5073 | |
parent | b9106ee000f3c4955324739117eba86b8e538a3c (diff) |
Core/Build: Removed obsolete SystemConfig.h and made genrev be part of shared library, which allows cache hits to happen more likely
(cherry picked from commit 94f69fb1bcef103392ca27074ebb31ef2ebd27fb)
22 files changed, 130 insertions, 69 deletions
diff --git a/cmake/genrev.cmake b/cmake/genrev.cmake index 1f5f02ceeec..db722f9fdb8 100644 --- a/cmake/genrev.cmake +++ b/cmake/genrev.cmake @@ -66,11 +66,11 @@ else() endif() endif() -# Create the actual revision.h file from the above params -if(NOT "${rev_hash_cached}" MATCHES "${rev_hash}" OR NOT "${rev_branch_cached}" MATCHES "${rev_branch}" OR NOT EXISTS "${BUILDDIR}/revision.h") +# Create the actual revision_data.h file from the above params +if(NOT "${rev_hash_cached}" MATCHES "${rev_hash}" OR NOT "${rev_branch_cached}" MATCHES "${rev_branch}" OR NOT EXISTS "${BUILDDIR}/revision_data.h") configure_file( - "${CMAKE_SOURCE_DIR}/revision.h.in.cmake" - "${BUILDDIR}/revision.h" + "${CMAKE_SOURCE_DIR}/revision_data.h.in.cmake" + "${BUILDDIR}/revision_data.h" @ONLY ) set(rev_hash_cached "${rev_hash}" CACHE INTERNAL "Cached commit-hash") diff --git a/revision.h.in.cmake b/revision_data.h.in.cmake index 347fd4e0e36..97192b79b89 100644 --- a/revision.h.in.cmake +++ b/revision_data.h.in.cmake @@ -1,5 +1,5 @@ -#ifndef __REVISION_H__ -#define __REVISION_H__ +#ifndef __REVISION_DATA_H__ +#define __REVISION_DATA_H__ #define _HASH "@rev_hash@" #define _DATE "@rev_date@" #define _BRANCH "@rev_branch@" @@ -13,4 +13,4 @@ #define VER_FILEVERSION_STR "@rev_hash@ @rev_date@ (@rev_branch@ branch)" #define VER_PRODUCTVERSION VER_FILEVERSION #define VER_PRODUCTVERSION_STR VER_FILEVERSION_STR -#endif // __REVISION_H__ +#endif // __REVISION_DATA_H__ diff --git a/src/genrev/CMakeLists.txt b/src/genrev/CMakeLists.txt index e72643c6a6b..05db165fe00 100644 --- a/src/genrev/CMakeLists.txt +++ b/src/genrev/CMakeLists.txt @@ -9,7 +9,7 @@ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # Need to pass old ${CMAKE_BINARY_DIR} as param because its different at build stage -add_custom_target(revision.h ALL +add_custom_target(revision_data.h ALL COMMAND "${CMAKE_COMMAND}" -DBUILDDIR="${CMAKE_BINARY_DIR}" -P "${CMAKE_SOURCE_DIR}/cmake/genrev.cmake" "${CMAKE_BINARY_DIR}" WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" ) diff --git a/src/server/bnetserver/CMakeLists.txt b/src/server/bnetserver/CMakeLists.txt index e80e99cdda7..93a21406099 100644 --- a/src/server/bnetserver/CMakeLists.txt +++ b/src/server/bnetserver/CMakeLists.txt @@ -80,8 +80,6 @@ add_executable(bnetserver ${bnetserver_PCH_SRC} ) -add_dependencies(bnetserver revision.h) - if( NOT WIN32 ) set_target_properties(bnetserver PROPERTIES COMPILE_DEFINITIONS _TRINITY_BNET_CONFIG="${CONF_DIR}/bnetserver.conf" diff --git a/src/server/bnetserver/Main.cpp b/src/server/bnetserver/Main.cpp index d7d9951f233..0aa5f748635 100644 --- a/src/server/bnetserver/Main.cpp +++ b/src/server/bnetserver/Main.cpp @@ -34,7 +34,7 @@ #include "AppenderDB.h" #include "ProcessPriority.h" #include "RealmList.h" -#include "SystemConfig.h" +#include "Revision.h" #include "Util.h" #include "ZmqContext.h" #include "DatabaseLoader.h" @@ -108,7 +108,7 @@ int main(int argc, char** argv) sLog->RegisterAppender<AppenderDB>(); sLog->Initialize(nullptr); - TC_LOG_INFO("server.bnetserver", "%s (bnetserver)", _FULLVERSION); + TC_LOG_INFO("server.bnetserver", "%s (bnetserver)", Revision::GetFullVersion()); TC_LOG_INFO("server.bnetserver", "<Ctrl-C> to stop.\n"); TC_LOG_INFO("server.bnetserver", "Using configuration file %s.", configFile.c_str()); TC_LOG_INFO("server.bnetserver", "Using SSL version: %s (library: %s)", OPENSSL_VERSION_TEXT, SSLeay_version(SSLEAY_VERSION)); @@ -307,7 +307,7 @@ variables_map GetConsoleArguments(int argc, char** argv, std::string& configFile } else if (variablesMap.count("version")) { - std::cout << _FULLVERSION << "\n"; + std::cout << Revision::GetFullVersion() << "\n"; } return variablesMap; diff --git a/src/server/bnetserver/bnetserver.rc b/src/server/bnetserver/bnetserver.rc index 434d898e647..6b42665ae0f 100644 --- a/src/server/bnetserver/bnetserver.rc +++ b/src/server/bnetserver/bnetserver.rc @@ -17,7 +17,7 @@ */ #include "resource.h" -#include "revision.h" +#include "revision_data.h" #define APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// diff --git a/src/server/game/CMakeLists.txt b/src/server/game/CMakeLists.txt index 9c3646c39ca..92b2f8fa9fe 100644 --- a/src/server/game/CMakeLists.txt +++ b/src/server/game/CMakeLists.txt @@ -224,8 +224,6 @@ add_library(game STATIC ${game_STAT_SRCS} ) -add_dependencies(game revision.h) - # Generate precompiled header if (USE_COREPCH) add_cxx_pch(game ${game_STAT_PCH_HDR} ${game_STAT_PCH_SRC}) diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 56e34d0382b..cd35b2df4e7 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -76,7 +76,7 @@ #include "QuestDef.h" #include "QuestPackets.h" #include "ReputationMgr.h" -#include "revision.h" +#include "Revision.h" #include "SkillDiscovery.h" #include "SocialMgr.h" #include "Spell.h" @@ -14620,8 +14620,8 @@ void Player::AddQuest(Quest const* quest, Object* questGiver) PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_QUEST_TRACK); stmt->setUInt32(0, quest_id); stmt->setUInt64(1, GetGUID().GetCounter()); - stmt->setString(2, _HASH); - stmt->setString(3, _DATE); + stmt->setString(2, Revision::GetHash()); + stmt->setString(3, Revision::GetDate()); // add to Quest Tracker CharacterDatabase.Execute(stmt); diff --git a/src/server/game/Handlers/CharacterHandler.cpp b/src/server/game/Handlers/CharacterHandler.cpp index 6faeae4004d..3afd38a2bff 100644 --- a/src/server/game/Handlers/CharacterHandler.cpp +++ b/src/server/game/Handlers/CharacterHandler.cpp @@ -44,10 +44,10 @@ #include "Player.h" #include "QueryPackets.h" #include "ReputationMgr.h" +#include "Revision.h" #include "ScriptMgr.h" #include "SharedDefines.h" #include "SocialMgr.h" -#include "SystemConfig.h" #include "SystemPackets.h" #include "UpdateMask.h" #include "Util.h" @@ -956,7 +956,7 @@ void WorldSession::HandlePlayerLogin(LoginQueryHolder* holder) // send server info { if (sWorld->getIntConfig(CONFIG_ENABLE_SINFO_LOGIN) == 1) - chH.PSendSysMessage(_FULLVERSION); + chH.PSendSysMessage(Revision::GetFullVersion()); TC_LOG_DEBUG("network", "WORLD: Sent server info"); } diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 96c5f2eff1b..10619116307 100644 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -53,11 +53,11 @@ #include "OutdoorPvPMgr.h" #include "Player.h" #include "PoolMgr.h" +#include "Revision.h" #include "ScriptMgr.h" #include "SkillDiscovery.h" #include "SkillExtraItems.h" #include "SmartAI.h" -#include "SystemConfig.h" #include "SupportMgr.h" #include "TransportMgr.h" #include "Unit.h" @@ -1910,7 +1910,7 @@ void World::SetInitialWorldSettings() m_startTime = m_gameTime; LoginDatabase.PExecute("INSERT INTO uptime (realmid, starttime, uptime, revision) VALUES(%u, %u, 0, '%s')", - realmHandle.Index, uint32(m_startTime), _FULLVERSION); // One-time query + realmHandle.Index, uint32(m_startTime), Revision::GetFullVersion()); // One-time query m_timers[WUPDATE_WEATHERS].SetInterval(1*IN_MILLISECONDS); m_timers[WUPDATE_AUCTIONS].SetInterval(MINUTE*IN_MILLISECONDS); diff --git a/src/server/scripts/CMakeLists.txt b/src/server/scripts/CMakeLists.txt index 694a36cb229..9a98fdc691c 100644 --- a/src/server/scripts/CMakeLists.txt +++ b/src/server/scripts/CMakeLists.txt @@ -158,8 +158,6 @@ add_library(scripts STATIC ${scripts_STAT_PCH_SRC} ) -add_dependencies(scripts revision.h) - # Generate precompiled header if (USE_SCRIPTPCH) add_cxx_pch(scripts ${scripts_STAT_PCH_HDR} ${scripts_STAT_PCH_SRC}) diff --git a/src/server/scripts/Commands/cs_server.cpp b/src/server/scripts/Commands/cs_server.cpp index 7ecf1337ee5..5f844ab826b 100644 --- a/src/server/scripts/Commands/cs_server.cpp +++ b/src/server/scripts/Commands/cs_server.cpp @@ -28,7 +28,7 @@ EndScriptData */ #include "ObjectAccessor.h" #include "Player.h" #include "ScriptMgr.h" -#include "SystemConfig.h" +#include "Revision.h" class server_commandscript : public CommandScript { @@ -115,7 +115,7 @@ public: std::string uptime = secsToTimeString(sWorld->GetUptime()); uint32 updateTime = sWorld->GetUpdateTime(); - handler->SendSysMessage(_FULLVERSION); + handler->SendSysMessage(Revision::GetFullVersion()); handler->PSendSysMessage(LANG_CONNECTED_PLAYERS, playersNum, maxPlayersNum); handler->PSendSysMessage(LANG_CONNECTED_USERS, activeClientsNum, maxActiveClientsNum, queuedClientsNum, maxQueuedClientsNum); handler->PSendSysMessage(LANG_UPTIME, uptime.c_str()); diff --git a/src/server/shared/CMakeLists.txt b/src/server/shared/CMakeLists.txt index f91c684110a..2314c7b8edb 100644 --- a/src/server/shared/CMakeLists.txt +++ b/src/server/shared/CMakeLists.txt @@ -94,6 +94,8 @@ add_library(shared STATIC ${shared_STAT_PCH_SRC} ) +add_dependencies(shared revision_data.h) + # Generate precompiled header if (USE_COREPCH) add_cxx_pch(shared ${shared_STAT_PCH_HDR} ${shared_STAT_PCH_SRC}) diff --git a/src/server/shared/Debugging/WheatyExceptionReport.cpp b/src/server/shared/Debugging/WheatyExceptionReport.cpp index 02916ca12d2..70aa23a8eed 100644 --- a/src/server/shared/Debugging/WheatyExceptionReport.cpp +++ b/src/server/shared/Debugging/WheatyExceptionReport.cpp @@ -20,8 +20,7 @@ #include "WheatyExceptionReport.h" #include "Common.h" -#include "SystemConfig.h" -#include "revision.h" +#include "Revision.h" #define CrashFolder _T("Crashes") #pragma comment(linker, "/DEFAULTLIB:dbghelp.lib") @@ -131,10 +130,10 @@ PEXCEPTION_POINTERS pExceptionInfo) SYSTEMTIME systime; GetLocalTime(&systime); sprintf(m_szDumpFileName, "%s\\%s_%s_[%u-%u_%u-%u-%u].dmp", - crash_folder_path, _HASH, pos, systime.wDay, systime.wMonth, systime.wHour, systime.wMinute, systime.wSecond); + crash_folder_path, Revision::GetHash(), pos, systime.wDay, systime.wMonth, systime.wHour, systime.wMinute, systime.wSecond); sprintf(m_szLogFileName, "%s\\%s_%s_[%u-%u_%u-%u-%u].txt", - crash_folder_path, _HASH, pos, systime.wDay, systime.wMonth, systime.wHour, systime.wMinute, systime.wSecond); + crash_folder_path, Revision::GetHash(), pos, systime.wDay, systime.wMonth, systime.wHour, systime.wMinute, systime.wSecond); m_hDumpFile = CreateFile(m_szDumpFileName, GENERIC_WRITE, @@ -440,7 +439,7 @@ PEXCEPTION_POINTERS pExceptionInfo) GetLocalTime(&systime); // Start out with a banner - _tprintf(_T("Revision: %s\r\n"), _FULLVERSION); + _tprintf(_T("Revision: %s\r\n"), Revision::GetFullVersion()); _tprintf(_T("Date %u:%u:%u. Time %u:%u \r\n"), systime.wDay, systime.wMonth, systime.wYear, systime.wHour, systime.wMinute); PEXCEPTION_RECORD pExceptionRecord = pExceptionInfo->ExceptionRecord; diff --git a/src/server/shared/Logging/Appender.h b/src/server/shared/Logging/Appender.h index 17bc8d4e039..7c5aa41924d 100644 --- a/src/server/shared/Logging/Appender.h +++ b/src/server/shared/Logging/Appender.h @@ -107,7 +107,6 @@ class Appender uint8 id; std::string name; - AppenderType type; LogLevel level; AppenderFlags flags; }; diff --git a/src/server/shared/PrecompiledHeaders/sharedPCH.h b/src/server/shared/PrecompiledHeaders/sharedPCH.h index d99476bc7a8..f4c18f89ec1 100644 --- a/src/server/shared/PrecompiledHeaders/sharedPCH.h +++ b/src/server/shared/PrecompiledHeaders/sharedPCH.h @@ -8,3 +8,4 @@ #include "TypeList.h" #include "TaskScheduler.h" #include "EventMap.h" +#include "Revision.h" diff --git a/src/server/shared/Revision.cpp b/src/server/shared/Revision.cpp new file mode 100644 index 00000000000..79d53022a9e --- /dev/null +++ b/src/server/shared/Revision.cpp @@ -0,0 +1,73 @@ +#include "Revision.h" +#include "CompilerDefs.h" +#include "revision_data.h" + +char const* Revision::GetHash() +{ + return _HASH; +} + +char const* Revision::GetDate() +{ + return _DATE; +} + +char const* Revision::GetBranch() +{ + return _BRANCH; +} + +char const* Revision::GetSourceDirectory() +{ + return _SOURCE_DIRECTORY; +} + +char const* Revision::GetMySQLExecutable() +{ + return _MYSQL_EXECUTABLE; +} + +char const* Revision::GetFullDatabase() +{ + return _FULL_DATABASE; +} + +char const* Revision::GetHotfixesDatabase() +{ + return _HOTFIXES_DATABASE; +} + +#define _PACKAGENAME "TrinityCore" + +char const* Revision::GetFullVersion() +{ +#if PLATFORM == PLATFORM_WINDOWS +# ifdef _WIN64 + return _PACKAGENAME " rev. " VER_PRODUCTVERSION_STR " (Win64, " _BUILD_DIRECTIVE ")"; +# else + return _PACKAGENAME " rev. " VER_PRODUCTVERSION_STR " (Win32, " _BUILD_DIRECTIVE ")"; +# endif +#else + return _PACKAGENAME " rev. " VER_PRODUCTVERSION_STR " (Unix, " _BUILD_DIRECTIVE ")"; +#endif +} + +char const* GetCompanyNameStr() +{ + return VER_COMPANYNAME_STR; +} + +char const* GetLegalCopyrightStr() +{ + return VER_LEGALCOPYRIGHT_STR; +} + +char const* GetFileVersionStr() +{ + return VER_FILEVERSION_STR; +} + +char const* GetProductVersionStr() +{ + return VER_PRODUCTVERSION_STR; +} diff --git a/src/server/shared/SystemConfig.h b/src/server/shared/Revision.h index 7c519c7de57..efca375c4f9 100644 --- a/src/server/shared/SystemConfig.h +++ b/src/server/shared/Revision.h @@ -1,6 +1,5 @@ /* * Copyright (C) 2008-2015 TrinityCore <http://www.trinitycore.org/> - * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the @@ -16,29 +15,25 @@ * with this program. If not, see <http://www.gnu.org/licenses/>. */ -// THIS FILE IS DEPRECATED +#ifndef __REVISION_H__ +#define __REVISION_H__ -#ifndef TRINITY_SYSTEMCONFIG_H -#define TRINITY_SYSTEMCONFIG_H +#include <string> -#include "Define.h" -#include "revision.h" +namespace Revision +{ + char const* GetHash(); + char const* GetDate(); + char const* GetBranch(); + char const* GetSourceDirectory(); + char const* GetMySQLExecutable(); + char const* GetFullDatabase(); + char const* GetHotfixesDatabase(); + char const* GetFullVersion(); + char const* GetCompanyNameStr(); + char const* GetLegalCopyrightStr(); + char const* GetFileVersionStr(); + char const* GetProductVersionStr(); +} -#define _PACKAGENAME "TrinityCore" - -#if TRINITY_ENDIAN == TRINITY_BIGENDIAN -# define _ENDIAN_STRING "big-endian" -#else -# define _ENDIAN_STRING "little-endian" -#endif - -#if PLATFORM == PLATFORM_WINDOWS -# ifdef _WIN64 -# define _FULLVERSION _PACKAGENAME " rev. " VER_PRODUCTVERSION_STR " (Win64, " _BUILD_DIRECTIVE ")" -# else -# define _FULLVERSION _PACKAGENAME " rev. " VER_PRODUCTVERSION_STR " (Win32, " _BUILD_DIRECTIVE ")" -# endif -#else -# define _FULLVERSION _PACKAGENAME " rev. " VER_PRODUCTVERSION_STR " (Unix, " _BUILD_DIRECTIVE ")" -#endif #endif diff --git a/src/server/shared/Updater/DBUpdater.cpp b/src/server/shared/Updater/DBUpdater.cpp index 9e3bae11610..e6b9b8450d8 100644 --- a/src/server/shared/Updater/DBUpdater.cpp +++ b/src/server/shared/Updater/DBUpdater.cpp @@ -17,7 +17,7 @@ #include "DBUpdater.h" #include "Log.h" -#include "revision.h" +#include "Revision.h" #include "UpdateFetcher.h" #include "DatabaseLoader.h" #include "Config.h" @@ -40,7 +40,7 @@ std::string DBUpdater<T>::GetSourceDirectory() if (!entry.empty()) return entry; else - return _SOURCE_DIRECTORY; + return Revision::GetSourceDirectory(); } template<class T> @@ -50,7 +50,7 @@ std::string DBUpdater<T>::GetMySqlCli() if (!entry.empty()) return entry; else - return _MYSQL_EXECUTABLE; + return Revision::GetMySQLExecutable(); } // Auth Database @@ -95,7 +95,7 @@ std::string DBUpdater<WorldDatabaseConnection>::GetTableName() template<> std::string DBUpdater<WorldDatabaseConnection>::GetBaseFile() { - return _FULL_DATABASE; + return Revision::GetFullDatabase(); } template<> @@ -153,7 +153,7 @@ std::string DBUpdater<HotfixDatabaseConnection>::GetTableName() template<> std::string DBUpdater<HotfixDatabaseConnection>::GetBaseFile() { - return _HOTFIXES_DATABASE; + return Revision::GetHotfixesDatabase(); } template<> diff --git a/src/server/worldserver/CMakeLists.txt b/src/server/worldserver/CMakeLists.txt index f76da8e87fa..d5b68e89821 100644 --- a/src/server/worldserver/CMakeLists.txt +++ b/src/server/worldserver/CMakeLists.txt @@ -162,8 +162,6 @@ if( NOT WIN32 ) ) endif() -add_dependencies(worldserver revision.h) - if( UNIX AND NOT NOJEM AND NOT APPLE ) set(worldserver_LINK_FLAGS "-pthread -lncurses ${worldserver_LINK_FLAGS}") endif() diff --git a/src/server/worldserver/Main.cpp b/src/server/worldserver/Main.cpp index d0acfa279f6..e4c97b056a8 100644 --- a/src/server/worldserver/Main.cpp +++ b/src/server/worldserver/Main.cpp @@ -39,7 +39,7 @@ #include "BattlegroundMgr.h" #include "TCSoap.h" #include "CliRunnable.h" -#include "SystemConfig.h" +#include "Revision.h" #include "WorldSocket.h" #include "WorldSocketMgr.h" #include "BattlenetServerManager.h" @@ -130,7 +130,7 @@ extern int main(int argc, char** argv) // If logs are supposed to be handled async then we need to pass the io_service into the Log singleton sLog->Initialize(sConfigMgr->GetBoolDefault("Log.Async.Enable", false) ? &_ioService : nullptr); - TC_LOG_INFO("server.worldserver", "%s (worldserver-daemon)", _FULLVERSION); + TC_LOG_INFO("server.worldserver", "%s (worldserver-daemon)", Revision::GetFullVersion()); TC_LOG_INFO("server.worldserver", "<Ctrl-C> to stop.\n"); TC_LOG_INFO("server.worldserver", " ______ __"); TC_LOG_INFO("server.worldserver", "/\\__ _\\ __ __/\\ \\__"); @@ -247,7 +247,7 @@ extern int main(int argc, char** argv) sBattlenetServer.InitializeConnection(); - TC_LOG_INFO("server.worldserver", "%s (worldserver-daemon) ready...", _FULLVERSION); + TC_LOG_INFO("server.worldserver", "%s (worldserver-daemon) ready...", Revision::GetFullVersion()); sScriptMgr->OnStartup(); @@ -556,7 +556,7 @@ bool StartDB() ClearOnlineAccounts(); ///- Insert version info into DB - WorldDatabase.PExecute("UPDATE version SET core_version = '%s', core_revision = '%s'", _FULLVERSION, _HASH); // One-time query + WorldDatabase.PExecute("UPDATE version SET core_version = '%s', core_revision = '%s'", Revision::GetFullVersion(), Revision::GetHash()); // One-time query sWorld->LoadDBVersion(); @@ -624,7 +624,7 @@ variables_map GetConsoleArguments(int argc, char** argv, std::string& configFile } else if (vm.count("version")) { - std::cout << _FULLVERSION << "\n"; + std::cout << Revision::GetFullVersion() << "\n"; } return vm; diff --git a/src/server/worldserver/worldserver.rc b/src/server/worldserver/worldserver.rc index cc5545741d3..9af2db46ce0 100644 --- a/src/server/worldserver/worldserver.rc +++ b/src/server/worldserver/worldserver.rc @@ -17,7 +17,7 @@ */ #include "resource.h" -#include "revision.h" +#include "revision_data.h" #define APSTUDIO_READONLY_SYMBOLS ///////////////////////////////////////////////////////////////////////////// |