Commit Graph

14 Commits

Author SHA1 Message Date
e88d89e71e build(meson): more robust python build mode 2026-06-11 10:56:54 -04:00
92795f8f5a build(header_install_dir): added header_install_dir option
this is useful for wheel builds
2026-06-11 09:36:34 -04:00
2b8a4bd60f build(vendor): vendor libraries now install in a dedicated directory
We now install vendor libraries into includedir/fourdst/vendor to avoid conflicts with user installed libraries. Note that currently this only applies to headers and not compiled shared libraries

BREAKING CHANGE:
2026-06-05 11:36:42 +02:00
3937a2b828 build(vendor-libraries): update install to be more reliable
vendor libaries for libconfig are now properly installed so linking can be done reliably
2026-06-05 11:19:17 +02:00
ddb2ccb99c build(headers): updated header install paths and base header 2026-06-05 10:08:14 +02:00
68cba402f3 feat(CLI): CLI integration with CLI11
libconfig can automatically generate command line interfaces using CLI11 based on some schema
2026-02-02 08:41:47 -05:00
ec13264050 feat(reflect-cpp): Switched from glaze -> reflect cpp
A bug was discovered in glaze which prevented valid toml output. We have
switched to toml++ and reflect-cpp. The interface has remained the same
so this should not break any code
2025-12-06 10:55:46 -05:00
05b7b94c83 feat(TOML & Glaze): YAML -> TOML
YAML is a horrid format with far too many edge cases. We have switched
to TOML. Further, we have completly reworked the framework so that

1. There is no longer any global config state. Config objects now must
be passed between scopes by the caller. This will introduce some more
friction but whill also make order of initialization clear
2. Config objects are now strongly typed and there is a single sourth of
truth for any given config object baked in using the some struct.
2025-12-05 14:26:22 -05:00
07f1e8d7d7 fix(headers): moved all headers to fourdst/ 2025-06-22 04:52:04 -04:00
fa6209e8f3 feat(headers): moved 2025-06-21 16:17:34 -04:00
9a7dd54099 feat(headers): update header install paths 2025-06-21 16:12:21 -04:00
698e8d2e07 build(libconfig): got build system and tests working 2025-06-21 08:41:39 -04:00
4fcbcb1d17 build(meson): switched almost all intermediate targets to shared libraries 2025-04-30 11:44:53 -04:00
4dc7d6cd7f feat(config): config class added
At many points in the code we may want configurable options, the Config class usses a yaml file to make this easy. It also allows for namespace references "opac:lowtemp:file" etc...
2025-02-19 16:11:55 -05:00