Commit graph

21701 commits

Author SHA1 Message Date
Ibrahim Zidan
b5971bb50c
Update copyrights for year 2026
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-28 20:58:51 +03:00
Haru
53a0646826
Update gitignore to include alternate build directories (anything starting with build and VSCode workspaces
Signed-off-by: Haru <haru@dotalux.com>
2026-06-28 00:44:15 +02:00
Haru
fcd68e1345
Add proper line-ending treatment for batch scripts to gitattributes
Signed-off-by: Haru <haru@dotalux.com>
2026-06-28 00:44:00 +02:00
Haru
9b0b3b7485
Add proper line-ending treatment for shells scripts to gitattributes
Signed-off-by: Haru <haru@dotalux.com>
2026-06-28 00:43:52 +02:00
Haru
6811236f9e
Remove old unnecessary entries from gitattributes
Signed-off-by: Haru <haru@dotalux.com>
2026-06-28 00:43:44 +02:00
Haru
d353878808
Add helper script to set up the build environment on UNIX
See '. ./setup_env.sh --help' for details

Signed-off-by: Haru <haru@dotalux.com>
2026-06-28 00:43:29 +02:00
Haru
921afd6e36
Add helper script to set up the build environment on Windows
See '.\setup_env.ps1 -?' and 'Get-Help .\setup_env.ps1 -detailed' for details

Signed-off-by: Haru <haru@dotalux.com>
2026-06-28 00:42:45 +02:00
Haru
7b9ac241b6
Fix sysinfo->is64bit() on 64 bit MSVC builds
The _LP64 macro is not available in MSVC - switched to __64BIT__ provided by cbasetypes.h instead

Signed-off-by: Haru <haru@dotalux.com>
2026-06-28 00:42:32 +02:00
Haru
ebcaad10f5
Fix redefinition of the Interlock atomic macros in 64 bit VS builds
Signed-off-by: Haru <haru@dotalux.com>
2026-06-28 00:42:03 +02:00
Ibrahim Zidan
f443c57734
Added BUILD_PLUGINS and BUILD_HPMHOOKING to control weather to build plugins and hpmhookings or not to compact a quirk in install that requires all targets to be built, by default only plugins will be built and hpmhooking will be off
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-28 01:25:10 +03:00
Ibrahim Zidan
288e8f58fc
Addition of ENABLE_ASAN_LEAKREPORT to use AddressSanitizer leak reports option only, this doesn't degerade performance at all as documented by ASAN authors
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-28 01:25:10 +03:00
Ibrahim Zidan
67e538d929
Update readme.md to reflect the current changes to build system and to direct to wiki pages explaining building and installing
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:21:35 +03:00
Ibrahim Zidan
bd5cfacc46
Fix ninja being unable to clean doxygen generated files for hooks and docs
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:21:35 +03:00
Ibrahim Zidan
04b701654a
Change plugins target name to default to for plugins to not conflict with any other target names in the future
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:21:34 +03:00
Ibrahim Zidan
3d6daf3eb3
Change gcc-snapshot CI build to just current gcc and make it the main sanitizer build as conan doesn't support preview releases
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:21:34 +03:00
Ibrahim Zidan
b6fd3dc6d3
Remove xcode and mac specific files
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:21:34 +03:00
Ibrahim Zidan
b76190dd9a
Update github actions to work with the new cmake setup
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:21:33 +03:00
Ibrahim Zidan
1d8a7b58f4
Add missing options to linker for sanitized builds
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:21:33 +03:00
Ibrahim Zidan
b430aa85c0
Update bash scripts and athena-start to reflect new directory structure
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:21:32 +03:00
Ibrahim Zidan
a64520d71b
Update windows bat files to reflect the new default directory structure
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:21:32 +03:00
Ibrahim Zidan
e5601e296f
Removal of project files for MSVS
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:21:32 +03:00
Ibrahim Zidan
15e8c00c20
Source changes to correctly build on windows with cmake and required changes for a 64bit build
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:21:31 +03:00
Ibrahim Zidan
069c9e6cd4
Removal of dbghelpplug plugin for windows
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:21:31 +03:00
Ibrahim Zidan
155909d1c0
Change hercules plugin directory to be relative to executable path and change its name to herc-plugins
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:21:30 +03:00
Ibrahim Zidan
bd5efed3f9
Move nullpo_backtrace_get_executable_path to be a core function and doesn't depend on libbacktrace now the core will save current executable path to core->executable_path
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:21:30 +03:00
Ibrahim Zidan
61317f925c
Remove libgif from 3rdparty and move to conan package
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:21:30 +03:00
Ibrahim Zidan
60a23e6f6c
Change hercules plugins install path to herc-plugins so it doesn't conflict with windows setup and corrected the RPATH for plugins to reflect directory structure
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:21:29 +03:00
Ibrahim Zidan
e8a0e8e49b
Add a default installation target into source_dir/bin
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:21:29 +03:00
Ibrahim Zidan
d31bf2bb67
Move of tests under a cmake option ENABLE_TESTING so it's not compiled unnecessirly
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:21:27 +03:00
Ibrahim Zidan
5a42ec66cb
Disable TLS verification in mariadb options
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:20:59 +03:00
Ibrahim Zidan
67027bbd9e
Change file globs to have the flag CONFIGURE_DEPENDS
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:20:59 +03:00
Ibrahim Zidan
9f9aa4b5fe
Add -Wno-null-dereference to libconfig build as the lexer generated file tends to have possible false positives
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:20:59 +03:00
Ibrahim Zidan
9f7626b864
Add sql custom target to emulate make file build behavior
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:20:58 +03:00
Ibrahim Zidan
fa633640b2
Fix compile errors/warnings with plugin test_equippos
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:20:58 +03:00
Ibrahim Zidan
9802878b63
Implement the ability for plugins to pass custom compiler flags
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:20:57 +03:00
Ibrahim Zidan
934d73f4cb
Removal of the old makefile and autoconf build system
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:20:57 +03:00
Ibrahim Zidan
bdd9c612bd
Implement HPM hooks generation target
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:20:56 +03:00
Ibrahim Zidan
9906c1a54b
Implement doxygen docs generation target
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:20:56 +03:00
Ibrahim Zidan
9a78b4a98a
Change plugins now to reside in their own directory and have their own CMakeFileLists.txt file
This would allow for more complex multi-file plugins and better customized build rules per plugin.
Due to this change any plugin that includes HPMHooks using path `plugins/HPMHooking.h` will now have to include it as `plugins/HPMHooking/HPMHooking.h`

Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:20:56 +03:00
Ibrahim Zidan
1d7eae5538
Implement tests building and integeration with ctest
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:20:55 +03:00
Ibrahim Zidan
e34af13a62
Fix config headers was not being correctly added to server targets
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:20:55 +03:00
Ibrahim Zidan
74682dd18e
Add support for compiling plugins, still missing custom compiler flags support
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:20:54 +03:00
Ibrahim Zidan
da4f6a9083
Implement deployment of conan built libraries and RPATH handling of it on Linux/MacOS/BSD
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:20:54 +03:00
Ibrahim Zidan
aa0a44388f
Migrate conan file to python file instead to be abel to selectively decide which packages to builds
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:20:53 +03:00
Ibrahim Zidan
cf4f684fd8
Update sysinfo generation to use custom which gives a more stable auto-generating behavior and moved the compare check to inside synsinfogen.sh as it's much harder to do in cmake
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:20:53 +03:00
Ibrahim Zidan
6f214ee7dd
Addition of CMakeFileLists to compile login, char, map and api server
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:20:53 +03:00
Ibrahim Zidan
3baffeaa15
Move sysninfo.inc to build directory and corrected CFLAGS passed to it being empty
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-27 22:20:52 +03:00
Ibrahim Zidan
ca6b334ef3
Implement configuration options from original configure into cmake
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
Signed-off-by: Haru <haru@dotalux.com>
2026-06-27 22:20:51 +03:00
Ibrahim Zidan
a40302f245
Add target for common library to cmake
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-14 05:19:13 +03:00
Ibrahim Zidan
e3938d81cc
Addition of the previously removed libraries from 3rdparty to cmake through conan
Signed-off-by: Ibrahim Zidan <brahem@aotsw.com>
2026-06-14 05:19:12 +03:00