44 Commits

Author SHA1 Message Date
Zyres
2ce69cb0df Update gcc.cmake 2023-07-14 07:00:07 +02:00
schnek
5ead53a1ed Fix SRC_TBC_SHADOWLABYRINTH_SCRIPTS_FILES (not added) (#1110)
* Fix SRC_TBC_SHADOWLABYRINTH_SCRIPTS_FILES (not added)

fix Installing ./libmysql.lib
Delete USE_PCH_INCLUDES
Revert unset()
language version must be global 😉

* Update CheckSystem.cmake
2023-07-08 15:14:06 +02:00
schnek
32b9748984 Resolved errors in cmake / added comments
Removed active triggers they are not used (invisibility type -15)
Increased maximum build id 48107, 12555
Removed std::string LogFileName, bool bLogChat - not used
Renamed men -> man
2023-03-04 23:02:06 +03:00
schnek
1df6485e1f start rework cmake - each generated precompiled header in separate file
add method add_compile_options - https://cmake.org/cmake/help/latest/command/add_compile_options.html
2023-02-09 21:32:37 +03:00
Appled
36e7f93db5 Welcome to 2023 2023-01-02 17:56:56 +02:00
schnek
adf370d683 fix windows detection .dll 2022-11-26 20:48:48 +03:00
Zyres
8d948ede4c Going back to warning level 3
* fix macro redefinition MAX_PATH (comes from errno.h on win)
* use the correct order for class member initialisation
* printf DWORD is unsigned long not unsigned
2022-11-11 21:22:36 +01:00
schnek
dd05e30f09 Add define NOMINMAX for MSVC compiler 2022-06-07 22:12:55 +03:00
schnek
da2ec67439 Using the types and functions in <filesystem> does not require linking with -lstdc++fs now. 2022-04-03 22:21:57 +03:00
schnek
fdd11eb71e start rework cmake
msvc.cmake & gcc.cmake & clang.cmake - add check for compiler version
new modules from AscEmu (AE) should be marked for indexing
2022-03-27 20:30:06 +03:00
Zyres
37e07a56f1 Squashed commit of the following:
commit a2fbfae1aba33780d8f67c1a922b2a737d007a80
Author: Zyres <mr@eichbuehlerhof.de>
Date:   Sun Mar 6 07:24:51 2022 +0100

    Update build-test.yml

commit fbab33ab201522db1d1dd1e4d16ce3836dd5f09d
Author: Zyres <mr@eichbuehlerhof.de>
Date:   Sun Mar 6 07:06:26 2022 +0100

    Update config.yml

commit a79bf0b428df16791f7d5ddb4d6cddd8a0c67cdc
Author: Zyres <mr@eichbuehlerhof.de>
Date:   Sun Mar 6 06:57:34 2022 +0100

    Update config.yml

commit 2cc0dba5fd7a03f6ebef029a8262a79c33efd800
Author: Zyres <mr@eichbuehlerhof.de>
Date:   Sun Mar 6 06:52:11 2022 +0100

    Update config.yml

commit 097f988c8fe4fc9f2e31dd876d31748d097712d8
Author: Zyres <mr@eichbuehlerhof.de>
Date:   Sun Mar 6 06:50:56 2022 +0100

    7

commit 0eed49b872400cc76c4f0c82b12511f6470a9eb5
Author: Zyres <mr@eichbuehlerhof.de>
Date:   Sun Mar 6 06:14:44 2022 +0100

    Update gcc.cmake

commit a464edae59676e5d68ad960399c68ad5157238f2
Author: Zyres <mr@eichbuehlerhof.de>
Date:   Sun Mar 6 06:13:27 2022 +0100

    Update gcc.cmake

commit 3512fec5d57919acc5a603941be174f6931fa60f
Author: Zyres <mr@eichbuehlerhof.de>
Date:   Sun Mar 6 06:06:30 2022 +0100

    Update build-test.yml

commit beb5571998a2db414a3f6aafef80a7db1b5547a7
Author: Zyres <mr@eichbuehlerhof.de>
Date:   Sun Mar 6 06:01:30 2022 +0100

    Update gcc.cmake

commit 715fe81e6ff0f0184923a17e8851f67831536f12
Author: Zyres <mr@eichbuehlerhof.de>
Date:   Sun Mar 6 05:59:22 2022 +0100

    Update build-test.yml

commit aceb37b7ac0d0852facdf68b13fa4d47f9592100
Author: Zyres <mr@eichbuehlerhof.de>
Date:   Sun Mar 6 05:54:23 2022 +0100

    Update build-test.yml

commit d48388ecfc9a5faa3772447fe84dfa9f84c19d7a
Author: Zyres <mr@eichbuehlerhof.de>
Date:   Sun Mar 6 05:51:04 2022 +0100

    3

commit eba89e76c0d8b7cf602a6545c8627febdbc3fd77
Author: Zyres <mr@eichbuehlerhof.de>
Date:   Sun Mar 6 05:46:05 2022 +0100

    2

commit 3671796b9760c0f80d60416851bd35c758d35233
Author: Zyres <mr@eichbuehlerhof.de>
Date:   Sun Mar 6 05:43:09 2022 +0100

    stuff

commit 9510ca77a951c269f8d0e52c4c308d0b9c84e646
Author: Zyres <mr@eichbuehlerhof.de>
Date:   Sun Mar 6 05:34:11 2022 +0100

    Update build-test.yml

commit 1ce6ba2d987335a316172264598d12b0478b3e35
Author: Zyres <mr@eichbuehlerhof.de>
Date:   Sun Mar 6 05:26:23 2022 +0100

    Update build-test.yml

commit 0438bb96e86a4af81fa13333196e64968745b529
Author: Zyres <mr@eichbuehlerhof.de>
Date:   Sun Mar 6 05:23:29 2022 +0100

    Update build-test.yml
2022-03-06 07:25:12 +01:00
Zyres
d26114a77e c++20 support (wip)
* Commented unused functions
* Updated dep/Stormlib
* Initialize Opcode vector

Tested cata extractors (works in this commit)
Close #995
2022-03-06 05:08:19 +01:00
Appled
e30342d4e3 Welcome to 2022 2022-01-02 04:23:11 +02:00
Zyres
2cfde22d66 Fix a design issue in legacy code
ignore "not real problems" to work on "important" warnings.
2021-11-18 22:22:01 +01:00
Zyres
c1e5656c21 Change msvc warning level to "Wall"
NOTE: we have made a pretty good job in solving warnings, now its time to take the next step ;)
2021-11-18 21:14:38 +01:00
Appled
5c21c97064 Update Windows default warning level to 4 2021-11-16 23:54:36 +02:00
schnek
1c0512543f Do Place spaces between control statements and their parentheses. (#950)
* Do Place spaces between control statements and their parentheses.

* Update FindPCRE.cmake (register)

* Update FindOpenSSL.cmake (tabs)
2021-11-04 19:50:22 +01:00
schnek
92073d6d7e Update msvc.cmake (#849)
AscEmu requires at least Visual Studio 2019 update 16.9
2021-04-01 23:06:25 +02:00
Appled
ac727cb0d5 Welcome to 2021 2021-01-01 18:25:13 +00:00
sanctum32
540ac04c00 Core/Build: implemented new cmake option "TREAT_WARNINGS_AS_ERRORS".
Some dependencies for example maybe aren't updated to recent C++ standarts. With this option we can temporally enable/disable warnings treatment as errors
2020-03-29 19:06:01 +03:00
schnek
86b72a2261 Welcome to 2020 2020-01-10 00:18:07 +03:00
schnek
b0b097affc Update cmake compiler Visual Studio. (#701)
* Update cmake compiler Visual Studio.

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update : namespace C++17

* Update : namespace C++17
2019-07-31 14:02:42 +02:00
Zyres
f5cdebd615 Replace old pch solution with cotire. (dep/cotire)
world, scripts and logon will now use pch with gcc, clang and msvc.
This should reduce the massive build times on travis. (Reference travis build # 4472 - https://travis-ci.org/AscEmu/AscEmu/builds/549168133)
Msvc compiler heap limit is now set by cotire.
Thanks to Naios at this point.

CreatureAIScript.cpp
- std::random_shuffle was marked as deprecated in c++14 and removed in c++17
2019-06-22 21:59:11 +02:00
Zyres
2ffc279492 Update cmake compiler clang 2019-06-22 20:35:13 +02:00
Zyres
8365a02053 Update cmake compiler gcc 2019-06-22 19:52:55 +02:00
schnek
2a4d9637a8 It is 2019. Update Copyright note. 2019-01-08 20:49:57 +01:00
Zyres
5282f68c36 Just messing around with travis 2018-07-27 21:57:12 +02:00
Zyres
d33a16f856 Warning level: Increased for msvc build to WX.
* Build with warnings is turned on by default.
 * travis builds will now display warnings
 * appveyor warnings enabled

Tools/Extras: disabled for travis builds.
 * TODO solve/disable warnings as soon as possible.
2018-01-25 18:17:26 +01:00
schnek
e2f94759fb AscEmu++
update of copyright 2k18
2018-01-21 23:07:11 +03:00
Zyres
4e2d2e9c25 Resuirements: minimum cmake version is now 3.2
* Warning level for msvc is now W4
2017-11-18 08:14:05 +01:00
schnek
b975ade442 Update master 3.3.5 pack 3 2017-02-07 00:35:03 +03:00
Zyres
b5307150c5 Travis/CMake: Undo last two commits. 2017-01-21 09:27:18 +01:00
Zyres
91269a1fef CMake: warnings - let us move on with -Wall 2017-01-21 09:18:41 +01:00
Zyres
b75b5cafd4 Removed locale disabled warnings.
Disabled warning C4251 (dll interface) in msvc cmake file
2017-01-18 10:32:42 +01:00
Zyres
f20f918605 Revert "Misc changes - cmake clang - travis"
This reverts commit 2d2175095e.
2017-01-07 01:37:56 +01:00
Zyres
2d2175095e Misc changes - cmake clang - travis 2017-01-07 01:27:14 +01:00
Zyres
90bb940c47 Updated required compiler versions (c++14 is required) 2017-01-04 19:47:23 +01:00
Lectro
ca9ff9af01 Fixed msvc issues when building with warnings in release mode 2016-03-09 17:46:22 +02:00
Lectro
b48fecb23c Another optimization:
* Removed world config option BackgroundLootLoading
        Worldserver actually just overloads cpu by loading this in background...

    * Use std::cout instead of printf in Log functions.
        Actually its not issue to use printf but std::cout is thread/type safe in c++

    * Added missing data cleanups in objectmgr destructor

    * Small performance tweak for SysInfo::GetTickCount. Function will use 64 bit based function on 64 bit build

    * Build Lua library only if BUILD_LUAENGINE is checked

    * Do not build tools for coverity (temporally to reduce compile time (2-4 mins)

    * Disabled os x build generally in travis. Linux test is enough for this

    * Updated UNIX compilers version checks. Try to detect c++11 compatibility instead of direct version check (version check sometimes fails in unix systems)

    * Travis rewritten again to use container based build system. Also forced to gcc again because seems clang still issues with headers when building for coverity analysis

    * Added missing header for mmaps extractor

    * Fixed many cmake issues

    * Added missing change for clang in libmpq library

    * Fixed many memory leaks detected by cppcheck and coverity

    * Removed Field.cpp, Lfg.cpp sources from "world" project

    * Cleaned up StdAfx.h (world project)

    * Fixed wrong headers

    * Removed cmake preprocessor definition for X64 bit build. Project will use predefined compiler macro instead

    * Removed dublicate headers from Common.h

    * Corrected Corpse* ObjectMgr::LoadCorpse(uint32 guid)
        - Fixed misstake made in pervious commit
        - This function actually must return only 1 corpse which is already loaded, in this case function does not need any loops

    * Many corrections in ObjectMgr

    * Fixed couple possible crashes

    * Fixed crash in SOTA
2016-03-09 14:59:00 +02:00
Zyres
9def11f68b Fixed MSVC 2013 Win32 Debug... again.
Added /bigobj definitions to all msvc compiler flags.
For more details look here 4924017d5e
2016-02-15 01:39:37 +01:00
Lectro
3986e038f5 OS X build fix and small optimization for cmake, code
Changes:

* Fixed OS X build
* Splitted worldserver and world projects for OS X build
* Cmake will pass definitions to cmake configuration files for world and
logon projects (to reduce definitions counts in linker)
* Added missing and fixed old include guards
* Added OS X build to travis (to disable just comment osx line in "os"
section in travis)
* Removed tr1 namespace calls - used functions in tr1 namespace are
already handled by C++11 standart
* Added RPATH usage in cmake
* Removed Requirements.cmake and moved base requirement variables to
compilers configurations
* Added many cosmetic cmake changes
* Dependencies for extractors will be built only if BUILD_TOOLS is
enabled
* BUILD_TOOLS_* options were merged into one BUILD_TOOLS (disabled by
default), in addition this option is enabled in travis build
* Added new cmake options: BUILD_WITH_WARNINGS - if enabled, compiler
will output warnings, disabled by default, USE_PCH - enables precompiled
headers usage, enabled by default but works only with MSVC compiler
* Replaced many custom macro definitions by general compilers and system
macros
* Removed some expressions for very outdated compilers in C++/C scripts
Added very basic git ignore to disable some files to be necessary added
to repository
* Removed strange undef calls which undefined standart C/C++ functions
2016-02-04 03:10:24 +02:00
Zyres
4924017d5e Added /bigobj definitions to all msvc compiler flags. Resolves error while compiling:
*MSVC 2013 Win32 Debug compilation requires /bigobj
*MSVC 2013 x64 Debug compilation requires /bigobj
*MSVC 2015 Win32 Debug compilation requires /bigobj
*MSVC 2015 x64 Debug compilation requires /bigobj
2016-01-19 22:40:02 +01:00
Lectro
ac85c9bbc5 Added clang support
updated travis to use clang instead gcc (to use gcc, just uncomment gcc
lines and comment clang)
base clang requirement is 3.4 version
removed __fastcall redefinition
added addiitonal message that x64 build environment is detected
2016-01-18 17:06:05 +02:00
Lectro
ef5f161e7b cmake rewrite 2016-01-18 01:41:51 +02:00