Strip dead Windows-only code paths, add LTO/march build flags, seed default GM account

Removes now-unreachable #ifdef _WIN32 branches across Common/ and the three
server binaries (all builds are Linux-only), deletes the entirely unused
SEH exception-handling shim and an orphaned vendored MySQL client header.
Enables LTO and -march=x86-64-v2 in Release builds for a small free perf win.

Also seeds a default GM account (gmadmin/changeme) via
database sql files/gm_account.sql so a fresh deploy has something to log
into the web admin panel with, switches the MariaDB data directory from a
Docker named volume to a host bind mount for visibility/backup, and expands
the README with a fuller Docker deployment walkthrough.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
ThomasandClaude Sonnet 5 committed 2026-07-10 15:42:36 +02:00
1 parent 1e47731d7a
commit 1998bf4273
27 files changed
+101 -1178

No files matched your search

+12 -1
View File
@@ -34,17 +34,28 @@ add_compile_options(
# in Release builds only). -fwrapv makes overflow well-defined instead
# of auditing every arithmetic expression in the tree.
-fwrapv
# x86-64-v2 (SSE4.2/POPCNT baseline, ~2009+ CPUs) is safe for any real
# deployment target and gets a bit more codegen than the generic x86-64
# baseline GCC defaults to.
-march=x86-64-v2
-include "${CMAKE_SOURCE_DIR}/Src/Common/compat.h"
)
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
# Link-time optimization: lets GCC inline/optimize across the many small
# .cpp translation units instead of only within each one.
include(CheckIPOSupported)
check_ipo_supported(RESULT IPO_SUPPORTED OUTPUT IPO_ERROR)
if(IPO_SUPPORTED AND CMAKE_BUILD_TYPE STREQUAL "Release")
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)
endif()
set(COMMON_SOURCES
"Src/Common/config.cpp"
"Src/Common/database/database.cpp"
"Src/Common/globals.cpp"
"Src/Common/log.cpp"
"Src/Common/rosecrypt.cpp"
"Src/Common/seh.cpp"
"Src/Common/SocketBase.cpp"
"Src/Common/SocketClient.cpp"
"Src/Common/SocketServer.cpp"