- CMake 99.4%
- Shell 0.6%
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| doc | ||
| examples | ||
| test | ||
| .gitignore | ||
| build-doc.sh | ||
| CHANGELOG.md | ||
| grab.cmake | ||
| libs.db.csv | ||
| LICENSE | ||
| README.md | ||
Grab is a CMake module that makes it easy to include and manage external libraries in your project. Each project pins the versions it builds against in its own library database.
Libraries are only the start: anything that lives in a git repository, such as data and the tools that process it, can be grabbed too. A project can then describe a whole versioned environment, and CMake how its parts work together.
Grab ships with a reference catalog of common libraries. Organizations adapt it in their own fork to list the libraries they approve.
Usage
Please find more details at https://dist-hub.mooo.com/grab.html; here is a taste of how Grab can help you simply manage your dependencies.
Copy Grab from your organization's fork into your project and commit it:
mkdir your-project
cd your-project
git init
git clone --depth 1 --branch v0.1 https://code-hub.mooo.com/gpuoti/grab.git
rm -rf grab/.git
touch CMakeLists.txt
Keep in grab/libs.db.csv the libraries your project uses, at the versions
your release builds against. The format of this file will change: it is not
stable in version 0.1, but we expect it to stay compatible or convertible.
Then include Grab in your CMake configuration:
cmake_minimum_required( VERSION 3.15 )
include( grab/grab.cmake )
project( your-project )
grab( plog )
grab( cxxopts )
License
This project is licensed under the MIT License. See the LICENSE file for details.