aboutsummaryrefslogtreecommitdiff
path: root/cmake/compiler
AgeCommit message (Collapse)Author
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
2014-07-23Core/Misc: Silenced 500 OS X Warnings and removed deprecated finite() method.Jared P. Jones
*Mac OS X fires off over 200 warnings related to gsoap about the deprecated register method. CMake has been patched to remove this warning. *Updated all occurences of finite() to std::isfinite. The method finite() is not standardized by anyone aside from BSD. std::isfinite() however is standarized by C++ *Removed -ncurses and -pthread from OS X compilation. Now that we use Boost and C++11 there is no longer a need for pthread in OS X. All it does is throw a warning. However, ncurses isn't needed either as it's built into the OS X SDK and linked by default. Note: There are only 5 remaining warnings left when compiling on OS X. I did not attempt to fix these as they were related to 3rd party libraries statically linked into the code. The 5 warnings left are all related to unused variables.
2014-07-19Buildsystem/MSVC: Disable C4512 warningShauren
2014-07-02ACE cleanup on game, now the major issue remains WorldSocketleak
2014-03-28Core/Dependencies: Upgrade to jemalloc-3.5.1jackpoz
2014-03-25Build system: Fix clang buildGacko
See wiki for latest build instructions under Mac OS X!
2014-03-25Buildsystem: Changed required CMake version to 2.8.9 and removed a check for ↵Shauren
version we no longer support in msvc settings
2014-03-24Cmake: Added level restriction for msvc 2013Vincent-Michael
2014-03-23Buildsystem/GCC: Enforce version 4.7.2 and enable c++11 compilationShauren
2013-07-30Revert "CMake/MSVC: Fix VS 2013 compile -- Zm500 hack is no longer required"Nay
This reverts commit ca7377369f603081259adea0ba49cb03e74e609f.
2013-07-19CMake/MSVC: Fix VS 2013 compile -- Zm500 hack is no longer requiredNay
Signed-off-by: Nay <dnpd.dd@gmail.com>
2013-05-19Cmake: Fix typo in msvc/settings.cmakeNay
2013-05-18Buildsystem/MSVC: Fix a minor issue with /Zm heap allocation parameters not ↵click
being used 32-bit environment
2013-03-09Buildsystem: Add support for compiling with MinGW on WindowsNay
Tested with: - Windows 8 x64 - MySQL 5.5.30 win32 - OpenSSL 1.0.1c (32 bits) - No PCH - MinGW with GCC 4.7.0 TODO: - Fix compile/link with PCH enabled - Fix compile with WheatyExceptonionReport enabled (ignored for now) - Fix compile of .rc files (ignored for now) - Test with more platforms