LICENSING.md says the MIT core is zero-dependency and can compile/ship alone, but the current top-level CMake does not expose that architecture: it discovers/fetches xsimd at configure time and collects most src/*.cpp into a single TinyML target.
This should be fixed as a build-system invariant, not left as documentation.
Acceptance criteria:
- Add an explicit core-only build mode that never downloads, discovers, links, or exposes xsimd.
- Replace broad source globbing with explicit core and extended source lists so the licence boundary is reviewable in CMake.
- Keep the existing full/extended build available for the commercial tier.
- Ensure MIT headers never gain a transitive dependency on extended headers or xsimd.
- Add CI coverage for both core-only and full builds.
- Add an install/export path so a downstream CMake project can consume the core target through
find_package or an exported target without copying headers manually.
- Add a small downstream smoke test that configures against the installed package and links a minimal executable.
- Document build options and target names in README/LICENSING.md.
This is important because the repository currently documents a stronger separation than the build system itself guarantees.
LICENSING.mdsays the MIT core is zero-dependency and can compile/ship alone, but the current top-level CMake does not expose that architecture: it discovers/fetches xsimd at configure time and collects mostsrc/*.cppinto a singleTinyMLtarget.This should be fixed as a build-system invariant, not left as documentation.
Acceptance criteria:
find_packageor an exported target without copying headers manually.This is important because the repository currently documents a stronger separation than the build system itself guarantees.