Partilhar via


vcpkg_from_github

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

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

Utilização

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 de saída que conterá o local extraído.

Tal deve ser estabelecido SOURCE_PATH por convenção.

REPO

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

REFª

Um git commit-ish estável (idealmente uma tag ou commit) que não alterará o conteúdo. Este não deve ser um ramo.

Para repositórios sem lançamentos oficiais, isso pode ser definido como o id de confirmação completo do mestre mais recente atual.

Se REF for especificado, SHA512 também deve ser especificado.

SHA512

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

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

HEAD_REF

O git instável compromete-ish (idealmente um ramo) para puxar para --head construções.

Para a maioria dos projetos, isso deve ser master. A ramificação escolhida deve ser aquela que se espera que seja sempre compilável em todas as plataformas suportadas.

ADESIVOS

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

Os caminhos relativos são baseados no diretório de portas.

GITHUB_HOST

Um host substituto para instâncias corporativas do GitHub.

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

AUTHORIZATION_TOKEN

Um token a ser passado através 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_APIo .

FILE_DISAMBIGUATOR

Um token para identificar exclusivamente o nome de arquivo resultante se o SHA512 for alterado mesmo que uma ref git não mude, 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 para baixar fontes.

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

Observações

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

Isso exporta a variável durante as construções do VCPKG_HEAD_VERSION cabeçote.

Exemplos

Fonte

scripts/cmake/vcpkg_from_github.cmake