Commit Graph

64 Commits

Author SHA1 Message Date
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
Naios
5a9ccae3e1 Build: Set the minimum required compiler version to GCC 6.3
* This is the current GCC version of debian 9
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
Vincent-Michael
0ab6ecbdc6 Build/GCC: Enforce version 4.7.2
(cherry picked from commit ede8f0ca0a)
2016-05-14 18:40:22 +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
Bernd Lörwald
b53b81d8a6 cmake: use CMAKE_BUILD_TYPE instead of CONFIGURATION as BUILD_DIRECTIVE
(cherry picked from commit 06391e5e9d)
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 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
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 b96e70af71)
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
Nay
c7463c5f6c Buildsystem: Add support for compiling with MinGW on Windows
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
2013-03-09 00:12:50 +00: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
8ef48ecc99 Core/Buildsystem: Clean up compileflags when compiling with warnings fully enabled.
-Wwrite-strings is default enabled when -Wall is set in clang/gcc, hence removed.
 -Woverloaded-virtual is now enabled for C++-code only, this removes the useless warnings when dabbling with C-only code.
2012-11-27 00:43:38 +01:00
Spp
333b8e5159 Core/Build: Enable Clang PCH support and OS X specific features
Core: Fix warnings here and there
2012-11-09 13:13:45 +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
b342e4ce16 Buildsystem: Minor correction on the BUILD_DIRECTIVE definition on OSX - now with extra testing behind it. 2011-01-01 09:49:23 +01:00
click
2325e8b3d6 Buildsystem: Adjust XCode definition variable for _BUILD_DIRECTIVE
Fixes the "Expected ')' before 'Debug'" error during compile for XCode users.
2010-12-30 15:16:17 +01: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
ea847598d0 Buildsystem: Add initial support for Intel C++ Compiler (patch by Leak)
Note: Intel C++ Compiler for Windows is not supported in this change
Closes issue 4361

--HG--
branch : trunk
2010-10-21 22:00:12 +02:00