Commit Graph

57 Commits

Author SHA1 Message Date
Shauren
0b846b2107 Build: Partial support for clang-cl 2022-02-16 20:22:15 +01:00
Treeston
cfcfe71097 Build: Add Clang version guard to CMake (PR #25324)
(cherry picked from commit 27b1930d97)
2022-02-04 00:27:13 +01:00
Shauren
2864efdc53 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 12:52:05 +01:00
Shauren
41fe9a84d4 Build: Enable /permissive- flag on msvc
(cherry picked from commit c8fed48b16)
2022-01-26 14:20:47 +01:00
Shauren
73b4b1733a Build: Enable some msvc warnings that are enabled for other compilers 2022-01-21 13:43:19 +01:00
ipriver
bde36062b7 fixed indentation for cmake files
(cherry picked from commit a46d047f94)
2022-01-06 23:40:39 +01:00
Shauren
369b618d4f Build system: Support new in cmake 3.17 Ninja Multi-Config generator 2020-04-16 17:53:36 +02:00
Giacomo Pozzoni
77154e0c03 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

(cherry picked from commit 1df52da0b0)
2020-04-04 18:35:58 +02:00
Naios
db5d5a03be Build: Export a default interface which doesn't hide symbols in unix automatically 2017-12-20 04:04:28 +01:00
Naios
891960edbe 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/

(cherry picked from commit b9b667f925)
2017-12-20 04:04:28 +01:00
Naios
edafb45b79 Build: Experimentally disable the /Zm workaround for MSVC
(cherry picked from commit 697b4dbef2)
2017-12-20 04:04:27 +01:00
Naios
ff35262a3a 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

(cherry picked from commit e60c1f84a7)
2017-12-20 04:04:27 +01:00
Shauren
650ab693a8 Buildsystem: Enforce Visual Studio 2015 Update 3 in CMake 2016-08-18 17:45:49 +02:00
Naios
848b8a4136 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-04-11 21:13:58 +02:00
Shauren
3ebec1e2ce oops, pushed too soon (now with proper msbuild check) 2016-04-09 00:40:43 +02:00
Shauren
509a27fd51 Buildsystem: Improved logic for _BUILD_DIRECTIVE in msvc builds 2016-04-09 00:37:41 +02:00
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
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
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
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