The current standalone CMake configuration is optimized for internal development rather than for clients who want to consume the library as an independent module. When selecting standalone mode, users reasonably expect that development‑only features are disabled. Instead, several dev‑oriented settings remain active, including:
- verbose and trace logging
- test builds
- (options to enable) ASAN and other sanitizers/checks
- ...
For consumers, the standalone configuration should produce only the client‑facing library with all development features turned off by default.
To address this, explicit development mode might need to be introduced separate from the standalone mode. This would cleanly separate client builds from internal development workflows.
Additionally, users currently cannot disable standalone mode because a shadowed variable overrides the user‑provided input. A fix for this issue is already available here.
The current
standaloneCMake configuration is optimized for internal development rather than for clients who want to consume the library as an independent module. When selecting standalone mode, users reasonably expect that development‑only features are disabled. Instead, several dev‑oriented settings remain active, including:For consumers, the standalone configuration should produce only the client‑facing library with all development features turned off by default.
To address this, explicit
developmentmode might need to be introduced separate from thestandalonemode. This would cleanly separate client builds from internal development workflows.Additionally, users currently cannot disable standalone mode because a shadowed variable overrides the user‑provided input. A fix for this issue is already available here.