You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Provide a supported way for a C or C++ project to build or consume the Axiolid C ABI with CMake. Package the generated header and native library as an imported target without leaking workspace layout, Cargo internals, or global compiler settings into the consumer.
Why now
A C ABI that only builds from inside the Rust workspace is not an integration surface. Native downstreams need deterministic discovery, linking, installation, runtime-library handling, and a version compatibility check on every supported platform.
Definition of done
find_package(Axiolid CONFIG REQUIRED) exposes a namespaced imported target and documented ABI version.
A minimal out-of-tree C project and C++ project both configure, build, link, and run.
Source-build and packaged-artifact paths pin an immutable release and produce equivalent behavior.
Linux, macOS, and Windows CI covers supported static/shared and runtime-library choices.
Install layout, transitive system libraries, rpath/DLL placement, debug/release selection, and cross-compilation behavior are explicit.
Builds do not use host-specific target-cpu=native defaults or mutate consumer-global CMake flags.
Artifact checksums, license material, and provenance are emitted by the release flow.
Non-goals
Application-specific CMake plugins belong in their downstream repositories.
What
Provide a supported way for a C or C++ project to build or consume the Axiolid C ABI with CMake. Package the generated header and native library as an imported target without leaking workspace layout, Cargo internals, or global compiler settings into the consumer.
Why now
A C ABI that only builds from inside the Rust workspace is not an integration surface. Native downstreams need deterministic discovery, linking, installation, runtime-library handling, and a version compatibility check on every supported platform.
Definition of done
find_package(Axiolid CONFIG REQUIRED)exposes a namespaced imported target and documented ABI version.target-cpu=nativedefaults or mutate consumer-global CMake flags.Non-goals
Application-specific CMake plugins belong in their downstream repositories.
Area
release
Effort
High