177 Commits
Author SHA1 Message Date
Shauren 4db97c8372 Dep/Catch2: Update to 3.15.2 2026-07-15 23:46:27 +02:00
Shauren 24d08307e4 Build: Remove temporarily lowered cmake version requirement for circle-ci 2024-09-20 12:28:20 +02:00
Shauren 90eed65876 Build: Reduce required cmake version on linux 2024-08-20 15:19:28 +02:00
Shauren 8f95c84a08 Build: Increase required CMake version to 3.24 and removed unneccessary cmake_policy() calls that are already handled by cmake_minimum_required() 2024-08-20 13:49:15 +02:00
Shauren 8eac6224c0 Build: Replaced deprecated exec_program with execute_process 2024-03-01 11:36:10 +01:00
Shauren 34308dd6de Build: Perform CMake check_cxx_source_compiles checks using the same C++ standard as used in the project 2024-02-29 23:20:37 +01:00
Shauren 4d7bf20237 Build: Set CMake policy CMP0144 to NEW 2023-09-20 19:30:52 +02:00
Shauren 907d9f1a79 Docker: Fixed files being missing from circleci built images 2023-05-20 13:57:57 +02:00
Shauren add53fb3ef Build: Update required cmake version to 3.18
* Remove cotire
2022-09-06 19:27:50 +02:00
Shauren e9152679d7 Build: Fixed finding mysql binary on first cmake run
Closes #28133
2022-07-19 00:33:07 +02:00
Shauren 2e479707e3 Build: Removed duplicate find_package(MySQL) call 2022-06-23 00:05:27 +02:00
Shauren 94668343c6 Build: Prevent Catch from messing with user cmake preferences
Closes #25348

(cherry picked from commit 822a1a86d1b504b54a8623b6899b3c23e9486a39)
2022-02-04 11:01:08 +01:00
Carbenium f837f28171 dep: Add catch2 unit test framework and wire it up
To enable the test suite, make sure to configure CMake with -DBUILD_TESTING=1 , since it is disabled by default. The catch2 dependency will be downloaded during configure time.

Also add a new target "tests-common", which includes unit tests for the "common" project. To finally run the tests use the "test" target.

CircleCI: Run unit tests
(cherry picked from commit 6a28ee7b2a4269aa7e43265d1cd0067537e3e883)
2022-01-23 22:48:35 +01:00
ipriver bde36062b7 fixed indentation for cmake files
(cherry picked from commit a46d047f9466c6f16597755bb7c771a9d1a147f2)
2022-01-06 23:40:39 +01:00
jackpoz 8d2509eee5 Build/CMake: Code cleanup
(cherry picked from commit 404dbcdcf6bd09202cf58a4064a127e7f303b9b2)
2021-12-31 21:56:38 +01:00
Shauren 4d153b6cb9 Build: Update FindOpenSSL.cmake and remove custom FindGit
(cherry picked from commit 77596dba67483c8050c3d3ea1c4299360fde6beb)
2021-10-01 13:02:03 +02:00
Carbenium f387673aa3 CMake: Use target_precompile_headers instead of cotire with CMake >= 3.16.0 2020-06-16 09:29:31 +02:00
Carbenium 18ad767226 CMake: Remove guards around CMP0043 and CMP0054
We require CMake >= 3.8 which includes the policies.
CMP0043 OLD behaviour is still required by cotire.
2020-06-16 09:29:31 +02:00
jackpoz c3a7a604f4 Build/CMake: Increase minimum version to 3.8
(cherry picked from commit 965ac6fb08623b13c2486f9d09967dd00f3d396f)
2020-06-16 09:29:31 +02:00
Giacomo Pozzoni 0f390606a1 Build/CMake: Set some policies to NEW (#23779)
* Build/CMake: Set CMP0005 to NEW

See https://cmake.org/cmake/help/v3.2/policy/CMP0005.html

* Build/CMake: Set CMP0043 to NEW

See https://cmake.org/cmake/help/v3.2/policy/CMP0043.html

* Build/CMake: Set CMP0074 to NEW

See https://cmake.org/cmake/help/v3.12/policy/CMP0074.html

(cherry picked from commit 18cc36bc67023dc9ca58e77733c2b8c74655cf86)
2020-06-16 09:29:31 +02:00
Shauren 369b618d4f Build system: Support new in cmake 3.17 Ninja Multi-Config generator 2020-04-16 17:53:36 +02:00
Aokromes b0bf1275ee New Year 2020-01-02 06:44:10 +01:00
vincent-michael 5620eb9463 Update copyright note for 2019
auto happy = new year(2019);
2019-01-01 10:14:33 +01:00
vincent-michael 7d00ae4045 Update copyright note for 2018
auto happy = new year(2018);
2018-01-01 00:40:17 +01:00
Naios 964d6bd1b2 Build: Use the cotire library for precompiled header handling
* Required for handling flags inherited by linked projects
  correctly in the corresponding precompiled header.
* Reduces the maintenance effort for precompiled headers

(cherry picked from commit 92f96fc10e70b2d62cce832837477d958e2afbe3)
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 e60c1f84a7e13577a82046b02b214f9466d20a7c)
2017-12-20 04:04:27 +01:00
Naios 01355dc101 Build: Require CMake 3.2
* This is below current package version of
  debian stretch stable CMake on which we
  orientate at.
