aboutsummaryrefslogtreecommitdiff
path: root/cmake/compiler
AgeCommit message (Collapse)Author
2025-05-11Build: Remove -fpch-instantiate-templates detection, it is enabled by ↵Shauren
default since CMake 3.19 (cherry picked from commit 55a19f15d01b5f06c158f1dfbd2c43e4f5d6837c)
2025-01-18Build: enable MSVC warning C5038 - member initialization order to get closer ↵Ovahlord
to the warning behavior of the other compilers
2024-11-28Build: Disable -Wmissing-field-initializers for clang, it now mirrors ↵Shauren
unwanted gcc behavior since version 18 (cherry picked from commit 93c8993314cde7f45f1b0be32152a318aee51999)
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) (cherry picked from commit e8740fb2e125b308493aeab49ddd7b0cc6a53c97) # Conflicts: # revision_data.h.in.cmake
2024-07-25Build: Disable maybe-uninitialized warning for GCC that incorrectly triggers ↵Shauren
with std::optional (cherry picked from commit d93002f9a96a01258500ca7b5f03fe27e50a7155)
2024-07-18Build: 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 (cherry picked from commit 77fe2745febab9e4362b09750093d831325e6091)
2024-06-20Build: Decouple compiler specific settings from os settingsShauren
(cherry picked from commit 12d1f4448c30d313e8f0e70d89f29b709f5dd70d)
2024-06-20Build: Normalize executable locations in build directory for all platformsShauren
(cherry picked from commit a7c42f1ed55e586d0d817dd99865aa7c024b0140) # Conflicts: # .github/workflows/win-x64-build.yml
2024-06-20Build: Unify setting _BUILD_DIRECTIVE preprocessor macro for all compilersShauren
(cherry picked from commit 078bc6fe3fc764eaa2d528a19fe6d40972ee3537)
2024-06-20Build: Remove unneccessary /MP compile option when using ninjaShauren
(cherry picked from commit 1083e89da3f8182d377a48d0c46cf2308795f974)
2024-05-28Build: Update required GCC version to 11.1Shauren
(cherry picked from commit 16853af7c84b1204357333db399100604ab6cb29)
2024-03-25Core/Misc: Fixed windows nopch buildShauren
(cherry picked from commit 261a237cfa159e52dbb7ec4ab9ae5a5c6257b9ef)
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)