Cleanup
publish / publish (push) Successful in 12m29s

This commit is contained in:
khodowany
2026-09-10 09:21:04 -05:00
parent 2750dd7f3a
commit 48db1a287f
5 changed files with 191 additions and 95 deletions
+9 -6
View File
@@ -2,13 +2,16 @@
Modulus is the shared C++23 foundation library and build tooling used by the khodo Product Vamp repositories. It provides small runtime utilities, Conan profiles, CMake package integration, editor templates, typed LSP compile-database setup, and bridge targets for the external libraries needed by Product Vamp.
The public package intentionally keeps a small dependency surface:
The core `modulus::modulus` target requires only Boost.JSON. Optional bridges are loaded when requested:
- Boost.JSON
- OpenSSL
- SQLite
- raylib
- miniaudio 0.11.22
```cmake
find_package(modulus CONFIG REQUIRED COMPONENTS openssl)
target_link_libraries(app PRIVATE modulus::modulus modulus::openssl)
```
Available components are `boost_json`, `openssl`, `sqlite`, `raylib`, and `miniaudio`. Existing package discovery can also be followed by `modulus_require_openssl()` (or the corresponding bridge helper). Source builds opt in with `MODULUS_WITH_OPENSSL`, `MODULUS_WITH_SQLITE`, `MODULUS_WITH_RAYLIB`, and `MODULUS_WITH_MINIAUDIO`.
Conan consumers must enable the matching `modulus/*:with_openssl`, `with_sqlite`, `with_raylib`, or `with_miniaudio` option to add that dependency to the graph. Applications combining several bridge consumers should set the union of these options on their direct Modulus requirement. All four options default to false.
## Build