Commit Graph

61 Commits

Author SHA1 Message Date
Shauren
4a3a178d7f Buildsystem: Initial changes to support building with vs clang toolset 2016-04-05 22:43:41 +02:00
Naios
183f970055 Core/Build: Enable /bigobj for most MSVC builds.
* exluding 32 bit when dyynamic linking is disabled.
2016-03-24 01:28:56 +01:00
Naios
f4e0945b13 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-03-24 01:28:55 +01:00
Naios
6eba8493e2 CMake: Disable incremental linking in msvc debug builds
* Requested by Shauren

(cherry picked from commit fbc23c0713)
2016-03-19 23:19:57 +01:00
Gacko
4eae523e32 Revert "Build/Clang: Suppress unused-local-typedefs warning."
This reverts commit 27bb569368 and 98e7ab4461.
2015-12-19 13:03:21 +01:00
Gacko
98e7ab4461 Build/Clang: Suppress unused-local-typedefs warning only for Clang 3.6.0+. 2015-11-15 18:54:32 +01:00
Gacko
27bb569368 Build/Clang: Suppress unused-local-typedefs warning. 2015-11-15 18:28:25 +01:00
Naios
0946fcf2aa 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
2015-10-17 13:11:49 +02:00
Shauren
7732ad5153 Buildsystem/MSVC: Added missed change 2015-08-07 09:29:28 +02:00
Shauren
dcb1990e93 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
2015-08-07 00:12:41 +02:00
Shauren
52127197ec Buildsystem/MSVC: Enabled /bigobj for all x64 build types 2015-07-24 19:21:31 +02:00
Shauren
a22e4e121a Core/Misc: Fixing warnings detected by Visual Studio 2015 compiler 2015-07-21 00:33:36 +02:00
jackpoz
6b30fbc238 Buildsystem/Clang: Suppress warning
Suppress -Wmismatched-tags warnings on clang to avoid false positive warnings reported using gcc 4.8

(cherry picked from commit 879af88d21)
2015-07-03 01:08:10 +01:00
Jared Jones
af99d0a597 CMake OS X: Fixed Debug Mode for Xcode
On newer versions of Xcode, the preprocessor macro #DEBUG is not defined by default. In order to set the debug flag it has to be set manually. If this does not happen then in the "Common.h" file the preprocessor will assume that we are building under a release mode instead of the debug mode.
Ref: ad0cc83c84
2015-05-10 01:46:23 -05:00
Shauren
b7f254db3d Buildsystem/MSVC: Disabled C4351: new behavior: elements of array 'x' will be default initialized for all builds, even when using WITH_WARNINGS 2015-01-06 14:25:23 +01:00
Duarte Duarte
cd0372ce7b CMake: Fix typo in MSVC_EXPECTED_VERSION
Thanks @Aridev

Closes #13820
2014-12-30 16:50:30 +00:00
Nayd
56a665ccf3 CMake: Require VS 2013 Update 3
Update 4 (includes 3) can be downloaded at http://www.microsoft.com/en-us/download/details.aspx?id=44921

Closes #13813
2014-12-29 20:55:53 +00:00
Nayd
702f774a49 CMake: Ignore MSVC warning C4351
new behavior: elements of array 'array' will be default initialized

"If you want the new behavior, which is likely, because the array was explicitly added to the constructor's member initialization list, use the warning pragma to disable the warning. The new behavior should be fine for most users."
2014-12-28 21:22:57 +00:00
Bernd Lörwald
06391e5e9d cmake: use CMAKE_BUILD_TYPE instead of CONFIGURATION as BUILD_DIRECTIVE 2014-10-29 23:59:28 +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
click
88f81d80a4 BuildSystem: Add XCode specific compiler handling in the OSX compile-instructions (_BUILD_DIRECTIVE gave error)
Update issue #4368
OSX/XCode compilation is not "fixed" as such untill a newew release of G3D is sorted. This is worked on from the G3D developers, and known.

--HG--
branch : trunk
2010-10-20 16:35:17 +02:00
click
62b853e8ed BuildSystem: Fix missing variable parameter encapsulation for _BUILD_DIRECTIVE (gcc/xcode)
--HG--
branch : trunk
2010-09-30 13:04:46 +02: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