【发布时间】:2022-10-25 17:34:25
【问题描述】:
我有一个使用 vcpkg 来管理其依赖项的 cmake 项目。 vcpkg 用于“清单模式”。这意味着我的依赖项在位于项目根目录的 vcpkg.json 中指定:
{
"name": "myproject",
"version-string": "1.0.0",
"builtin-baseline": "232704deb708fc866905af170b63c1a9cb821dbc",
"dependencies": [
{
"name" : "imgui",
"default-features": true,
"features" : ["docking-experimental"]
},
"magnum",
{
"name" : "magnum-integration",
"default-features": false,
"features" : ["imgui"]
}
]
}
"builtin-baseline" 字段包含 git SHA-1 标识我自己私人维护的 vcpkg 存储库中的提交。
例如,magnum 依赖项配置为使用最新的“基线”版本。这意味着如果您转到安装 vcpkg 的位置,则会有一个文件 versions/baseline.json 确定基线。
vcpkg 有一个(复杂且不直观的)机制将某些依赖项固定到旧版本。但是,我找不到如何修改 vcpkg 安装的结构化方法,因此它将安装与 git 存储库不同的版本。 vcpkg“覆盖端口”功能在清单模式下不起作用。
理想情况下,vcpkg 可以让我做一些简单的事情,例如:
"magnum",
{
"git-commit" : "dagfaghsfdg",
"name" : "magnum-integration",
"default-features": false,
"features" : ["imgui"]
}
那么如何配置 vcpkg 以将某个 git commit 用于依赖项(在清单模式下)?
【问题讨论】:
标签: vcpkg