fix: Allow Gui to work with core ,server or client binaries
fixes: #7951
This commit is contained in:
parent
b2aa638b1f
commit
7cac145500
3 changed files with 38 additions and 10 deletions
|
|
@ -1,8 +1,24 @@
|
||||||
# SPDX-FileCopyrightText: (C) 2024 - 2025 Chris Rizzitello <sithlord48@gmail.com>
|
# SPDX-FileCopyrightText: (C) 2024 - 2025 Chris Rizzitello <sithlord48@gmail.com>
|
||||||
# SPDX-License-Identifier: MIT
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
if(BUILD_UNIFIED)
|
||||||
|
set(CLIENT_BINARY "${CMAKE_PROJECT_NAME}-core")
|
||||||
|
set(SERVER_BINARY "${CMAKE_PROJECT_NAME}-core")
|
||||||
|
else()
|
||||||
|
set(CLIENT_BINARY "${CMAKE_PROJECT_NAME}-client")
|
||||||
|
set(SERVER_BINARY "${CMAKE_PROJECT_NAME}-server")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
string(APPEND CLIENT_BINARY ".exe")
|
||||||
|
string(APPEND SERVER_BINARY ".exe")
|
||||||
|
endif()
|
||||||
|
|
||||||
configure_file(Constants.h.in Constants.h @ONLY)
|
configure_file(Constants.h.in Constants.h @ONLY)
|
||||||
|
|
||||||
|
unset(CLIENT_BINARY)
|
||||||
|
unset(SERVER_BINARY)
|
||||||
|
|
||||||
add_library(common STATIC
|
add_library(common STATIC
|
||||||
Common.h
|
Common.h
|
||||||
Settings.h
|
Settings.h
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,10 @@ const auto kCopyright = //
|
||||||
"Copyright (C) 2009-2012 Nick Bolton\n"
|
"Copyright (C) 2009-2012 Nick Bolton\n"
|
||||||
"Copyright (C) 2002-2009 Chris Schoeneman";
|
"Copyright (C) 2002-2009 Chris Schoeneman";
|
||||||
|
|
||||||
|
|
||||||
|
const auto kClientBinName = "@CLIENT_BINARY@";
|
||||||
|
const auto kServerBinName = "@SERVER_BINARY@";
|
||||||
|
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
const auto kDebugBuild = true;
|
const auto kDebugBuild = true;
|
||||||
#else
|
#else
|
||||||
|
|
@ -44,13 +48,7 @@ const auto kWindowsRegistryKey = "SOFTWARE\\@CMAKE_PROJECT_PROPER_NAME@";
|
||||||
const auto kCloseEventName = "Global\\@CMAKE_PROJECT_PROPER_NAME@Close";
|
const auto kCloseEventName = "Global\\@CMAKE_PROJECT_PROPER_NAME@Close";
|
||||||
const auto kSendSasEventName = "Global\\@CMAKE_PROJECT_PROPER_NAME@SendSAS";
|
const auto kSendSasEventName = "Global\\@CMAKE_PROJECT_PROPER_NAME@SendSAS";
|
||||||
|
|
||||||
const auto kClientBinName = "@CMAKE_PROJECT_NAME@-client.exe";
|
|
||||||
const auto kServerBinName = "@CMAKE_PROJECT_NAME@-server.exe";
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
const auto kClientBinName = "@CMAKE_PROJECT_NAME@-client";
|
|
||||||
const auto kServerBinName = "@CMAKE_PROJECT_NAME@-server";
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -330,6 +330,8 @@ void CoreProcess::handleLogLines(const QString &text)
|
||||||
|
|
||||||
void CoreProcess::start(std::optional<ProcessMode> processModeOption)
|
void CoreProcess::start(std::optional<ProcessMode> processModeOption)
|
||||||
{
|
{
|
||||||
|
using enum Settings::CoreMode;
|
||||||
|
|
||||||
QMutexLocker locker(&m_processMutex);
|
QMutexLocker locker(&m_processMutex);
|
||||||
|
|
||||||
const auto currentMode = Settings::value(Settings::Core::ProcessMode).value<ProcessMode>();
|
const auto currentMode = Settings::value(Settings::Core::ProcessMode).value<ProcessMode>();
|
||||||
|
|
@ -363,16 +365,28 @@ void CoreProcess::start(std::optional<ProcessMode> processModeOption)
|
||||||
|
|
||||||
QString app;
|
QString app;
|
||||||
QStringList args;
|
QStringList args;
|
||||||
|
|
||||||
addGenericArgs(args, processMode);
|
addGenericArgs(args, processMode);
|
||||||
|
|
||||||
if (mode() == Settings::CoreMode::Server && !addServerArgs(args, app)) {
|
if (mode() == Server && !addServerArgs(args, app)) {
|
||||||
qWarning("failed to add server args for core process, aborting start");
|
qWarning("failed to add server args for core process, aborting start");
|
||||||
return;
|
return;
|
||||||
} else if (mode() == Settings::CoreMode::Client && !addClientArgs(args, app)) {
|
} else if (mode() == Client && !addClientArgs(args, app)) {
|
||||||
qWarning("failed to add client args for core process, aborting start");
|
qWarning("failed to add client args for core process, aborting start");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (app.endsWith("core") || app.endsWith("core.exe")) {
|
||||||
|
if (mode() == Server) {
|
||||||
|
args.prepend("server");
|
||||||
|
} else if (mode() == Client) {
|
||||||
|
args.prepend("client");
|
||||||
|
} else {
|
||||||
|
qFatal("core started without mode");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
qDebug().noquote() << "log level:" << Settings::logLevelText();
|
qDebug().noquote() << "log level:" << Settings::logLevelText();
|
||||||
|
|
||||||
if (Settings::value(Settings::Log::ToFile).toBool())
|
if (Settings::value(Settings::Log::ToFile).toBool())
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue