48 Commits

Author SHA1 Message Date
Foe
66f5a282b7 Build: Allow efsw to be built independently of WITH_DYNAMIC_LINKING option (#30019)
(cherry picked from commit 6a5fa255fe)
2025-11-14 14:49:16 +01:00
Shauren
7ac0c685dd Build: Add WITH_WARNINGS_AS_ERRORS cmake option that turns compile warnings into compile errors 2024-09-20 13:19:42 +02:00
Shauren
eadafb0347 Core/DBLayer: Relaxed restrictions on which Field class member function can be used to access column value from "strict match" to "must not truncate" 2023-05-14 16:30:05 +02:00
Giacomo Pozzoni
21e9fac8bd Core/Metric: Add new cmake option WITH_DETAILED_METRICS to enable more metrics (#25136)
* Core/Metric: Add new cmake option WITH_DETAILED_METRICS to enable more metrics

Add more detailed metrics in World::UpdateSessions().

* Attempt using C++17 features

* Fix cmake typo

Co-authored-by: NoName <322016+Faq@users.noreply.github.com>

* Fix build with WITHOUT_METRICS

* Update Performance profiling dashboard with Update sessions panel

* Add panel to show sessions with update time above 100 ms

* Move legends on the right and add max update time diff in the legend of sessions

Co-authored-by: NoName <322016+Faq@users.noreply.github.com>
(cherry picked from commit 36ef487a90)
2022-01-24 12:21:36 +01:00
Carbenium
b336ed8996 Build: Add WITH_LD_GOLD option to use gold linker on unix
gold is an ELF-only linker which has a better performance
than the default ld.

(cherry picked from commit 796e2b32e0)
2022-01-23 23:07:56 +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 6a28ee7b2a)
2022-01-23 22:48:35 +01:00
Giacomo Pozzoni
e8583d04f6 Core/Metric: Add more metrics about World::Update() loop (#25098)
* Core/Metric: Add more metrics about World::Update() loop

* Add new Performance profiling grafana dashboard

* Add new cmake setting WITHOUT_METRICS that disables all metrics

As new metrics are added, someone might want to disable them if unused.

* Add more metrics about World::Update() loop

* Remove old performance profiling features

Remove "server set difftime" command, "-RecordUpdateTimeDiffInterval" and "MinRecordUpdateTimeDiff" worldserver config settings and their related code.
The whole UpdateTime class could be removed too.

* Update and rename 2020_07_99_99_world.sql to 2020_07_24_00_world.sql

(cherry picked from commit 3c0ac7302f)
2022-01-23 22:45:25 +01:00
ipriver
bde36062b7 fixed indentation for cmake files
(cherry picked from commit a46d047f94)
2022-01-06 23:40:39 +01:00
ipriver
8979493bb7 Additional cmake entry for configs
Closes #24812

Co-authored-by: Carbenium <carbenium@outlook.com>
(cherry picked from commit dc467ee0f6)
2022-01-06 22:54:29 +01:00
Shauren
376ac0eeba Buildsystem: Separate strict database type checks from TRINITY_DEBUG/WITH_COREDEBUG option
(cherry picked from commit ddd60a948c)
2021-09-06 21:01:48 +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
Aokromes
48724ada69 Tools: Enable tools compilation by default
(the time diff is small and it will help starters, advanced users can disable it at any time on cmake guy/compilation script)
2017-02-09 09:46:05 +01:00
Aokromes
de16ff14de Update options.cmake
(cherry picked from commit e3de0ef531)
2017-02-05 00:02:16 +01:00
vincent-michael
86b98686a9 Update copyright note for 2017
Happy new year
2017-01-01 16:23:13 +01:00
Naios
2b97b32d81 Build: Throw a fatal error when the SCRIPTS variable isn't a valid option.
* Catches issues early that are caused through a wrong configuration.
2016-06-23 22:19:37 +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
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
90274d0337 CMake: Remove the workaround for source groups below CMake 2.8.12
* Set the default option to hierarchical
* Add a new "hierarchical-folders" option which enables folders inside IDE's.

(cherry picked from commit bf773ccc41)
2016-03-19 23:19:56 +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
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 c386711972)

Conflicts:
	src/server/authserver/CMakeLists.txt
2015-03-29 16:13:22 +02:00
Nayd
a87442be68 Tools: Remove mesh_extractor
mesh_extractor is not ready for production and it will be developed
in a different branch
2015-01-25 15:19:11 +00:00
Vincent-Michael
ab90f74486 Update copyright note for 2015
Happy new year
2015-01-01 00:28:09 +01:00
DDuarte
90c53e8c84 Core: Nuke authserver
It has been replaced by bnetserver since grunt was deprecated
2014-11-10 20:57:39 +00:00
Vincent_Michael
e773c9a693 Update more copyright note for 2014.
I have no excuse for my fail :/
2014-01-01 18:20:16 +01:00
click
64f1324725 Fix silly " that snuck in. 2013-09-27 22:48:29 +02:00
click
33fcd36c7b Buildsystem/CMake: Add support for building meshextractor-project from CMake GUI 2013-09-27 22:12:53 +02:00
click
9bd8baf1ab Buildsystem/CMake: Fix an issue with MSVC not finding git-binary when updating the revisionhash/revisiondate + rename DISABLEGITCHECK parameter to WITHOUT_GIT (to adhere to our standard)
Also cleaned up the checks slightly + moved git-specific testing to its own macro (minor changes to shaurens original patch applied)
2013-02-11 20:04:27 +01:00
click
620a43b4ef Buildsystem/CMake: Allow building the core without the gitchecks, this is done in the GUI, or through the DISABLEGITCHECK parameter on *nix-platforms.
DO NOTE THAT WE WILL NOT GIVE SUPPORT ON ANY CORE-VERSION COMPILED WITH THIS FLAG, AS WE CAN NOT EFFECTIVELY FIND OUT WHAT REVISION YOU ARE ON
2013-02-11 14:51:26 +01:00
Vincent_Michael
62adbdab99 Merge branch 'master' of github.com:TrinityCore/TrinityCore into mmaps
Conflicts:
	src/server/game/Movement/MovementGenerators/HomeMovementGenerator.cpp
2013-01-01 23:12:21 +01:00
Vincent_Michael
11e1227784 Update more copyright note for 2013. (alcohol sucks) 2013-01-01 12:57:23 +01:00
Subv
50f833a008 Tools: Added an experimental tool (still WIP) to replace the current mmaps generator 2012-09-28 06:59:31 -05: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
thomas33
0c178320bf update forgotten copyright-headers for 2012 2012-03-11 20:53:08 +01:00
Shauren
e9a125f495 Buildsystem/CMake: Changed TOOLS building back to off by default 2012-03-04 22:43:13 +01:00
click
576c659a9c Buildsystem/CMake: Enable SFMT as default random number generator (required to get more feedback from community)
Also update the revisionheader with the correct year :P
2012-03-04 16:17:28 +01:00
runningnak3d
be6b73145b Core/BuildSystem: Removed -WITH_SQL Cmake option as it was confusing some users. 2011-04-04 10:54:07 -04:00
click
d3a6c7c1ba Buildsystem: Turn off SFMT being the default RNG - it's not cooking right (yet)
--HG--
branch : trunk
2010-12-26 05:45:20 +01:00
silinoron
82d1a40ed5 Core/Buildsystem: Turn on SFMT by default, as we believe it is fixed. Please do test it for us!
Note: Computers with processors older than Pentium 4 will need to have this turned off.

--HG--
branch : trunk
2010-12-21 20:21:21 -08:00
click
3a18e4afcc Core/Buildsystem: Remove now deprecated WITH_SQLDEBUG option from CMake options (it's handled by the command added in r8ecf6a8816)
--HG--
branch : trunk
2010-11-19 13:19:03 +01:00
click
726e5cf466 Buildsystem/Core: Add new build-flag WITH_SQLDEBUG - adds support for enabling/disabling SQL-query logging
--HG--
branch : trunk
2010-09-17 20:36:29 +02:00
click
2279102ec9 BuildSystem: Make dep/* sources muted during compile (3rd party sources should not show messages during compile, as we're not responsible for them)
Note: Certain functions called within the main src/ subdir will warn due to that we do not ignore them in the CMakeLists.txt yet.
This will be properly handled at an opportune moment.
Buildsystem/CMake: Set default warninglevel to 0 (no warnings shown during compile) - some warnings will still show while we create the "mutelist"

--HG--
branch : trunk
2010-09-12 18:32:49 +02:00
click
4faf53881f BuildSystem/Macros: Revert FindMySQL.cmake changes from ea96a5d888 - handled with simple if-tests instead
BuildSystem: Adjust buildfiles so that they reflect their proper parameters (will change when we've cleaned it up even more)

--HG--
branch : trunk
2010-09-08 14:40:45 +02:00
Xanadu
220c207294 BuildSystem/Windows: * Added 5.1.50 (GA) MySQL client sources for crosscompiling (or lazy) windows people.
* Added an option to autosearch for your own installed MySQL as before. Note that default setting is to use the internal MySQL.
* You can now build 32-bit even if your MySQL is x64 and vice versa.
* Recommended MySQL server version for use with provided MySQL client sources is 5.1.x.
* If your server version is different, let CMake autofind and use it instead (check EXTERNAL_MYSQL option)

--HG--
branch : trunk
2010-09-07 01:26:57 +02:00
click
cf841c8337 Buildsystem: Split out the resultlist from the options, and print it AFTER we've grabbed all the settings
--HG--
branch : trunk
2010-08-28 21:51:28 +02:00
click
3fa20f4cf3 Buildsystem: Make options load BEFORE platformchecks, so they are preloaded correctly
+ add some more output to make it easier to find possible issues with the new layout

--HG--
branch : trunk
2010-08-28 21:42:07 +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