Commit Graph

387 Commits

Author SHA1 Message Date
Ovahlord
e36a66d632 Build: enable MSVC warning C5038 - member initialization order to get closer to the warning behavior of the other compilers 2025-01-18 22:57:04 +01:00
Shauren
de006c59f6 Build: Disable -Wmissing-field-initializers for clang, it now mirrors unwanted gcc behavior since version 18
(cherry picked from commit 93c8993314)
2024-11-28 17:24:40 +01:00
Shauren
c59a47e875 Build: Handle localized "Microsoft" name returned from Get-CimInstance
(cherry picked from commit bfb6c95518)
2024-10-05 18:46:01 +02:00
Keramat Jokar
4b1ba05579 Build: Add more detailed windows release name to revision_data.h (#30310)
(cherry picked from commit 83ca87d39e)
2024-10-05 18:45:54 +02:00
Shauren
70d2b3b34d Build: Add WITH_WARNINGS_AS_ERRORS cmake option that turns compile warnings into compile errors
(cherry picked from commit 7ac0c685dd)
2024-09-21 05:50:20 +02:00
Shauren
bf0e2fc469 Build: Automatically include WindowsSettings.manifest in all executables instead of listing it separately as source file in every target
(cherry picked from commit a21e7c738e)
2024-09-16 17:32:34 +02:00
Shauren
fdd44f70dd Core/Misc: CompilerDefs/GitRevision improvements
* Removed INTEL as a separate platform (it does not belong there)
* Removed BORLAND from known compilers list (it was never supported)
* Simplified TRINITY_PLATFORM_WINDOWS detection (_WIN32 is always defined)
* Rename revision_data.h macros that begin with a underscore
* Added processor architecture to --version string
* Added Linux distribution name to .server debug
* Fixed some revision_data.h macros missing/wrong values when regenerated during compilation
* Removed manual adding of _WIN64 macro from cmake (it is predefined internally by compiler)

(cherry picked from commit e8740fb2e1)

# Conflicts:
#	revision_data.h.in.cmake
2024-09-03 19:56:38 +02:00
Shauren
95714e4ece Build: Replace hardcoded mysql search paths with pattern based approach
(cherry picked from commit ab046bdc32)
2024-08-22 23:47:15 +02:00
Shauren
fc041b6fde Build: Extract hardcoded list of mysql paths to shared cmake variable
(cherry picked from commit 15209a9cfe)
2024-08-22 23:47:02 +02:00
Shauren
7fde1c91d3 Build: Disable maybe-uninitialized warning for GCC that incorrectly triggers with std::optional
(cherry picked from commit d93002f9a9)
2024-07-25 23:26:46 +02:00
Shauren
c12f669fc5 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)
2024-07-18 22:34:00 +02:00
Shauren
9866df17c0 Build: Decouple compiler specific settings from os settings
(cherry picked from commit 12d1f4448c)
2024-06-20 01:21:29 +02:00
Shauren
063551a65f Build: Normalize executable locations in build directory for all platforms
(cherry picked from commit a7c42f1ed5)

# Conflicts:
#	.github/workflows/win-x64-build.yml
2024-06-20 01:21:24 +02:00
Shauren
b7c0028bf5 Build: Unify setting _BUILD_DIRECTIVE preprocessor macro for all compilers
(cherry picked from commit 078bc6fe3f)
2024-06-20 01:20:31 +02:00
Shauren
ac7186a75f Build: Remove unneccessary /MP compile option when using ninja
(cherry picked from commit 1083e89da3)
2024-06-20 01:15:16 +02:00
Ovahlord
333d5751a9 Core/Cryptography: dropped support for OpenSSL 1.1
OpenSSL 1.1 has been deprecated for quite some time now so it is time to put it to rest. Please upgrade to OpenSSL 3.x

