Commit graph

8 commits

Author SHA1 Message Date
69a7b0e45e (experimental) libeuropa: Make libeuropa a shared library
Bleh. Might as well.

NO ABI GUARANTEES UNTIL A REAL 1.0.0 RELEASE.
2025-01-17 22:25:13 -05:00
f5d03cfdeb *: "Support" MSVC
For Windows builds of EuropaTools. For now I'm using MSVC since clang completely barfs.
2025-01-17 20:25:34 -05:00
29a78724e8 tools: Implement new "toollib"
This essentially is a even-more refactored version of the new eupak "Task" setup, but done in a generic way, so multiple tools can be written like eupak easily, and I Don't Need to Duplicate It Every Time.

This commit also comes with a new test binary, "toollib_test". This will be removed once it's no longer needed and I'm done sketching out the API set (and eupak is refactored to use toollib instead), but for now this provides a two-way thing:

- Allows me to hack on toollib without breaking everything
- Shows how to use toollib.
2025-01-17 16:03:39 -05:00
341f914e1d *: Add some hardening compile options.
Also fix some warnings and potential issues that building the entire EuropaTools codebase under those flags showed.

Later on once we drop the libpixel and stbiw dependencies, we can probably turn on -Werror for release builds.
2025-01-08 13:08:49 -05:00
bdc55f5483 *: Relicense to MIT
A ironically more-free license. Also no more foot fungus (or other various shitty things a certain RMS has done.)
2025-01-07 18:02:27 -05:00
307e92768c *: Correct all license headers 2025-01-07 14:17:50 -05:00
8d607675d0 chore(cmake): cmake license header, update a bit
Instead of using set_target_properties on all tool binaries,
instead we can use target_compile_features([xxx] PUBLIC cxx_std_20).

This properly alienates projects which depend on libeuropa, allowing the src/tools CMakeLists to be trimmed down quite a bit.

Also fixes a build break I accidentally introduced.
2022-09-21 02:55:57 -05:00
62862d832f Initial commit 2022-09-04 16:11:14 -05:00