Поделиться через


vcpkg_from_github

Скачайте и извлеките проект из GitHub. Включает поддержку install --head.

Это также работает с Gitea, указав сервер Gitea с параметром GITHUB_HOST .

Использование

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>]
)

Параметры

OUT_SOURCE_PATH

Указывает вне переменную, содержащую извлеченное расположение.

Это должно быть задано по соглашению SOURCE_PATH .

REPO

Организация или пользователь и репозиторий на GitHub.

REF

Стабильный git commit-ish (в идеале тег или фиксация), который не изменит содержимое. Это не должно быть ветвью.

Для репозиториев без официальных выпусков можно задать полный идентификатор фиксации текущего последнего образца.

Если указан аргумент REF, необходимо также задать аргумент SHA512.

SHA512

Хэш SHA512, соответствующий архиву (https://github.com/${REPO}/archive/${REF}.tar.gz).

Это наиболее легко определяется при первом задании, 0а затем пытается создать порт. Сообщение об ошибке будет содержать полный хэш, который можно скопировать обратно в портфайл.

HEAD_REF

Неустойчивый git commit-ish (в идеале ветвь) для извлечения сборок --head .

Для большинства проектов это должно быть master. Выбранная ветвь должна быть всегда построена на всех поддерживаемых платформах.

ПАТЧИ

Список исправлений, применяемых к извлеченным источникам.

Относительные пути основаны на каталоге портов.

GITHUB_HOST

Узел замены для корпоративных экземпляров GitHub.

Это поле должно содержать схему, узел и порт требуемого URL-адреса без косой черты.

AUTHORIZATION_TOKEN

Маркер, передаваемый через заголовок HTTP авторизации, как "token ${AUTHORIZATION_TOKEN}".

FILE_DISAМБ ИГУАТОР

Маркер для уникальной идентификации результирующего имени файла, если SHA512 изменяется, несмотря на то, что ссылка на git не выполняется, чтобы избежать шагов в том же имени файла.

Примечания.

По крайней мере один из REF и HEAD_REF должен быть указан, однако предпочтительнее для того, чтобы они присутствовали.

Это экспортирует VCPKG_HEAD_VERSION переменную во время сборки головы.

Примеры

Оригинал

scripts/cmake/vcpkg_from_github.cmake