从 GitHub 下载并提取项目。 启用对 install --head.
这还适用于 Gitea,方法是使用 GITHUB_HOST 选项指定 Gitea 服务器。
用法
vcpkg_from_github(
OUT_SOURCE_PATH <SOURCE_PATH>
REPO <Microsoft/cpprestsdk>
[REF <v2.0.0>]
[SHA512 <45d0d7f8cc350...>]
[HEAD_REF <master>]
[PATCHES <patch1.patch> <patch2.patch>...]
[GITHUB_HOST <https://github.com>]
[AUTHORIZATION_TOKEN <${SECRET_FROM_FILE}>]
[FILE_DISAMBIGUATOR <N>]
[USE_TARBALL_API]
)
参数
OUT_SOURCE_PATH
指定将包含提取位置的 out-variable。
这应按约定进行 SOURCE_PATH 设置。
回购
GitHub 上的组织或用户和存储库。
裁判
稳定的 git commit-ish(理想情况下是标记或提交),不会更改内容。 这不应是分支。
对于没有官方版本的存储库,这可以设置为当前最新主控形状的完整提交 ID。
如果 REF 已指定, SHA512 还必须指定。
SHA512
应与存档匹配的 SHA512 哈希(https://github.com/${REPO}/archive/${REF}.tar.gz)。
这是最简单的确定,方法是先将其 0设置为该端口,然后尝试生成端口。 错误消息将包含可以复制回 portfile 的完整哈希。
HEAD_REF
要拉取 --head 生成的不稳定 git commit-ish(理想情况下是分支)。
对于大多数项目,这应该是 master。 所选的分支应该是在所有受支持的平台上始终可构建的分支。
补丁
要应用于提取源的修补程序列表。
相对路径基于端口目录。
GITHUB_HOST
企业 GitHub 实例的替换主机。
此字段应包含所需 URL 的方案、主机和端口,而无需尾部斜杠。
AUTHORIZATION_TOKEN
要通过授权 HTTP 标头传递为“token ${AUTHORIZATION_TOKEN}”的令牌。 如果是AUTHORIZATION_TOKEN细化访问令牌,则还必须使用USE_TARBALL_API。
FILE_DISAMBIGUATOR
如果 SHA512 更改(即使 git ref 未更改)来唯一标识生成的文件名的令牌,以避免单步执行相同的文件名。
USE_TARBALL_API
指定后,vcpkg 将使用 GitHub REST API 中记录的 tarball API,而不是存档 API 来下载源。
此选项存在,而不是全局控制的设置,因为 tarball API 返回的源的 SHA512 不同于常规存档 API。
注释
至少必须指定其中一个 REF 且 HEAD_REF 必须指定,但最好同时存在这两者。
这会在 VCPKG_HEAD_VERSION 头生成期间导出变量。