-
released this
2026-10-04 19:15:06 +02:00 | 0 commits to master since this releaseGrab 0.1
First release. Grab is a CMake module that fetches the libraries a project needs at the versions the project pins in its own database.
It also fetches anything else that lives in a git repository, such as data and the tools that process it, so a project can describe a whole versioned environment.The number says that the initial decisions are still unstable. 1.0 is reserved for something more stable.
Highlights
- Each project owns its library database, grab/libs.db.csv, and pins the versions it builds against. The one shipped with Grab is a reference catalog to start from.
- GRAB_BINARY_DIR chooses where the dependencies are placed.
- A project has a single Grab and a single database, kept in a meta component. Including Grab a second time, for instance from a component that carries its own grab/, is an
error that names both locations. - Examples: examples/hello (a project with spdlog, cxxopts and Catch2 and its tests), examples/integration (a meta component integrating a component) and examples/pipeline (versioned data and a tool, with CMake describing the pipeline that runs them).
- Clearer errors: unknown libraries list the known ones, a missing database says where it was looked for and shows the expected format.
- A test suite, run in CI before the guide is published.
Fixed
- A library whose name matched the url or tag of another entry could resolve to the wrong one. Duplicate names are now rejected.
- Blank lines and # comments in libs.db.csv are ignored.
Good to know
- The format of libs.db.csv will change. It is not stable in 0.1, but we expect it to stay compatible or convertible.
- Libraries, data and tools must be in git repositories: Grab does not download archives or binaries yet.
Get it
git clone --depth 1 --branch v0.1 https://code-hub.mooo.com/gpuoti/grab.gitThe guide is at https://dist-hub.mooo.com/grab.html. See CHANGELOG.md for the full list of changes.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
0 downloads