Compartilhar via


vcpkg_from_github

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

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

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

Parâmetros

OUT_SOURCE_PATH

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

Isso deve ser definido SOURCE_PATH por convenção.

REPOSITÓRIO

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. Isso não deve ser um ramo.

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

Se REF for especificado, SHA512 também precisará 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 0, depois tentando construir 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 instável commit-ish (idealmente um ramo) para puxar para --head compilaçõ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.

PATCHES

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.

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 através do cabeçalho HTTP de autorização como "token ${AUTHORIZATION_TOKEN}".

FILE_DISAMBIGUATOR

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

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 compilações de VCPKG_HEAD_VERSION cabeçalho.

Exemplos

Origem

scripts/cmake/vcpkg_from_github.cmake