Commit Graph
79 Commits
Author SHA1 Message Date
Shauren e0766bfc55 Build: Disable maybe-uninitialized warning for GCC that incorrectly triggers with std::optional
(cherry picked from commit d93002f9a96a01258500ca7b5f03fe27e50a7155)
2025-08-10 10:19:02 +02:00
Treeston faef256861 Common/Utilities: ported StringConvert helpers from 335 branch 2025-07-26 00:40:54 +02:00
Shauren ffb78a2a30 Build: Fixed msvc version check 2023-10-30 00:36:26 +01:00
Shauren 63be5a888c Build: Support ASAN on msvc
# Conflicts:
#	src/server/scripts/Commands/cs_debug.cpp
2023-08-22 14:28:24 +02:00
Shauren 7daadf8e2a Build/GCC: Disable useless warning 2023-08-20 21:19:40 +02:00
Shauren 639acc4eb6 Build: Increase required msvc version slightly 2023-08-20 21:19:26 +02:00
Ovahlord 083fb2da32 Build: move MSCV warning C5054 to warning level 3 2023-07-07 23:44:27 +02:00
Ovahlord 6fe9ebbded CMake: fixed GCC cmake settings file 2023-07-07 21:09:13 +02:00
Ovahlord f34534465a Build: enable C++20 and updated all compiler requirements
* ported some header and cmake updates from master branch
2023-07-04 23:49:57 +02:00
ipriver 408c386830 fixed indentation for cmake files
(cherry picked from commit a46d047f9466c6f16597755bb7c771a9d1a147f2)
(cherry picked from commit bde36062b7a0bf621086e73a5d419cd8637e9e96)
2023-05-19 22:26:00 +02:00
Ovahlord 33bc96fcce CMake: disable unscoped enum type warning C26812 for msvc compilers 2022-02-21 10:36:36 +01:00
Shauren f4c39d1aa9 Build: Disable Visual Studio 2022 MSBuild resource manager to make compile take only as much time as it does in Visual Studio 2019 2022-01-28 21:14:47 +01:00
Shauren 29fc3d55b4 Build: Enable some msvc warnings that are enabled for other compilers
# Conflicts:
#	cmake/compiler/msvc/settings.cmake
2022-01-21 13:56:39 +01:00
Peter Keresztes Schmidt cbd6fb2315 Build: Enable -Wimplicit-fallthrough on clang (#25056)
* 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
# Conflicts:
#	src/server/game/Entities/Player/Player.cpp
#	src/server/game/Spells/SpellInfo.cpp
#	src/server/scripts/Battlefield/BattlefieldWG.cpp
#	src/server/scripts/EasternKingdoms/BlackrockMountain/BlackrockSpire/instance_blackrock_spire.cpp
#	src/server/scripts/EasternKingdoms/ScarletMonastery/boss_high_inquisitor_fairbanks.cpp
#	src/server/scripts/Northrend/IcecrownCitadel/boss_rotface.cpp
#	src/server/scripts/Northrend/Naxxramas/boss_thaddius.cpp
#	src/server/shared/DataStores/DBCDatabaseLoader.cpp
2020-07-18 22:47:52 +02:00
Shauren 78e7687a05 Fix warnings related to Vector3::operator= and remove -Wno-deprecated-copy suppression
# Conflicts:
#	cmake/compiler/clang/settings.cmake
2020-07-13 20:37:26 +02:00
Giacomo Pozzoni 9fdf598792 Cherry-pick some cmake commits (#24720)
* 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)

* 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)

* 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)

* Remove some code that was already removed from 335 and then cherry-picked into master

