Treeston
27b1930d97
Build: Add Clang version guard to CMake (PR #25324 )
2020-08-24 17:44:38 +02:00
Shauren
c8fed48b16
Build: Enable /permissive- flag on msvc
2020-08-04 15:50:31 +02:00
ipriver
a46d047f94
fixed indentation for cmake files
2020-06-24 14:42:02 +02:00
Giacomo Pozzoni
8c09b6e58b
Cherry-pick some cmake commits ( #24720 )
...
* Build system: Support new in cmake 3.17 Ninja Multi-Config generator
(cherry picked from commit 369b618d4f )
* Build system: Fixed PCH with MSVC & Ninja generator
(cherry picked from commit d669f46b6d )
* Core: Fix clang 10 warnings
(cherry picked from commit 7272508cb4 )
# 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 7fdeb259ba )
* Core/Misc: GCC build and warning fixes
(cherry picked from commit 4d69cc1c56 )
# 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 1ae72db201 )
* 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 161944b764 )
# 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-05-31 14:17:26 +02:00
Giacomo Pozzoni
1df52da0b0
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-03 21:14:09 +02:00
Giacomo Pozzoni
726d5e91b5
Build: Enable and require c++17 ( #23868 )
...
* 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
2020-02-08 18:14:09 +01:00
Naios
9d0400211d
Build: Export a default interface which doesn't hide symbols in unix automatically
...
(cherry picked from commit db5d5a03be )
2017-12-21 23:31:11 +01:00
Naios
b9b667f925
Build: Require Visual Studio 2017 or greater
...
* See the deprecation notice at
https://community.trinitycore.org/topic/13294-gcc-49-visual-studio-2015-end-of-life/
2017-12-17 20:22:34 +01:00
Naios
697b4dbef2
Build: Experimentally disable the /Zm workaround for MSVC
2017-12-17 20:22:34 +01:00
Naios
e60c1f84a7
Build: Use interface targets for inheriting flags and definitions
...
* 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-17 20:22:33 +01:00
Aokromes
445c5a00e8
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-27 03:50:18 +02:00
jackpoz
c852022388
Buildsystem/MSVC: Drop support to VS2013
...
Upgrade to VS2015 following the steps explained in the wiki
2016-08-18 14:30:48 +02:00
Naios
8660f90bdf
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.
(cherry picked from commit 848b8a4136 )
2016-04-11 21:41:58 +02:00
Shauren
43fb6b2209
Buildsystem: Improved logic for _BUILD_DIRECTIVE in msvc builds
...
(cherry picked from commit 509a27fd51 )
2016-04-09 12:39:03 +02:00
Shauren
702cfefddb
Buildsystem: Initial changes to support building with vs clang toolset
...
(cherry picked from commit 4a3a178d7f )
2016-04-09 12:38:20 +02:00
Naios
77aa9ae01d
Core/Build: Enable /bigobj for most MSVC builds.
...
* exluding 32 bit when dyynamic linking is disabled.
(cherry picked from commit 183f970055 )
2016-03-24 02:45:14 +01:00
Naios
2613413608
Core/Build: Add the possibility to link libraries dynamically.
...
* makes it possible to access exported singletons from other shared lib's.
* reduces binary size
(cherry picked from commit f4e0945b13 )
2016-03-24 02:38:54 +01:00
Naios
fbc23c0713
CMake: Disable incremental linking in msvc debug builds
...
* Requested by Shauren
2016-03-18 14:28:01 +01: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 0946fcf2aa )
2015-10-29 18:56:24 +01:00
Shauren
12f5c766c9
Buildsystem/MSVC: Added missed change
...
(cherry picked from commit 7732ad5153 )
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 dcb1990e93 )
2015-09-27 12:23:56 +02:00
Shauren
f03f5cc1f2
Buildsystem/MSVC: Enabled /bigobj for all x64 build types
...
(cherry picked from commit 52127197ec )
2015-07-25 16:42:46 +01:00
Shauren
b4adf3f5dd
Core/Misc: Fixing warnings detected by Visual Studio 2015 compiler
...
(cherry picked from commit a22e4e121a )
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
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
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
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
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
click
ea9c6524dd
Buildsystem/CMake: Revoke commit 7b49da48f9 - it creates unwanted results when used with PCh on *nix platforms.
2013-01-29 23:18:25 +01:00
click
7b49da48f9
Buildsystem/CMake: Change policy CMP0005 to NEW and corect some buildvariables accordingly
...
** Info from CMake:
** The OLD behavior for this policy is to place definition values given to add_definitions directly in the generated build rules without attempting to escape anything.
** The NEW behavior for this policy is to generate correct escapes for all native build tools automatically.
If this breaks build, let us know on irc : irc.rizon.net/#trinity
2013-01-29 15:53:21 +01:00
Shauren
4186c3cef7
Buildsystem/MSVC: Enable and treat as errors compilation warning about not matching virtual function signatures. This will help scripters who might sometimes use a hook using improper parameters (or miss 'const' for example)
2012-12-31 14:10:22 +01:00
click
b609b314b2
CMake/Buildsystem: CMake adds /Zm1000 to MSVC by default - explicitly replace that in the flaglist with the lower boundary
2012-12-31 12:09:22 +01:00
click
91f1e53ba2
CMake/Buildsystem: Fix a small compiler-problem when using PCH with MSVC - the /Ym flag is adjusted by the compiler in MSVC2012, hence we need to set an upper limit to avoid disrupancies
...
Please note that this is not 'very well tested'.
2012-12-29 13:35:35 +01:00
click
6afaed4a02
Core: Remove the MersenneTwiser-library (SFMT is now considered stable enough for full deployment)
2012-03-27 02:27:12 +02:00
click
61d6397559
Core/Buildsystem: Adjust the variable so it works on MSVC9 again (danged MS and renaming variables)
...
--HG--
branch : trunk
2010-12-20 02:54:04 +01:00
leak
4c9cfa6739
Core/Buildsystem: Resolved quoting problem that caused gcc to spam warnings. Patch by click.
...
--HG--
branch : trunk
2010-12-20 02:23:55 +01:00
click
30908638cb
Core/Buildsystem: Set up mutliprocess compiles for all buildmodes (non-PCH/PCH with and without debugmodes)
...
--HG--
branch : trunk
2010-11-19 13:43:13 +01:00
click
b87d8f4700
Buildsystem: Overhaul of the CMake buildsystem:
...
- utilize CMake for completely generating revision.h (kills off genrev and revision.h targets):
- pull and set correct revision-ID/hash from Mercurial (hg) when using regular repository sourcetree
- pull and set correct revision-ID/hash from archived releases (when pulled from googlecode)
- set and use _BUILD_DIRECTIVE definition (earlier part of revision.h) as compiletime definition
- delete genrev and related buildsystems
(now deprecated)
- Move some files around to adhere to buildsystem structure
Thanks to Shauren for figuring out the definition-behaviour for MSVC while he was in the shower
--HG--
branch : trunk
rename : cmake_uninstall.cmake.in => cmake/platform/unix/cmake_uninstall.in.cmake
2010-09-29 23:42:09 +02:00
click
f69c252f1d
Buildsystem/Compilers: Adjust buildfiles slightly:
...
- Set SSE2 compile-flags only when used on 32-bit platforms (only used on x86 platforms, as x64 / Itanium has this as a standard)
- Clean up/merge some of the 64-bit/32-bit compiler options
- Clean up use of the PLATFORM variable (now sets PLATFORM 32 or PLATFORM 64, shaving off the CMAKE_SIZEOF_VOID_P test slightly)
--HG--
branch : trunk
2010-09-20 20:58:57 +02:00
Xanadu
62673ec25e
Fixed win x64 debug build. Thx to click for inspiration.
...
--HG--
branch : trunk
2010-09-06 02:36:54 +02:00
click
174f2884b7
Buildsystem/MSVC: Only use /bigobj on x64 platforms - should solve x86 debug compilations (needs feedback)
...
--HG--
branch : trunk
2010-08-31 20:14:16 +02:00
click
8d0f2f8a31
Buildsystem/MSVC: Correct 'bigobj' flag to lowercase
...
--HG--
branch : trunk
2010-08-30 18:29:39 +02:00
click
b0d85ac185
Buildsystem/MSVC: Reinstate regular flags, seems like C++-flags and C-flags doesn't mix very well on MSVC
...
--HG--
branch : trunk
2010-08-30 11:50:48 +02:00
click
b53cec3d5b
Buildsystem/MSVC: Ensure same compileoptions for both CXX and C objects
...
--HG--
branch : trunk
2010-08-30 11:22:54 +02:00
click
135a026eff
Buildsystem/MSVC: Enable bigobject support for debug-compiles
...
--HG--
branch : trunk
2010-08-30 11:08:32 +02:00
click
9648cf7f39
Buildsystem: Make MSVC behave a wee bit better :
...
- Overload standard names with "secure" versions
- Disable "non-secure" warnings by default
- Disable POSIX-warnings by default
--HG--
branch : trunk
2010-08-29 12:56:34 +02:00