A vcpkg git registry
that packages the SMS++ library as a
vcpkg port, so any project can pull smspp as a dependency.
| Port | Version | Upstream |
|---|---|---|
| smspp | 0.5.1 | https://gitlab.com/smspp/smspp-project |
| stopt | 6.3 | https://gitlab.com/stochastic-control/StOpt |
stopt is a dependency of smspp that is not in the default vcpkg registry, so
it is hosted here too: a project depending on smspp routes both packages to
this single registry and needs no other.
In your project's vcpkg.json, add smspp to dependencies and route it (and
stopt) to this registry under configuration.registries:
{
"name": "my-project",
"version": "1.0.0",
"dependencies": [
"smspp"
],
"builtin-baseline": "f8be6942c0c5abd48bb325726d57af9ac39e251d",
"configuration": {
"registries": [
{
"kind": "git",
"repository": "https://gitlab.com/smspp/vcpkg-registry.git",
"baseline": "<commit-SHA-of-this-registry>",
"packages": [
"smspp",
"stopt"
]
}
]
}
}baseline for this registry must be the full commit SHA of the desired
commit of this repository (normally the latest on the default branch):
git ls-remote https://gitlab.com/smspp/vcpkg-registry.git HEADvcpkg resolves the requested versions through versions/baseline.json and the
versions/s-/*.json maps, and builds each port from ports/<port>/.
Note —
smspp-projectis an umbrella of git submodules. The source archive fetched by the port does not include submodule contents; see the comment inports/smspp/portfile.cmake.
ports/
smspp/
portfile.cmake # fetches smspp-project 0.5.1 from GitLab and builds it
vcpkg.json # port manifest + dependencies
stopt/
portfile.cmake # fetches StOpt v6.3 from GitLab and builds it
vcpkg.json # port manifest + dependencies
versions/
baseline.json # default versions served by the registry
s-/
smspp.json # version -> git-tree map
stopt.json # version -> git-tree map
- Edit
ports/<port>/(bumpversion, update the sourceREF/SHA512, …). - Commit the change.
- Record the new version with its committed tree hash, either via
vcpkg x-add-version <port>(from a vcpkg checkout), or by hand inversions/s-/<port>.jsonandversions/baseline.jsonusing:git rev-parse "HEAD:ports/<port>" - Commit the
versions/update and push.