* Required for CMake target features

(cherry picked from commit e5e7919b64f8b6dc1c872871175ae1e30e25c555)
2017-10-16 22:54:23 +02:00
Naios 24d3260ab8 Build: Fix the in-source build prevention
(cherry picked from commit 4aa476cbcc3530be937f79696fd6d5d69d7e7dce)
2017-10-16 22:54:23 +02:00
Shauren f487ae12bd Buildsystem: Default to RelWithDebInfo instead of Release 2017-08-31 18:10:59 +02:00
vincent-michael 86b98686a9 Update copyright note for 2017
Happy new year
2017-01-01 16:23:13 +01: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 4a3a178d7f Buildsystem: Initial changes to support building with vs clang toolset 2016-04-05 22:43:41 +02: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 0db4f018e8 CMake: Use inherited dependencies in common and tools
(cherry picked from commit abda7a910a760687f9c1b9e0893314e04982c0f1)
2016-03-19 23:19:52 +01:00
Naios b0ac332d58 CMake: Provide proper interface targets from dependencies
* to make use of cmakes inherited link dependencies which
  imports all include directories/ definitions from the link library

(cherry picked from commit 1a572d242593124f986d3ed08710b96a142a6763)
2016-03-19 23:19:50 +01:00
Vincent-Michael 478cc756eb Update copyright note for 2016
Happy new year (Again new year with idiots ...)
2016-01-01 00:34:25 +01:00
Naios 1bce131bdc CMake: Fix bad generation of "revision_data.h" not including MYSQL_EXECUTABLE.
* was caused through invoking "FindMySQL" after using ${MYSQL_EXECUTABLE}.
* better re-run CMake if you are affected by the mysql exe wasn't found issue.

(cherry picked from commit 45a60c2d22a93f6196491a0eb0478d05795e310f)
2015-10-05 17:18:15 +02:00
StormBytePP 1d2aafd39b Core/Build: Merge common library and move database out of shared 2015-08-21 17:52:42 +02:00
Naios ed4722b6e6 CMake: Use source_groups to represent the source tree
* It let ide's (like vs) display the source tree.
* Disabled by default.
* Soft requirement is cmake >= 2.8.12 .
* Offers 2 modes: flat & hierarchical.
* For detailed description see #14471
* Thanks @click for help and advises.
* Closes #14471

(cherry picked from commit c386711972260aa7b877cdc8cb49d24576ce1902)

Conflicts:
	src/server/authserver/CMakeLists.txt
2015-03-29 16:13:22 +02:00
Vincent-Michael ab90f74486 Update copyright note for 2015
Happy new year
2015-01-01 00:28:09 +01:00
Shauren f773a9e053 Core: Implemented IPC (Inter-process communication) between worldserver and bnetserver using ZeroMQ library.
* Implemented ToonReady and ToonLoggedOut battle.net packets
2014-10-17 22:48:06 +02:00
Shauren febb26d4b7 Core/Deps: MySQL sources out.
Windows users are now required to download and install mysql server with headers and libraries
2014-08-26 18:45:54 +02:00
DDuarte de3aed580e Build/CMake: Fix build on older cmakes that don't support the recently added policy 2014-07-30 15:52:05 +01:00
DDuarte 202255d935 Build/CMake: Mute a CMake Warning (dev) in mysqllite project 2014-07-30 14:20:17 +01:00
leak da3f6e923a Completely remove ACE as dependency for TC - kkthxbye 2014-07-06 01:42:35 +02:00
leak af675195df Enabling Boost by default as it seems to work under linux aswell (Gentoo 13.0 that is) 2014-05-13 21:14:50 +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 20004050bc Update copyright note for 2014.
Happy new year.
2014-01-01 00:07:53 +01:00
Spp 3e2e210890 Core/Build: Force minimum ACE (5.8.3) and OpenSSL (1.0.0) version detection
Core/Build: Do not ignore command line cmake options: ACE_INCLUDE_DIR, ACE_LIBRARY and OPENSSL_INCLUDE_DIR
2013-08-28 15:44:06 +02:00
Spp d3c2af0f66 Core/Build: Fix compile under Ubuntu 13.04 and openSUSE 12.3 (and probably other new distros)
Closes #9832
Closes #9740
2013-05-21 08:36:52 +02:00