aboutsummaryrefslogtreecommitdiff
path: root/cmake/compiler
AgeCommit message (Collapse)Author
2024-09-03Core/Misc: CompilerDefs/GitRevision improvementsShauren
* 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)
2024-07-20Build: Disable maybe-uninitialized warning for GCC that incorrectly triggers ↵Shauren
with std::optional
2024-07-15Build: CMake cleanupShauren
* 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
2024-06-15Build: Decouple compiler specific settings from os settingsShauren
2024-06-15Build: Normalize executable locations in build directory for all platformsShauren
2024-06-15Build: Unify setting _BUILD_DIRECTIVE preprocessor macro for all compilersShauren
2024-06-01Build: Remove unneccessary /MP compile option when using ninjaShauren
2024-04-10Build: Update required GCC version to 11.1Shauren
2024-03-11Core/Misc: Fixed windows nopch buildShauren
2024-02-28Core/Misc: Allow formatting optionals with Trinity::StringFormatShauren
2024-02-17Build: Improve ARM target detection in cmake (needed by MSVC)Shauren
2023-10-29Build: Fixed msvc version checkShauren
2023-08-22Build: Support ASAN on msvcShauren
2023-07-30Build/GCC: Disable useless warningShauren
2023-07-25Build: Increase required msvc version slightlyShauren
2023-07-11Build: moved MSVC warning C5054 from warning level 4 to 3Ovahlord
2023-04-10Build: Fixed copypaste mistake in appleclang version checkShauren
2023-04-10Core/Misc: Fix build with libc++Shauren
Closes #28909
2023-01-01Build: Update required compilers to current debian stable and VS 2022Shauren
GCC: 10 Clang: 11 MSVC: 2022
2022-02-16Build: Partial support for clang-clShauren
2022-02-11Build: New CMake option -DBUILD_TIME_ANALYSIS=1 for clang (enables detailed ↵Shauren
compile time statistics that can be later viewed with ClangBuildAnalyzer)
2022-02-11Build: Instantiate templates during PCH generation with clang 11+ (this ↵Shauren
should make PCH more effective in reducing compile times, closer to MSVC)
2022-02-04Common/Utilities: Centralize string -> T conversion in StringConvert.h (PR ↵Treeston
#25335) (cherry picked from commit cd30e0b86ce6ee88386a91cebdf353fc55805c57)
2022-02-04Build: Add Clang version guard to CMake (PR #25324)Treeston
(cherry picked from commit 27b1930d97d541c241655d8b820cbaebe6eec44e)
2022-02-04Build/GCC: Raise required version to 8.3.0 (#25297)Giacomo Pozzoni
Even when building with Clang, make sure to have libstdc++ >= 8 (cherry picked from commit 41d70a5905c152d26217cc152a1748c337cfd81e)
2022-01-28Build: Disable Visual Studio 2022 MSBuild resource manager to make compile ↵Shauren
take only as much time as it does in Visual Studio 2019
2022-01-26Build: Enable /permissive- flag on msvcShauren
(cherry picked from commit c8fed48b161cfff5fa90d8bf4342ede88086ada4)
2022-01-23Build: Enable -Wimplicit-fallthrough on clang (#25056)Peter Keresztes Schmidt
* 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
2022-01-23Fix warnings related to Vector3::operator= and remove -Wno-deprecated-copy ↵Shauren
suppression (cherry picked from commit 042b1abfd747160085e5acc24a842a076b20ea01)
2022-01-21Build: Enable some msvc warnings that are enabled for other compilersShauren
2022-01-06fixed indentation for cmake filesipriver
(cherry picked from commit a46d047f9466c6f16597755bb7c771a9d1a147f2)
2022-01-04Improve multithreading of mmaps_generator (#25625)Giacomo Pozzoni
* 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 a4e93d779c9638bc0a61cb4405ef28cb935d1065)
2021-12-22Core: build on aarch64 with gcc (#24216)daMaex
* build on aarch64 with gcc * Core/aarch64: readability on preprocessor macro * Core/aarch64: TC C++ codestyle adjustment (cherry picked from commit ce449f6b5332ab466d935de0077bccfdde716d1b)
2021-12-21Build: Enable and require c++17 (#23868)Giacomo Pozzoni
* 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 726d5e91b55d4742dcbd6b0a82d84788dbb117b7)
2021-12-18Build/Misc: Add ASan CMake flagjackpoz
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 580f40769c6c446284dd1f5738f67fb3ee802956)
2021-10-01Build: Check -Wno-deprecated-copy existence using check_cxx_source_compiles ↵Shauren
instead of hardcoding clang version number
2020-05-21Core/Misc: GCC build and warning fixesShauren
2020-04-26Build system: Set -Wno-deprecated-copy only for clang 10Shauren
2020-04-26Core: Fix clang 10 warningsShauren
2020-04-16Build system: Support new in cmake 3.17 Ninja Multi-Config generatorShauren
2020-04-04Require Visual Studio 2019 16.4 or greater (#24214)Giacomo Pozzoni
* 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 (cherry picked from commit 1df52da0b052654a9b42339fdd22028bfdbf9fc0)
2018-03-16Build/Misc: Removed -DDEBUG from clang compile optionsShauren
2017-12-20Build: Export a default interface which doesn't hide symbols in unix ↵Naios
automatically
2017-12-20Build: Require Visual Studio 2017 or greaterNaios
* See the deprecation notice at https://community.trinitycore.org/topic/13294-gcc-49-visual-studio-2015-end-of-life/ (cherry picked from commit b9b667f9253cb5c247cf3dd195710bf764f549d6)
2017-12-20Build: Experimentally disable the /Zm workaround for MSVCNaios
(cherry picked from commit 697b4dbef20b5ceacd4c66f365b5ff71c62cb80c)
2017-12-20Build: Use interface targets for inheriting flags and definitionsNaios
* 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 e60c1f84a7e13577a82046b02b214f9466d20a7c)
2017-12-20Build: Set the minimum required compiler version to GCC 6.3Naios
* This is the current GCC version of debian 9 (cherry picked from commit 5a9ccae3e1115d6fb1dcc287b1cb2d45779fd39b)
2017-01-02Revert "Build/Clang: Suppress -Wexpansion-to-defined because of rapidjson dep"Shauren
This reverts commit 467e49c1fa3c13d0e574bc15c80e96fa1c560958.
2016-12-30Build/Clang: Suppress -Wexpansion-to-defined because of rapidjson depDDuarte
https://travis-ci.org/TrinityCore/TrinityCore/builds/187588737#L985-L995
2016-08-18Buildsystem: Enforce Visual Studio 2015 Update 3 in CMakeShauren