aboutsummaryrefslogtreecommitdiff
path: root/cmake/compiler
AgeCommit message (Collapse)Author
2024-04-10Build: Update required GCC version to 11.1Shauren
(cherry picked from commit 16853af7c84b1204357333db399100604ab6cb29)
2024-03-13Core/Misc: Fixed windows nopch buildShauren
(cherry picked from commit 261a237cfa159e52dbb7ec4ab9ae5a5c6257b9ef)
2024-02-26Build: Improve ARM target detection in cmake (needed by MSVC)Shauren
(cherry picked from commit 7e51d17a0aa06c7aaf25a836d90487b17383fca7)
2024-02-26Build: Fixed msvc version checkShauren
(cherry picked from commit eb847ff53767c4c88a54f893b002843166a9ffea)
2024-02-26Build/GCC: Disable useless warningShauren
(cherry picked from commit 0aa644287cf0e085f21a8ffdae6c6e985e64e961)
2024-02-26Build: Increase required msvc version slightlyShauren
(cherry picked from commit 1ed8bfa08017b69d59f2cb7703f59ab4a0a3bf79)
2024-02-26Build: moved MSVC warning C5054 from warning level 4 to 3Ovahlord
(cherry picked from commit d535977c6d8e3ef3463dfc461c94590988cf5b1f)
2024-02-26Build: Fixed copypaste mistake in appleclang version checkShauren
(cherry picked from commit 8d353f20fdc3b2e0b19bf2dd2634701852cb07a0)
2024-02-26Core/Misc: Fix build with libc++Shauren
Closes #28909 (cherry picked from commit 083b8d6c846cfdf75abb1fae481a3eeb25c13c56)
2024-02-26Build: Partial support for clang-clShauren
(cherry picked from commit 0b846b2107569209d6bb0106f3075b624c713244)
2024-02-26Build: Enable some msvc warnings that are enabled for other compilersShauren
(cherry picked from commit 73b4b1733a49430b2288417d26f96c24a19c8c28)
2023-08-23Build: Support ASAN on msvcShauren
(cherry picked from commit 0a0b420d866f070d4b1208bb3c4451398797c6ef)
2023-08-12Build: Update required compilers to current debian stable and VS 2022Shauren
GCC: 10 Clang: 11 MSVC: 2022 (cherry picked from commit 0a1b40241a12b2b2f4549edf0ee263e91236145b)
2020-12-06Improve 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
2020-08-26Common/Utilities: Centralize string -> T conversion in StringConvert.h (PR ↵Treeston
#25335)
2020-08-24Build: Add Clang version guard to CMake (PR #25324)Treeston
2020-08-21Build/GCC: Raise required version to 8.3.0 (#25297)Giacomo Pozzoni
Even when building with Clang, make sure to have libstdc++ >= 8
2020-08-04Build: Enable /permissive- flag on msvcShauren
2020-07-18Build: 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
2020-07-13Fix warnings related to Vector3::operator= and remove -Wno-deprecated-copy ↵Shauren
suppression
2020-06-24fixed indentation for cmake filesipriver
2020-05-31Cherry-pick some cmake commits (#24720)Giacomo Pozzoni
* Build system: Support new in cmake 3.17 Ninja Multi-Config generator (cherry picked from commit 369b618d4f160816818681ed7e41063e2d9ba5b5) * Build system: Fixed PCH with MSVC & Ninja generator (cherry picked from commit d669f46b6d5190dabc686a35656e8b03f5ec325b) * Core: Fix clang 10 warnings (cherry picked from commit 7272508cb4b51ec5591b6f0e542ea29091db7546) # 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 7fdeb259ba398d5d9343a5dcd1a89562dfcbe981) * Core/Misc: GCC build and warning fixes (cherry picked from commit 4d69cc1c567180b408ddbadb9edf26859cf4c006) # 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 1ae72db201189877c1b863fac140eb4b0a45c5bb) * 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 161944b7643c62f9e7705c64e42d42e5d07f1959) # 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-04-03Require 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
2020-03-01Core: build on aarch64 with gcc (#24216)daMaex
* build on aarch64 with gcc * Core/aarch64: readability on preprocessor macro * Core/aarch64: TC C++ codestyle adjustment
2020-02-08Build: 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
2019-10-19Build/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.
2019-01-18Build/Misc: Removed -DDEBUG from clang compile optionsShauren
(cherry picked from commit b0609757d32cfe256794e354d13f98d5a4c97020)
2017-12-21Build: Export a default interface which doesn't hide symbols in unix ↵Naios
automatically (cherry picked from commit db5d5a03be4829928bd20c7d40a6f576f0b86478)
2017-12-17Build: 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/
2017-12-17Build: Experimentally disable the /Zm workaround for MSVCNaios
2017-12-17Build: 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
2017-12-17Build: Set the minimum required compiler version to GCC 6.3Naios
* This is the current GCC version of debian 9
2017-06-27Buildsystem: Enforce Visual Studio 2015 Update 1 in CMakeAokromes
Even if it's for few days, it looks it's absolute minimum needed to compile 3.3.5a for now
2016-08-18Buildsystem/MSVC: Drop support to VS2013jackpoz
Upgrade to VS2015 following the steps explained in the wiki
2016-05-14Build/GCC: Enforce version 4.7.2Vincent-Michael
(cherry picked from commit ede8f0ca0a28d059c1356c6970ac87f53c72a424)
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. (cherry picked from commit 848b8a4136a4b395bfab74899520c74812d7f08e)
2016-04-09Buildsystem: Improved logic for _BUILD_DIRECTIVE in msvc buildsShauren
(cherry picked from commit 509a27fd51a2f88c5c72c264d2a546229c9c0e00)
2016-04-09Buildsystem: Initial changes to support building with vs clang toolsetShauren
(cherry picked from commit 4a3a178d7fe9d2d7e8fde2fe915cf5cec5223502)
2016-03-24Core/Build: Enable /bigobj for most MSVC builds.Naios
* exluding 32 bit when dyynamic linking is disabled. (cherry picked from commit 183f97005573f499d486613119e7bbb3d5d5318b)
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 (cherry picked from commit f4e0945b13a70225684e7421d9542efae6a47c89)
2016-03-18CMake: Disable incremental linking in msvc debug buildsNaios
* Requested by Shauren
2016-02-21cmake: use CMAKE_BUILD_TYPE instead of CONFIGURATION as BUILD_DIRECTIVEBernd Lörwald
(cherry picked from commit 06391e5e9dff58a265d42a8a8093d0a57b8e2775)
2015-10-29Core/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 (cherry picked from commit 0946fcf2aa35ebe0b8db07813315e3d6546b9d31)
2015-09-27Buildsystem/MSVC: Added missed changeShauren
(cherry picked from commit 7732ad5153783ca31d32c6812f21c2b723fd589a)
2015-09-27Buildsystem/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 (cherry picked from commit dcb1990e93bb879c88f1b43eb13292afa6baac86)
2015-07-25Buildsystem/MSVC: Enabled /bigobj for all x64 build typesShauren
(cherry picked from commit 52127197ec3ab3c77397867a9ab674fe6c0d8aeb)
2015-07-24Core/Misc: Fixing warnings detected by Visual Studio 2015 compilerShauren
(cherry picked from commit a22e4e121a1e54b2f4154d59623ee4a94a449176) Conflicts: cmake/compiler/msvc/settings.cmake src/server/game/DataStores/DBCStores.cpp src/server/game/Entities/GameObject/GameObject.cpp src/server/game/Entities/Object/Object.cpp src/server/game/Entities/Object/Object.h src/server/game/Entities/Pet/Pet.cpp src/server/game/Entities/Player/Player.cpp src/server/game/Entities/Unit/Unit.cpp src/server/game/Garrison/Garrison.cpp src/server/game/Garrison/GarrisonMgr.cpp src/server/game/Globals/ObjectMgr.cpp src/server/game/Globals/ObjectMgr.h src/server/game/Guilds/GuildMgr.cpp src/server/game/Handlers/CharacterHandler.cpp src/server/game/Handlers/QueryHandler.cpp src/server/game/Handlers/QuestHandler.cpp src/server/game/Handlers/SpellHandler.cpp src/server/game/Server/Packets/ChannelPackets.h src/server/game/Server/Packets/PartyPackets.cpp src/server/game/Server/WorldSession.h src/server/game/Spells/Spell.cpp src/server/game/Spells/SpellInfo.cpp src/server/game/Spells/SpellScript.cpp src/server/scripts/Commands/cs_list.cpp
2015-06-29Buildsystem/Clang: Suppress warningjackpoz
Suppress -Wmismatched-tags warnings on clang to avoid false positive warnings reported using gcc 4.8
2015-05-19Merge pull request #14674 from jaredjones/patch-1Duarte Duarte
CMake OS X: Fixed Debug Mode for Xcode (cherry picked from commit b96e70af71a1cc87a33a79c71618697cd8f7ca9f)
2014-09-28Buildsystem/MSVC: Removed /SAFESEH linker option from x86 debug builds as it ↵Shauren
doesn't make sense in debug builds and interferes with Edit and Continue Closes #13233