Skip to main content
Version: 1.1.1

函数: kmpkg_from_gitlab

从 Gitlab 实例下载并提取项目。 启用对 install --head 的支持。

使用情况

kmpkg_from_gitlab(
GITLAB_URL <https://gitlab.com>
OUT_SOURCE_PATH <SOURCE_PATH>
REPO <gitlab-org/gitlab-ce>
[REF <v10.7.3>]
[SHA512 <45d0d7f8cc350...>]
[HEAD_REF <master>]
[PATCHES <patch1.patch> <patch2.patch>...]
[AUTHORIZATION_TOKEN <${SECRET_FROM_FILE}>]
[FILE_DISAMBIGUATOR <N>]
)

参数

GITLAB_URL

要使用的 GitLab 实例的 URL。

OUT_SOURCE_PATH

指定将包含提取位置的输出变量。

此项应按约定设置为 SOURCE_PATH

REPO

组织或用户加上 Gitlab 实例上的存储库名。

REF

不会更改内容的稳定 git commit-ish(理想情况下为标记)。 此项不应为分支。

对于没有官方版本的存储库,此项可以设置为当前最新主版本的完整提交 ID。

如果指定了 REF,则也必须指定 SHA512

SHA512

SHA512 哈希应匹配存档 (${GITLAB_URL}/${REPO}/-/archive/${REF}/${REPO_NAME}-${REF}.tar.gz)REPO_NAME 变量从 REPO 值解析得出。

HEAD_REF

用于拉取 --head 构建的不稳定 git commit-ish(理想情况下为分支)。

对于大多数项目,此项应为 master。 所选分支应为预期在所有支持的平台上始终可构建的分支。

PATCHES

要应用于提取的源代码的修补程序列表。

相对路径基于端口目录。

AUTHORIZATION_TOKEN

通过授权 HTTP 标头PRIVATE-TOKEN传递的令牌。

FILE_DISAMBIGUATOR

一个令牌,在 SHA512 更改(即使 git ref 未更改)时用来唯一标识结果文件名,以避免单步执行相同的文件名。

说明

必须至少指定 REFHEAD_REF 之一,但最好两者同时存在。

这会在头部构建期间导出 KMPKG_HEAD_VERSION 变量。

示例

Source

scripts/cmake/kmpkg_from_gitlab.cmake