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
Jan Van Buggenhout
d8940f35a9
CONF_DIR ( #26360 )
2021-04-17 15:52:32 +02:00
Giacomo Pozzoni
dc78b5a6a7
CMake: Add WITH_BOOST_STACKTRACE option to use libbacktrace ( #26119 )
...
* CMake: Add WITH_BOOST_STACKTRACE option to use libbacktrace
* Allow to specify where backtrace.h header is with cmake option -DBOOST_STACKTRACE_BACKTRACE_INCLUDE_FILE="/usr/lib/gcc/x86_64-linux-gnu/10/include/backtrace.h"
Co-authored-by: Trond B. Krokli <38162891+illfated@users.noreply.github.com >
2021-02-21 22:16:13 +01:00
Kargatum
a32b6b8ac4
Core: whitespace cleanup, reduce double blank line to single ( #25795 )
...
* Core/Misc: fix double empty line
* worldserver.conf
2021-01-03 11:47:07 +01:00
Giacomo Pozzoni
a4e93d779c
Improve multithreading of mmaps_generator ( #25625 )
...
* Build/Misc: Add a few *San CMake flags
Add the following flags for the related tools:
- MSAN for Memory Sanitizer
- UBSAN for Undefined Behavior Sanitizer
- TSAN for Thread Sanitizer
* Remove unused parameter
* Fix UBSan reported issue
* Disable G3D buffer pools when using Thread Sanitizer as it has its custom locking mechanisms
* Code cleanup
* Move threads from maps to tiles
* Move tile building logic to TileBuilder class
* Fix memory leak in TileBuilder
* Fix build
* Store TileBuilder as raw pointer for now, it will be changed later on to use modern C++ constructs
* Fix crash on shutdown
* Revert pvs-studio change
* Fix generating 1 single tile not closing the program
2020-12-06 17:52:13 +01:00
Shauren
aba07047a0
Build: Fixed finding OpenSSL 1.1.1 installed from .msi packages instead of .exe
...
Closes #24664
2020-09-09 13:44:46 +02:00
Kargatum
277b401df4
Core/Mysql: support MariaDB 10.5 ( #25359 )
2020-08-30 22:47:48 +02:00
Treeston
cd30e0b86c
Common/Utilities: Centralize string -> T conversion in StringConvert.h (PR #25335 )
2020-08-26 23:31:45 +02:00
Treeston
27b1930d97
Build: Add Clang version guard to CMake (PR #25324 )
2020-08-24 17:44:38 +02:00
Giacomo Pozzoni
41d70a5905
Build/GCC: Raise required version to 8.3.0 ( #25297 )
...
Even when building with Clang, make sure to have libstdc++ >= 8
2020-08-21 13:51:29 +02:00
Shauren
c8fed48b16
Build: Enable /permissive- flag on msvc
2020-08-04 15:50:31 +02:00
Giacomo Pozzoni
36ef487a90
Core/Metric: Add new cmake option WITH_DETAILED_METRICS to enable more metrics ( #25136 )
...
* Core/Metric: Add new cmake option WITH_DETAILED_METRICS to enable more metrics
Add more detailed metrics in World::UpdateSessions().
* Attempt using C++17 features
* Fix cmake typo
Co-authored-by: NoName <322016+Faq@users.noreply.github.com >
* Fix build with WITHOUT_METRICS
* Update Performance profiling dashboard with Update sessions panel
* Add panel to show sessions with update time above 100 ms
* Move legends on the right and add max update time diff in the legend of sessions
Co-authored-by: NoName <322016+Faq@users.noreply.github.com >
2020-07-27 14:00:28 +02:00
Carbenium
796e2b32e0
Build: Add WITH_LD_GOLD option to use gold linker on unix
...
gold is an ELF-only linker which has a better performance
than the default ld.
2020-07-25 18:00:20 +02:00
Carbenium
6a28ee7b2a
dep: Add catch2 unit test framework and wire it up
...
To enable the test suite, make sure to configure CMake with -DBUILD_TESTING=1 , since it is disabled by default. The catch2 dependency will be downloaded during configure time.
Also add a new target "tests-common", which includes unit tests for the "common" project. To finally run the tests use the "test" target.
CircleCI: Run unit tests
2020-07-24 12:00:54 +02:00
Giacomo Pozzoni
3c0ac7302f
Core/Metric: Add more metrics about World::Update() loop ( #25098 )
...
* Core/Metric: Add more metrics about World::Update() loop
* Add new Performance profiling grafana dashboard
* Add new cmake setting WITHOUT_METRICS that disables all metrics
As new metrics are added, someone might want to disable them if unused.
* Add more metrics about World::Update() loop
* Remove old performance profiling features
Remove "server set difftime" command, "-RecordUpdateTimeDiffInterval" and "MinRecordUpdateTimeDiff" worldserver config settings and their related code.
The whole UpdateTime class could be removed too.
* Update and rename 2020_07_99_99_world.sql to 2020_07_24_00_world.sql
2020-07-24 00:30:16 +02:00
Peter Keresztes Schmidt
e6e5775be8
Build: Enable -Wimplicit-fallthrough on clang ( #25056 )
...
* Misc: Use [[fallthrough]] attribute instead of comment to mark intentional fallthroughs
Related: #25006
* Misc: Add some missing breaks (no-ops) to satisfy clang
Related: #25006
Closes #25055
* Build: Enable -Wimplicit-fallthrough on clang
Closes #25006
2020-07-18 20:43:16 +02:00
Shauren
524d167398
Dep: Switch to boost process instead of old standalone version
2020-07-15 19:33:12 +02:00
Shauren
042b1abfd7
Fix warnings related to Vector3::operator= and remove -Wno-deprecated-copy suppression
2020-07-13 18:35:13 +02:00
ipriver
a46d047f94
fixed indentation for cmake files
2020-06-24 14:42:02 +02:00
ipriver
dc467ee0f6
Additional cmake entry for configs
...
Closes #24812
Co-authored-by: Carbenium <carbenium@outlook.com >
2020-06-19 15:06:03 +02:00
Max Drosdo.www
60e813df6b
removed legacy cmake libsdir entry ( #24813 )
2020-06-16 14:22:46 +02:00
Peter Keresztes Schmidt
cb5694607d
CP of CMake: Prepare for target_precompile_headers ( #24810 ) for 3.3.5 ( #24816 )
...
* CMake: Remove guards around CMP0043 and CMP0054
We require CMake >= 3.8 which includes the policies.
CMP0043 OLD behaviour is still required by cotire.
(cherry picked from commit 18ad767226 )
* CMake: Use target_precompile_headers instead of cotire with CMake >= 3.16.0
(cherry picked from commit f387673aa3 )
2020-06-16 13:38:37 +02:00
Giacomo Pozzoni
8c09b6e58b
Cherry-pick some cmake commits ( #24720 )
...
* Build system: Support new in cmake 3.17 Ninja Multi-Config generator
(cherry picked from commit 369b618d4f )
* Build system: Fixed PCH with MSVC & Ninja generator
(cherry picked from commit d669f46b6d )
* Core: Fix clang 10 warnings
(cherry picked from commit 7272508cb4 )
# Conflicts:
# src/common/Utilities/Util.h
# src/server/bnetserver/REST/LoginRESTService.cpp
# src/server/game/Entities/Object/Position.h
# src/server/game/Entities/Player/Player.cpp
# src/server/game/Guilds/GuildFinderMgr.h
# src/server/game/Movement/Spline/MoveSplineFlag.h
# src/server/shared/Dynamic/LinkedList.h
* Build system: Set -Wno-deprecated-copy only for clang 10
(cherry picked from commit 7fdeb259ba )
* Core/Misc: GCC build and warning fixes
(cherry picked from commit 4d69cc1c56 )
# Conflicts:
# src/common/Utilities/Util.cpp
# src/server/database/Database/MySQLConnection.cpp
# src/server/game/Battlefield/Zones/BattlefieldTB.cpp
# src/server/game/DataStores/M2Stores.cpp
# src/server/game/DungeonFinding/LFGMgr.cpp
# src/server/game/DungeonFinding/LFGPlayerData.cpp
# src/server/game/Entities/GameObject/GameObject.cpp
# src/server/game/Entities/Item/Item.cpp
# src/server/game/Entities/Object/Updates/UpdateFields.h
# src/server/game/Entities/Player/Player.cpp
# src/server/game/Entities/Player/RestMgr.cpp
# src/server/game/Entities/Unit/Unit.cpp
# src/server/game/Handlers/PetHandler.cpp
# src/server/game/Server/Packets/GuildPackets.h
# src/server/game/Spells/Auras/SpellAuraEffects.cpp
# src/server/game/Spells/Auras/SpellAuras.cpp
# src/server/game/Spells/Spell.cpp
# src/server/game/Spells/SpellInfo.cpp
# src/server/game/Spells/SpellMgr.cpp
# src/server/scripts/Argus/AntorusTheBurningThrone/boss_garothi_worldbreaker.cpp
# src/server/scripts/Kalimdor/HallsOfOrigination/instance_halls_of_origination.cpp
# src/server/scripts/Northrend/IcecrownCitadel/instance_icecrown_citadel.cpp
# src/server/scripts/Northrend/Ulduar/Ulduar/boss_mimiron.cpp
# src/server/scripts/Northrend/zone_sholazar_basin.cpp
# src/server/scripts/Outland/BlackTemple/instance_black_temple.cpp
# src/server/scripts/Outland/GruulsLair/instance_gruuls_lair.cpp
# src/server/scripts/Outland/HellfireCitadel/BloodFurnace/instance_blood_furnace.cpp
# src/server/scripts/Outland/HellfireCitadel/ShatteredHalls/shattered_halls.cpp
# src/tools/vmap4_extractor/gameobject_extract.cpp
# src/tools/vmap4_extractor/model.cpp
# src/tools/vmap4_extractor/vec3d.h
* Build system: Print found git version when warning about it being too old
(cherry picked from commit 1ae72db201 )
* Build system: Removed hard requirement on BOOST_ROOT being set as environment variable, it can now be also passed as command line argument to cmake and fix compile warning with boost 1.73
(cherry picked from commit 161944b764 )
# Conflicts:
# dep/boost/CMakeLists.txt
* Remove some code that was already removed from 335 and then cherry-picked into master
Co-authored-by: Shauren <shauren.trinity@gmail.com >
2020-05-31 14:17:26 +02:00
Giacomo Pozzoni
7c91c423d0
Build: Add support to MariaDB 10.4 on Windows
...
MariaDB 10.4 (latest stable) is the only supported version.
2020-04-24 19:35:40 +02:00
Aokromes
0fa366cbda
Misc: Deprecate mysql 5.6
2020-04-10 18:08:18 +02:00
Shauren
2a2867cdc0
Build: Delete FindBoost.cmake and rely on the one that ships with cmake instead
...
(cherry picked from commit e5b12a76dc )
# Conflicts:
# cmake/macros/FindBoost.cmake
2020-04-05 15:14:28 +02:00
Giacomo Pozzoni
1df52da0b0
Require Visual Studio 2019 16.4 or greater ( #24214 )
...
* CI/AppVeyor: Add appveyor.yml file
* Build: Require Visual Studio 2019 16.4 or greater
* CI/AppVeyor: Upgrade to VS2019 image
* Update cmake error message
* CI/AppVeyor: Fix appveyor VS 2019 configuration
2020-04-03 21:14:09 +02:00
daMaex
ce449f6b53
Core: build on aarch64 with gcc ( #24216 )
...
* build on aarch64 with gcc
* Core/aarch64: readability on preprocessor macro
* Core/aarch64: TC C++ codestyle adjustment
2020-03-01 20:16:57 +01:00
Giacomo Pozzoni
726d5e91b5
Build: Enable and require c++17 ( #23868 )
...
* Build: Enable and require c++17
* Build: Raise Visual Studio version from 2017 15.2 to 2017 15.9
* Build: Raise GCC version from 6.3.0 to 7.1.0
* Reduce branch differences
* Fix build after latest merge
* Cleanup after latest merge
2020-02-08 18:14:09 +01:00
Aokromes
ed93932537
New year
...
Say bye bye to every year changing dates
2020-01-02 06:25:50 +01:00
vincent-michael
5c0aa2f2bd
Build: Updated Find Boost versions
2019-12-20 19:58:35 +01:00
Shauren
5f06c476f6
Core/DBLayer: Support using mysql 8
...
(cherry picked from commit c3a9d56b56 )
2019-11-09 13:49:27 +01:00
jackpoz
580f40769c
Build/Misc: Add ASan CMake flag
...
Allow to enable/disable Address Sanitizer in Clang and GCC from CMake flag "ASAN" of type Boolean. It can be enabled passing -DASAN=TRUE to CMake.
2019-10-19 20:12:48 +02:00
jackpoz
3d3b7f438c
Buildsystem: Fix finding VS 2019 compiled boost libs
2019-04-19 22:37:50 +02:00