Compartilhar via


vcpkg_from_github

Baixe e extraia um projeto do GitHub. Habilita o suporte para install --head.

Isso também funciona com o Gitea especificando o servidor Gitea com a opção GITHUB_HOST .

Uso

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

Parâmetros

OUT_SOURCE_PATH

Especifica a variável que conterá o local extraído.

Isso deve ser definido SOURCE_PATH por convenção.

REPO

A organização ou o usuário e o repositório no GitHub.

REF

Um git commit-ish estável (idealmente uma marca ou confirmação) que não alterará o conteúdo. Isso não deve ser um branch.

Para repositórios sem versões oficiais, isso pode ser definido como a ID de confirmação completa do mestre mais recente atual.

Se REF for especificado, SHA512 também deverá ser especificado.

SHA512

O hash SHA512 que deve corresponder ao arquivo morto (https://github.com/${REPO}/archive/${REF}.tar.gz).

Isso é mais facilmente determinado primeiro definindo-o como 0, em seguida, tentando compilar a porta. A mensagem de erro conterá o hash completo, que pode ser copiado de volta para o arquivo de porta.

HEAD_REF

O git commit-ish instável (idealmente um branch) para efetuar pull para --head builds.

Para a maioria dos projetos, isso deve ser master. O branch escolhido deve ser aquele que deve ser sempre compilado em todas as plataformas com suporte.

PATCHES

Uma lista de patches a serem aplicados às fontes extraídas.

Os caminhos relativos são baseados no diretório da porta.

GITHUB_HOST

Um host de substituição para instâncias corporativas do GitHub.

Esse campo deve conter o esquema, o host e a porta da URL desejada sem uma barra à direita.

AUTHORIZATION_TOKEN

Um token a ser passado por meio do cabeçalho HTTP de autorização como "token ${AUTHORIZATION_TOKEN}". Se AUTHORIZATION_TOKEN for um token de acesso refinado, você também deve usar USE_TARBALL_API.

FILE_DISAMBIGUATOR

Um token para identificar exclusivamente o nome de arquivo resultante se o SHA512 for alterado mesmo que um ref git não o faça, para evitar pisar no mesmo nome de arquivo.

USE_TARBALL_API

Quando especificado, o vcpkg usará a API tarball documentada na API REST do GitHub em vez da API de arquivo morto para baixar fontes.

Essa opção existe em vez de ser uma configuração controlada globalmente porque o SHA512 das fontes retornadas pela API tarball difere da API de arquivos regulares.

Anotações

Pelo menos um e REFHEAD_REF deve ser especificado, no entanto, é preferível que ambos estejam presentes.

Isso exporta a variável durante builds VCPKG_HEAD_VERSION de cabeçalho.

Exemplos

Fonte

scripts/cmake/vcpkg_from_github.cmake