• v0.1 3e9c17e030

    v0.1
    All checks were successful
    / pack (push) Successful in 5s
    Stable

    gpuoti released this 2026-10-04 19:15:06 +02:00 | 0 commits to master since this release

    Grab 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.git

    The guide is at https://dist-hub.mooo.com/grab.html. See CHANGELOG.md for the full list of changes.

    Downloads