-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
Summary
Ensure CI builds all CMake targets — library, tests, examples, and benchmarks — in both standalone and Boost superproject modes.
Current state
- The primary CI matrix builds within the Boost superproject via B2 and CMake.
- There is no CI job that builds corosio as a fully standalone project (outside the Boost tree entirely), where Capy is fetched via FetchContent.
- Benchmark and example targets may be skipped in some configurations.
Desired state
-
All target categories built in CI:
boost_corosio(core library)boost_corosio_openssl/boost_corosio_wolfssl(TLS providers, where available)- Unit tests (
boost_corosio_tests) - Examples (
client,echo-server,nslookup,https-client) - Benchmarks (
corosio_bench)
-
Both build modes exercised:
- Superproject: Build within the Boost tree (B2 and/or CMake), as currently done.
- Standalone: A dedicated CI job that builds corosio entirely outside the Boost superproject — corosio is the CMake root and Capy is fetched via FetchContent. Build with
BOOST_COROSIO_BUILD_TESTS=ON,BOOST_COROSIO_BUILD_EXAMPLES=ON, andBOOST_COROSIO_BUILD_PERF=ON.
-
Explicit verification that each target compiles successfully in both modes.
Suggested approach
- Add standalone CI matrix entries to
ci.ymlthat configure and build corosio as a standalone root project with all build options enabled. - Ensure existing superproject jobs also enable examples and benchmarks (or add a dedicated job that does).
- Consider a CI step that lists built targets to catch regressions where a target silently stops being built.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels