aboutsummaryrefslogtreecommitdiff
path: root/cmake/compiler
AgeCommit message (Collapse)Author
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
2016-05-13Build/GCC: Enforce version 4.7.2Vincent-Michael
2016-04-11Core/Scripts: Split script subdirectories into independent modulesNaios
* Makes it possible to define the linkage for every module * Move the ScriptPCH into the root directory * Changes the SCRIPTS cmake variable to a string type: -> -DSCRIPTS=0 is -DSCRIPTS="minimal-static" now (builds commands and spells statically) -> -DSCRIPTS=1 is -DSCRIPTS="static" now (builds all modules statically) -> -DSCRIPTS="dynamic" (builds all modules dynamically) -> Also the default value which is provided by the SCRIPTS variable is overwriteable through the SCRIPTS_COMMANDS, SCRIPTS_SPELLS... variable.
2016-04-09oops, pushed too soon (now with proper msbuild check)Shauren
2016-04-09Buildsystem: Improved logic for _BUILD_DIRECTIVE in msvc buildsShauren
2016-04-05Buildsystem: Initial changes to support building with vs clang toolsetShauren
2016-03-24Core/Build: Enable /bigobj for most MSVC builds.Naios
* exluding 32 bit when dyynamic linking is disabled.
2016-03-24Core/Build: Add the possibility to link libraries dynamically.Naios
* makes it possible to access exported singletons from other shared lib's. * reduces binary size
2016-03-19CMake: Disable incremental linking in msvc debug buildsNaios
* Requested by Shauren (cherry picked from commit fbc23c0713e98cb16d601c64e2e3e2a7716d2ab8)
2015-12-19Revert "Build/Clang: Suppress unused-local-typedefs warning."Gacko
This reverts commit 27bb569368363546e3690474320e54266b6d8071 and 98e7ab44615af90d477b845802da04f4f6c4d6cf.
2015-11-15Build/Clang: Suppress unused-local-typedefs warning only for Clang 3.6.0+.Gacko
2015-11-15Build/Clang: Suppress unused-local-typedefs warning.Gacko
2015-10-17Core/Build: Never overwrite the msvc cxx flags in the cacheNaios
* Setting all compiler flags in the cache led to circular bloating of msvc cxx parameters (was visible in console) which caused MSVC to rebuild the whole solution even on a small CMake change. It's not neccessary anyway to set the cxx parameters to the cache to take effect. * I'm not sure if the workarround is still needed for MSVC 12+. * Cleaning the CMake cache is recommended! * ref #15671
2015-08-07Buildsystem/MSVC: Added missed changeShauren
2015-08-07Buildsystem/MSVC: Enabled /Zc:throwingNew for Visual Studio 2015 buildsShauren
More info here: http://blogs.msdn.com/b/vcblog/archive/2015/08/06/new-in-vs-2015-zc-throwingnew.aspx Closes #15230
2015-07-24Buildsystem/MSVC: Enabled /bigobj for all x64 build typesShauren
2015-07-21Core/Misc: Fixing warnings detected by Visual Studio 2015 compilerShauren
2015-07-03Buildsystem/Clang: Suppress warningjackpoz
Suppress -Wmismatched-tags warnings on clang to avoid false positive warnings reported using gcc 4.8 (cherry picked from commit 879af88d2180ca0655fda87072308f6eb76e70ca)
2015-05-10CMake OS X: Fixed Debug Mode for XcodeJared Jones
On newer versions of Xcode, the preprocessor macro #DEBUG is not defined by default. In order to set the debug flag it has to be set manually. If this does not happen then in the "Common.h" file the preprocessor will assume that we are building under a release mode instead of the debug mode. Ref: ad0cc83c842231fedd1eb9afe962176c17dc72ff
2015-01-06Buildsystem/MSVC: Disabled C4351: new behavior: elements of array 'x' will ↵Shauren
be default initialized for all builds, even when using WITH_WARNINGS