pkg is a simple, minimal dependency manager based on Git.
It clones your cycle-free dependency tree recursively and creates a CMakeLists.txt
file with all dependencies in topological order.
Example .pkg
file:
[fmt]
[email protected]:motis-project/fmt.git
branch=master
commit=3eca62d66c7c9a2ca97dc8381299d911978b9fb2
After invoking CMake
, the pkg
binary executable can be found in build/dl/
.
pkg -s
After updating a commit ID in the .pkg
file,
you can pkg -l
to establish the dependency tree state described in the .pkg
file.
Effectively, git
repositories will be updated in deps/
.
You can use -f
to force checkout the commits.
Warning
This will override the changes you made, so be careful.