@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user