Commit Graph

40 Commits

Author SHA1 Message Date
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
click
dcaeceaf6b Buildsystem: Change over to a little more flexible method of using the CMake buildsystem (partially WIP) - REQUIRES RERUNNING CMAKE!
For finding out the "standard" parameters examine the cmake/options.cmake file and adjacent files for your platform/compiler.
For platform settings -> cmake/platform/*/settings.cmake
For compiler settings -> cmake/compiler/*/settings.cmake
Some more testing and changes IS required, but I don't have OSX/XCode to kill off the main issues

--HG--
branch : trunk
rename : cmake/FindPlatform.cmake => cmake/macros/CheckPlatform.cmake
rename : cmake/FindACE.cmake => cmake/macros/FindACE.cmake
rename : cmake/FindMySQL.cmake => cmake/macros/FindMySQL.cmake
rename : cmake/FindOpenSSL.cmake => cmake/macros/FindOpenSSL.cmake
rename : cmake/FindPCHSupport.cmake => cmake/macros/FindPCHSupport.cmake
rename : cmake/FindReadline.cmake => cmake/macros/FindReadline.cmake
rename : cmake/cmake_uninstall.cmake.in => cmake_uninstall.cmake.in
2010-08-28 18:49:17 +02:00