Commit graph

13 commits

Author SHA1 Message Date
cbnolok
6cdf242da1 CMake: external libs are now compiled as obj files, without an intermediate link-in-a-library stage.
This speeds up overall compilation, since only one link pass is done,
instead of one per target.
2025-05-09 20:08:22 +02:00
cbnolok
f542b8b6f2 CompilerFlagsBase: misspelled dead_strip flag 2025-04-27 18:18:28 +02:00
cbnolok
dfb338e7bc Fized zlib compilation error con macos 2025-04-27 16:04:46 +02:00
cbnolok
205549abc2 CMake toolchains: moved some flags from CompilerFlagsChecker to CompilerFlagsBase.
The one moved are supported since a long time/older compiler versions
and from both Clang and GCC, so they can be safely moved.
Also, not having to check them, CMake configuration is a bit faster.
2025-04-26 17:34:59 +02:00
cbnolok
fb16b3dfda lib/zlib: updated CMakeLists to autoconfigure zconf.h from .cmakein file 2025-04-26 10:16:53 +02:00
cbnolok
eae1a45276 Formatted cmake files with gersemi. 2024-09-08 14:33:56 +02:00
cbnolok
5c9ea6bff6 Fixed: LASTUSED, LASTDISCONNECTED, TIMESTAMP being interpreted as a number with a different base (seconds or tenths of seconds or milliseconds) in different contexts. Now they expect in scripts only values in seconds.
Fixed: crash when moving a char in an area full of teleporters, or whichever items made the char move multiple times in the same tick.
Fixed: buffer read past the end in CCacheableScriptFile first reading.
Fixed: if a char had the COMM_CRYSTAL flag enabled, it called ::OnHear on every item in range, without checking if the item is actually capable of hearing.
Further optimized distance checks.
Separated the Github workflows into different files, in order to get a different badge for each build platform/type.
Dismissed AppVeyor build.
Added sphere_library/sfastmath.h.
2024-08-06 09:56:32 +02:00
cbnolok
d66675e40a Added separated linker options for each C 3rd party lib.
Fixed twofish compilation error on Windows. That library wasn't really meant to be used as-is...
Made _GITVERSION define macro available only when enabling git versioning from CMake.
Modernized and fixed MSVC CMake toolchain.
Removed mariadb_version.h from git index.
2024-05-20 11:16:23 +02:00
cbnolok
84888279c9 Updated toolchains to set options per target, instead of globally.
Windows and OS X not yet tested.
Moved toolchains .inc files to include/ folder.
Renamed folder lib/bin into _bin.
Moved bcrypt and twofish library into lib folder and into new cmake projects. Restored twofish library to the original version.


Fixed some format warnings.
2024-05-19 14:04:53 +02:00
cbnolok
4533f80f4c Moved each third-party library to a separate CMake project
This will allow setting per-project (build) settings and to build/link
Sphere using system-provided library source/headers/precompiled lib
(like the ones provided with -devel packages on Linux) instead of the
ones shipped with the projects.
This is also a necessary step to use git submodules.
2024-05-17 11:10:17 +02:00
cbnolok
3b2c4d9c6d Updated zlib to v1.3.1
Added Apple Silicon ARM build for Mac OS
Fixed Clang 15 compilation on newer MacOS images
2024-05-06 10:59:10 +02:00
cbnolok
d99b6a792a Updated ZLib to version 1.3.0.1. 2023-10-07 20:27:37 +02:00
cbnolok
572e3f39fc Moved CMakeLists.txt from /src/ to the project root dir. WARNING: you will need to change the source directory in CMake!
Refactored 3rd party libraries folders, moving both source and binaries to /lib/.
Refactored CMakeLists.txt
Abandoned old MySQL C Connector in favor of MariaDB C Connector, which supports all MariaDB versions and MySQL 5.x and 8.x.
Windows: abandoned MySQL libmysql.dll. Now using MariaDB libmysql.dll (compatible with MySQL until 5.x) for x86 builds and libmariadb.dll for x86_64 builds, which supports MariaDB and MySQL versions above.
Switching from Make to Ninja for automatic Linux builds.
2023-04-27 20:54:45 +02:00