Commit Graph

347 Commits

Author SHA1 Message Date
Shauren
faef73f472 Build: Replace hardcoded mysql search paths with pattern based approach 2025-05-11 18:40:43 +02:00
Shauren
ca6aa74545 Build: Extract hardcoded list of mysql paths to shared cmake variable 2025-05-11 18:40:43 +02:00
Shauren
8719b30d57 Build: Disable maybe-uninitialized warning for GCC that incorrectly triggers with std::optional
(cherry picked from commit d93002f9a9)
2025-04-13 19:05:27 +02:00
Shauren
8cbb263c14 Build: CMake cleanup
* Migrate all add_definitions to target_compile_definitions
* Remove -D from preprocessor definitions added by target_compile_definitions (unneccessary, cmake strips it anyway)
* Fixed NO_BUFFERPOOL not being set on g3d if jemalloc is used
* Moved library/compiler specific compile flag settings spread all over various CMakeLists to their related library/compiler file
* Remove ancient manual link flag settings for worldserver

(cherry picked from commit 77fe2745fe)
2025-04-13 19:05:21 +02:00
Shauren
5269de5919 Build: Decouple compiler specific settings from os settings
(cherry picked from commit 12d1f4448c)
2025-04-13 18:23:15 +02:00
Shauren
3a2bb2fcfd Build: Normalize executable locations in build directory for all platforms
(cherry picked from commit a7c42f1ed5)
2025-04-13 18:22:53 +02:00
Shauren
857d0b2c27 Build: Unify setting _BUILD_DIRECTIVE preprocessor macro for all compilers
(cherry picked from commit 078bc6fe3f)
2025-04-13 18:17:40 +02:00
Shauren
b7783c9cfb Build: Remove unneccessary /MP compile option when using ninja
(cherry picked from commit 1083e89da3)
2025-04-13 18:17:04 +02:00
Shauren
4bc23a0753 Build: Silence cmake warning about newline in variable
(cherry picked from commit 0e01b72df8)
2025-04-13 18:08:37 +02:00
Shauren
9cfd55e931 Build: Replaced deprecated exec_program with execute_process
(cherry picked from commit 8eac6224c0)
2025-04-13 18:07:47 +02:00
Shauren
27b759ef6a Build: Perform CMake check_cxx_source_compiles checks using the same C++ standard as used in the project
(cherry picked from commit 34308dd6de)
2025-04-13 18:06:43 +02:00
Foe
6a5fa255fe Build: Allow efsw to be built independently of WITH_DYNAMIC_LINKING option (#30019) 2024-06-02 17:44:24 +02:00
Shauren
6817ad93d7 Build: Update required GCC version to 11.1
(cherry picked from commit 16853af7c8)
2024-04-10 16:16:38 +02:00
lee
370685457e Build: Fix Linux aarch64 GCC build (#29831) 2024-03-27 10:50:07 +01:00
Shauren
e48cedb3ed Core/Misc: Fixed windows nopch build
(cherry picked from commit 261a237cfa)
2024-03-13 22:12:16 +01:00
Shauren
45d7a44555 Build: Reuse PCH file between all script modules
(cherry picked from commit eac4bf825a)
2024-02-26 12:29:16 +01:00
Shauren
73d2e9d6d6 Build: Improve ARM target detection in cmake (needed by MSVC)
(cherry picked from commit 7e51d17a0a)
2024-02-26 12:29:16 +01:00
Ovahlord
11b6b476d6 CMake: added MySQL 8.3 to FindMySQL cmake macro
(cherry picked from commit 7199ccf156)
2024-02-26 12:29:16 +01:00
Ovahlord
b989e1701b CMake: added MySQL 8.2 to FindMySQL cmake macro
(cherry picked from commit b6a35c7920)
2024-02-26 12:29:16 +01:00
Shauren
26f7dfb197 Build: Fixed msvc version check
(cherry picked from commit eb847ff537)
2024-02-26 12:29:16 +01:00
Shauren
ebb4bdf2d1 Dep: Support mysql 8.1 on windows
(cherry picked from commit c489e26207)
2024-02-26 12:26:37 +01:00
Shauren
6a41b0dc06 Build/GCC: Disable useless warning
(cherry picked from commit 0aa644287c)
2024-02-26 12:26:37 +01:00
Shauren
0929d3dfdd Build: Increase required msvc version slightly
(cherry picked from commit 1ed8bfa080)
2024-02-26 12:26:37 +01:00
Ovahlord
e6069c14ab Build: moved MSVC warning C5054 from warning level 4 to 3
(cherry picked from commit d535977c6d)
2024-02-26 12:26:36 +01:00
Shauren
4d220221bf Build: Fixed copypaste mistake in appleclang version check
(cherry picked from commit 8d353f20fd)
2024-02-26 12:23:57 +01:00
Shauren
367c5db9f4 Core/Misc: Fix build with libc++
Closes #28909

(cherry picked from commit 083b8d6c84)
2024-02-26 12:23:57 +01:00
Shauren
f7a59ea707 Build: Update required cmake version to 3.18
* Remove cotire

(cherry picked from commit add53fb3ef)
2024-02-26 12:17:31 +01:00
Shauren
182cf7bc0e Build: Make genrev more resilient to invalid source code checkouts
(cherry picked from commit 03837b2525)
2024-02-26 12:17:31 +01:00
Shauren
acb43896f2 Build: Fixed finding mysql binary on first cmake run
Closes #28133

(cherry picked from commit e9152679d7)
2024-02-26 12:16:50 +01:00
Shauren
faa8c9b710 Build: Modernize mysql finding script
(cherry picked from commit ae6b9e6c41)
2024-02-26 12:16:50 +01:00
Shauren
c1f90390d9 Build: Improve automatic finding of libraries on mac
(cherry picked from commit 091e71502c)
2024-02-26 12:16:50 +01:00
Shauren
c703497655 Build: Partial support for clang-cl
(cherry picked from commit 0b846b2107)
2024-02-26 12:16:13 +01:00
Shauren
0ce6a573a6 Build: Enable some msvc warnings that are enabled for other compilers
(cherry picked from commit 73b4b1733a)
2024-02-26 12:16:13 +01:00
Shauren
5e7b8cebf3 Build: Fixed finding openssl 3.2 on windows
(cherry picked from commit 94aed68968)
2023-12-05 19:24:32 +01:00
Shauren
eb50b29ab3 Core/Misc: Added windows version checks during startup to avoid confusion about crashes when running on unsupported OS
(cherry picked from commit 333630b7de)
2023-12-02 15:57:09 +01:00
Shauren
ca03ecf3e6 Build: Support ASAN on msvc
(cherry picked from commit 0a0b420d86)
2023-08-23 14:23:56 +02:00
Shauren
24fc0dcb1e Core/DBLayer: Relaxed restrictions on which Field class member function can be used to access column value from "strict match" to "must not truncate"
(cherry picked from commit eadafb0347)
2023-08-15 22:00:22 +02:00
Shauren
aaa6e73c8c Core/Logging: Switch from fmt::sprintf to fmt::format (c++20 standard compatible api)
(cherry picked from commit d791afae1d)
2023-08-15 20:10:04 +02:00
Shauren
d0553d499b Build: Enable C++20
(cherry picked from commit 989f84c5f2)
2023-08-12 14:24:30 +02:00
Shauren
97c977d0fb Build: Update required compilers to current debian stable and VS 2022
GCC: 10
Clang: 11
MSVC: 2022
(cherry picked from commit 0a1b40241a)
2023-08-12 14:24:30 +02:00
Shauren
320bf3755b Build: Prioritize manually selected openssl location over default installed one
(cherry picked from commit 370dd97998)
2022-06-16 12:37:00 +02:00
Shauren
77091ed599 Core/Crypto: Switch away from most deprecated openssl functions and removed upper version limit
(cherry picked from commit bc87f7b337)
2022-06-16 12:37:00 +02:00
vconcat
f47bd13db3 Dep: Support MySQL installations from vcpkg (#27780) 2022-04-05 11:45:29 +02:00
Shauren
e073e09b86 Build: Modernize readline finding script
(cherry picked from commit 203f1197b4)
2021-10-06 10:36:33 +02:00
Shauren
77596dba67 Build: Update FindOpenSSL.cmake and remove custom FindGit 2021-09-22 18:49:33 +02:00
Shauren
883f6eeb36 Build: Fixed branch name displayed by appveyor binaries
(cherry picked from commit 85671f20d8)
2021-09-05 15:03:14 +02:00
Shauren
bec81b1d7b Build: Replace git describe with more script friendly alternative, git rev-parse and git diff-index
(cherry picked from commit 29659b4192)
2021-08-31 11:30:42 +02:00
Trulsrock
657970fb69 Added from_hex for OpenSSL version parsing (#26730) 2021-07-21 20:00:49 +02:00
Carbenium
0ea73a2905 Build: Remove fine-grained CXX feature checks
With C++17 enabled these don't serve an purpose anymore.
See https://cmake.org/cmake/help/latest/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.html
2021-06-28 00:43:39 +02:00
Shauren
68a490923d Build: Set correct year in VER_LEGALCOPYRIGHT_STR 2021-05-16 22:32:42 +02:00