Co-authored-by: Shauren <shauren.trinity@gmail.com>
(cherry picked from commit 8c09b6e58b0e4f33b7a8e376a28709e693cf2914)
2020-06-11 20:24:00 +02:00
Shauren 9d0bfc0c56 Build/Misc: Removed -DDEBUG from clang compile options
(cherry picked from commit b0609757d32cfe256794e354d13f98d5a4c97020)
2020-05-06 00:01:13 +02:00
Giacomo Pozzoni e69cd41669 Require Visual Studio 2019 16.4 or greater (#24214)
* 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-04-04 18:42:10 +02:00
Giacomo Pozzoni c2913e608f Build: Enable and require c++17 2020-03-16 14:14:46 +01:00
ariel- 5ff847159c Core: header cleanup, split realmlist, boost compatibility, cotire, remove stormlib/zlib and stormlib/bzip2 and instead use dep sources 2018-03-28 04:41:59 -03:00
Aokromes 19fa11cfa6 Increase gcc and clang to c++14 2018-03-08 23:55:48 +01:00
Aokromes 3b324bcb11 Buildsystem: Enforce Visual Studio 2015 Update 1 in CMake
Even if it's for few days, it looks it's absolute minimum needed to compile 3.3.5a for now
2017-06-28 17:48:04 +02:00
Aokromes fb7060992b Buildsystem/MSVC: Drop support to VS2013
Upgrade to VS2015 following the steps explained in the wiki
2016-08-18 14:41:19 +02:00
Aokromes 9078085595 Core/Scripts: Split script subdirectories into independent modules
* 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-08-10 05:14:53 +02:00
Aokromes 4905073101 Buildsystem: Initial changes to support building with vs clang toolset 2016-08-10 04:43:29 +02:00
Naios 3d25c14e74 Core/Build: Enable /bigobj for most MSVC builds.
* exluding 32 bit when dyynamic linking is disabled.

(cherry picked from commit 183f97005573f499d486613119e7bbb3d5d5318b)
2016-08-10 01:34:43 +02:00
Vincent-Michael d9f17a6c22 Build/GCC: Enforce version 4.7.2
(cherry picked from commit ede8f0ca0a28d059c1356c6970ac87f53c72a424)
2016-07-20 11:00:26 +02:00
Aokromes 9cf3bdf125 Core/Build: Add the possibility to link libraries dynamically.
* makes it possible to access exported singletons from other shared lib's.
* reduces binary size
2016-07-15 20:35:32 +02:00
Naios 071382aac1 CMake: Disable incremental linking in msvc debug builds
* Requested by Shauren
2016-06-01 02:49:23 +02:00
Bernd Lörwald b53b81d8a6 cmake: use CMAKE_BUILD_TYPE instead of CONFIGURATION as BUILD_DIRECTIVE
(cherry picked from commit 06391e5e9dff58a265d42a8a8093d0a57b8e2775)
2016-02-21 21:55:50 -03:00
Naios 5736deb854 Core/Build: Never overwrite the msvc cxx flags in the cache
* 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-10-29 18:56:24 +01:00
Shauren 12f5c766c9 Buildsystem/MSVC: Added missed change
(cherry picked from commit 7732ad5153783ca31d32c6812f21c2b723fd589a)
2015-09-27 12:24:11 +02:00
Shauren eac6f22c95 Buildsystem/MSVC: Enabled /Zc:throwingNew for Visual Studio 2015 builds
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-09-27 12:23:56 +02:00
Shauren f03f5cc1f2 Buildsystem/MSVC: Enabled /bigobj for all x64 build types
(cherry picked from commit 52127197ec3ab3c77397867a9ab674fe6c0d8aeb)
2015-07-25 16:42:46 +01:00
Shauren b4adf3f5dd Core/Misc: Fixing warnings detected by Visual Studio 2015 compiler
(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-07-24 11:51:48 +01:00
jackpoz 879af88d21 Buildsystem/Clang: Suppress warning
Suppress -Wmismatched-tags warnings on clang to avoid false positive warnings reported using gcc 4.8
2015-06-29 22:29:28 +02:00
Duarte Duarte 90e2b7266b Merge pull request #14674 from jaredjones/patch-1
CMake OS X: Fixed Debug Mode for Xcode
(cherry picked from commit b96e70af71a1cc87a33a79c71618697cd8f7ca9f)
2015-05-19 19:29:01 +01:00
Shauren 48b7e0c60c Buildsystem/MSVC: Removed /SAFESEH linker option from x86 debug builds as it doesn't make sense in debug builds and interferes with Edit and Continue
Closes #13233
2014-09-28 12:03:34 +02:00
Jared P. Jones 11ecd851a1 Core/Misc: Silenced 500 OS X Warnings and removed deprecated finite() method.
*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-23 17:30:45 -05:00
Shauren 99dd35da14 Buildsystem/MSVC: Disable C4512 warning 2014-07-19 13:31:17 +02:00
leak e0aed65c8c ACE cleanup on game, now the major issue remains WorldSocket 2014-07-02 02:20:53 +02:00
jackpoz a3e56b0689 Core/Dependencies: Upgrade to jemalloc-3.5.1 2014-03-28 22:34:39 +01:00
Gacko ef1bb6290a Build system: Fix clang build
See wiki for latest build instructions under Mac OS X!
2014-03-25 21:22:49 +01:00
Shauren f357597ec1 Buildsystem: Changed required CMake version to 2.8.9 and removed a check for version we no longer support in msvc settings 2014-03-25 16:40:22 +01:00
Vincent-Michael b4dec55b96 Cmake: Added level restriction for msvc 2013 2014-03-24 15:54:40 +01:00
Shauren 3affa3a824 Buildsystem/GCC: Enforce version 4.7.2 and enable c++11 compilation 2014-03-23 20:35:30 +01:00
Nay 1b0c604848 Revert "CMake/MSVC: Fix VS 2013 compile -- Zm500 hack is no longer required"
This reverts commit ca7377369f.
2013-07-30 13:50:29 +01:00
Nay ca7377369f CMake/MSVC: Fix VS 2013 compile -- Zm500 hack is no longer required
Signed-off-by: Nay <dnpd.dd@gmail.com>
2013-07-19 01:13:26 +01:00
Nay c33a198f62 Cmake: Fix typo in msvc/settings.cmake 2013-05-19 17:04:57 +02:00
click 612ead5094 Buildsystem/MSVC: Fix a minor issue with /Zm heap allocation parameters not being used 32-bit environment 2013-05-18 10:24:04 +02:00