aboutsummaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-09-15 12:40:54 +0200
committerShauren <shauren.trinity@gmail.com>2025-08-30 22:55:25 +0200
commit7e1e441dfadc157fbba8c05539fad6a5b9525ea4 (patch)
treeb0817a2468bef37a3cf5f742dd3b8ad4a1cd54b1 /src/server
parent59e5ddd9670627f305e9b19048942ccd9992851d (diff)
Core/Common: Compile ServiceWin32 as part of common project instead of directly adding its source files to both server executables
(cherry picked from commit 052f2d0a81460ba484c27d05fe34673cf467c75e)
Diffstat (limited to 'src/server')
-rw-r--r--src/server/CMakeLists.txt7
-rw-r--r--src/server/authserver/Main.cpp7
-rw-r--r--src/server/worldserver/Main.cpp11
3 files changed, 10 insertions, 15 deletions
diff --git a/src/server/CMakeLists.txt b/src/server/CMakeLists.txt
index e4e795ba8a1..75dbc1d57ae 100644
--- a/src/server/CMakeLists.txt
+++ b/src/server/CMakeLists.txt
@@ -8,13 +8,6 @@
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-if(WIN32)
- list(APPEND sources_windows
- ${CMAKE_SOURCE_DIR}/src/common/Platform/ServiceWin32.cpp
- ${CMAKE_SOURCE_DIR}/src/common/Platform/ServiceWin32.h
- )
-endif(WIN32)
-
add_subdirectory(database)
add_subdirectory(shared)
add_subdirectory(game)
diff --git a/src/server/authserver/Main.cpp b/src/server/authserver/Main.cpp
index fa735217fca..6474b15429e 100644
--- a/src/server/authserver/Main.cpp
+++ b/src/server/authserver/Main.cpp
@@ -103,12 +103,13 @@ int main(int argc, char** argv)
return 0;
#if TRINITY_PLATFORM == TRINITY_PLATFORM_WINDOWS
+ Trinity::Service::Init(serviceLongName, serviceName, serviceDescription, &main, &m_ServiceStatus);
if (winServiceAction == "install")
- return WinServiceInstall() == true ? 0 : 1;
+ return Trinity::Service::Install();
if (winServiceAction == "uninstall")
- return WinServiceUninstall() == true ? 0 : 1;
+ return Trinity::Service::Uninstall();
if (winServiceAction == "run")
- return WinServiceRun() ? 0 : 1;
+ return Trinity::Service::Run();
#endif
std::string configError;
diff --git a/src/server/worldserver/Main.cpp b/src/server/worldserver/Main.cpp
index 2b05c996ce3..b78a45fd3ae 100644
--- a/src/server/worldserver/Main.cpp
+++ b/src/server/worldserver/Main.cpp
@@ -74,7 +74,7 @@ namespace fs = boost::filesystem;
#define _TRINITY_CORE_CONFIG_DIR "worldserver.conf.d"
#endif
-#ifdef _WIN32
+#if TRINITY_PLATFORM == TRINITY_PLATFORM_WINDOWS
#include "ServiceWin32.h"
#include <tchar.h>
TCHAR serviceName[] = _T("worldserver");
@@ -127,7 +127,7 @@ bool LoadRealmInfo(Trinity::Asio::IoContext& ioContext);
variables_map GetConsoleArguments(int argc, char** argv, fs::path& configFile, fs::path& configDir, std::string& winServiceAction);
/// Launch the Trinity server
-extern int main(int argc, char** argv)
+int main(int argc, char** argv)
{
Trinity::Impl::CurrentServerProcessHolder::_type = SERVER_PROCESS_WORLDSERVER;
signal(SIGABRT, &Trinity::AbortHandler);
@@ -146,12 +146,13 @@ extern int main(int argc, char** argv)
return 0;
#ifdef _WIN32
+ Trinity::Service::Init(serviceLongName, serviceName, serviceDescription, &main, &m_ServiceStatus);
if (winServiceAction == "install")
- return WinServiceInstall() ? 0 : 1;
+ return Trinity::Service::Install();
if (winServiceAction == "uninstall")
- return WinServiceUninstall() ? 0 : 1;
+ return Trinity::Service::Uninstall();
if (winServiceAction == "run")
- return WinServiceRun() ? 0 : 1;
+ return Trinity::Service::Run();
Optional<UINT> newTimerResolution;
boost::system::error_code dllError;