* 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
(cherry picked from commit a4e93d779c)
* build on aarch64 with gcc
* Core/aarch64: readability on preprocessor macro
* Core/aarch64: TC C++ codestyle adjustment
(cherry picked from commit ce449f6b53)
* 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
(cherry picked from commit 726d5e91b5)
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.
(cherry picked from commit 580f40769c)
Add a new CMake option called PERFORMANCE_PROFILING that should be used only when profiling the performance.
This option is unsupported, do not report any issue happening when enabling this option.
(cherry picked from commit db5c9867e2)
Support for both OpenSSL 1.0 LTS and OpenSSL 1.1 versions.
Many Linux distributions are still on 1.0 and will stay on LTS for quite
some time.
Port of CMaNGOS commit: e1b0048f05
* Required for handling flags inherited by linked projects
correctly in the corresponding precompiled header.
* Reduces the maintenance effort for precompiled headers
(cherry picked from commit 92f96fc10e)
* Remove the usage of global flags and definitions
set through the CMAKE_CXX_FLAGS variable.
* Use cmake target compile features for setting the
CXX standard automatically.
* Make C++14 globally available in the project
* Closes#21033
(cherry picked from commit e60c1f84a7)