This document describes dependency behavior owned by neuriplo-infer: local
build inputs, app-level sibling checkout selection, and setup scripts.
Repo-local sources:
CMakeLists.txt: build requirements, backend options, FetchContent wiring.cmake/versions.cmake: version loading and app-level sibling-ref selection.versions.env: repo-owned minimum system dependency versions.
External owners:
neuriplo-tasks: task contracts and result semantics.neuriplo: backend package versions and backend runtime compatibility.videocapture: video backend setup and source semantics.
neuriplo-infer owns:
- Minimum system requirements used by this app build, such as OpenCV, glog, and CMake.
- How the local app fetches and wires sibling repositories at build time.
- Top-level setup scripts that help users install backend dependencies locally.
- CLI-facing configuration for selecting tasks, sources, weights, labels, prompts, output format, batching, warmup, benchmarking, and metadata export.
neuriplo-infer does not own:
- Backend package version numbers.
- Backend linking internals.
- Video-backend dependency matrices.
- Upstream task/model contracts.
Those belong to neuriplo, videocapture, and neuriplo-tasks.
neuriplo-infer does not manually pin independent versions for neuriplo-tasks,
neuriplo, and videocapture in prose docs.
Instead, cmake/versions.cmake derives one shared
ref for the app build:
masterrelease builds resolve sibling repos tomaster.- all other branches resolve sibling repos to
develop.
If explicit per-repo overrides disagree with that derived ref, configure fails.
The scripts under scripts/ are convenience tooling, not the
canonical definition of dependency policy.
scripts/setup_dependencies.sh: installs selected backend dependencies for local development/runtime setup.scripts/update_backend_versions.sh: helper that copies backend-version files from sibling or fetched repos when setup scripts need them.
These scripts may read files such as versions.neuriplo.env for backend setup,
but those files are not the source of truth for which sibling repo refs the main
CMake build targets.
- Use the repo's canonical configure/build/test commands for cross-repo maintenance.
- Run setup scripts only when a backend dependency is needed locally.
- Use
cmake/versions.cmaketo understand app-local sibling ref selection. - For video-backend setup specifics, consult
videocapturedocumentation instead of duplicating those instructions here.
Linux is the primary supported environment for this repo and its helper scripts. Other platforms may work for subsets of the stack, but backend support should be verified in the owning dependency repo.