(cherry picked from commit 728e7c7fcf)
2024-05-28 16:59:07 +02:00
Shauren
1d3af156a3 Build: Update required GCC version to 11.1
(cherry picked from commit 16853af7c8)
2024-05-28 16:40:31 +02:00
lee
a9813ee6bb Build: Fix Linux aarch64 GCC build (#29831)
(cherry picked from commit 370685457e)
(cherry picked from commit 5c4b1ace41)
2024-03-28 20:27:25 +01:00
Shauren
ed11978fb8 Core/Misc: Fixed windows nopch build
(cherry picked from commit 261a237cfa)
2024-03-25 20:16:37 +01:00
Shauren
0e01b72df8 Build: Silence cmake warning about newline in variable 2024-03-01 15:18:08 +01:00
Shauren
8eac6224c0 Build: Replaced deprecated exec_program with execute_process 2024-03-01 11:36:10 +01:00
Shauren
34308dd6de Build: Perform CMake check_cxx_source_compiles checks using the same C++ standard as used in the project 2024-02-29 23:20:37 +01:00
Shauren
20b29c5ff5 Core/Misc: Allow formatting optionals with Trinity::StringFormat 2024-02-28 20:42:20 +01:00
Shauren
eac4bf825a Build: Reuse PCH file between all script modules 2024-02-25 00:05:19 +01:00
Shauren
7e51d17a0a Build: Improve ARM target detection in cmake (needed by MSVC) 2024-02-17 01:13:36 +01:00
Ovahlord
7199ccf156 CMake: added MySQL 8.3 to FindMySQL cmake macro 2024-02-07 09:16:12 +01:00
Ovahlord
b6a35c7920 CMake: added MySQL 8.2 to FindMySQL cmake macro 2023-12-22 16:40:43 +01:00
Shauren
94aed68968 Build: Fixed finding openssl 3.2 on windows 2023-12-05 18:04:30 +01:00
Shauren
333630b7de Core/Misc: Added windows version checks during startup to avoid confusion about crashes when running on unsupported OS 2023-12-01 19:53:13 +01:00
Shauren
eb847ff537 Build: Fixed msvc version check 2023-10-29 12:14:36 +01:00
Shauren
0a0b420d86 Build: Support ASAN on msvc 2023-08-22 12:56:13 +02:00
Shauren
c489e26207 Dep: Support mysql 8.1 on windows 2023-08-07 19:25:33 +02:00
Shauren
0aa644287c Build/GCC: Disable useless warning 2023-07-30 00:23:31 +02:00
Shauren
1ed8bfa080 Build: Increase required msvc version slightly 2023-07-25 11:42:08 +02:00
Ovahlord
d535977c6d Build: moved MSVC warning C5054 from warning level 4 to 3 2023-07-11 18:49:52 +02:00
Shauren
eadafb0347 Core/DBLayer: Relaxed restrictions on which Field class member function can be used to access column value from "strict match" to "must not truncate" 2023-05-14 16:30:05 +02:00
Shauren
8d353f20fd Build: Fixed copypaste mistake in appleclang version check 2023-04-10 14:09:23 +02:00
Shauren
083b8d6c84 Core/Misc: Fix build with libc++
Closes #28909
2023-04-10 00:08:32 +02:00
Shauren
03837b2525 Build: Make genrev more resilient to invalid source code checkouts 2023-02-03 11:14:59 +01:00
Shauren
989f84c5f2 Build: Enable C++20 2023-01-01 00:26:53 +01:00
Shauren
0a1b40241a Build: Update required compilers to current debian stable and VS 2022
GCC: 10
Clang: 11
MSVC: 2022
2023-01-01 00:26:53 +01:00
Shauren
add53fb3ef Build: Update required cmake version to 3.18
* Remove cotire
2022-09-06 19:27:50 +02:00
Shauren
b8f18fad29 Core/Crypto: Remove support for OpenSSL 1.0 2022-09-06 12:51:08 +02:00
Shauren
e9152679d7 Build: Fixed finding mysql binary on first cmake run
Closes #28133
2022-07-19 00:33:07 +02:00
Shauren
ae6b9e6c41 Build: Modernize mysql finding script 2022-06-20 22:43:22 +02:00
Shauren
091e71502c Build: Improve automatic finding of libraries on mac 2022-06-17 18:04:02 +02:00
vconcat
675af93f13 Dep: Support MySQL installations from vcpkg (#27780)
(cherry picked from commit f47bd13db3)
2022-06-10 15:18:39 +02:00
Shauren
370dd97998 Build: Prioritize manually selected openssl location over default installed one 2022-05-03 19:02:48 +02:00
Shauren
bc87f7b337 Core/Crypto: Switch away from most deprecated openssl functions and removed upper version limit 2022-05-03 17:03:57 +02:00
Trulsrock
65521a40d2 Added from_hex for OpenSSL version parsing (#26730)
(cherry picked from commit 657970fb69)
2022-03-11 19:08:48 +01:00