vcpkg_from_github

Scaricare ed estrarre un progetto da GitHub. Abilita il supporto per install --head.

Questo funziona anche con Gitea specificando il server Gitea con l'opzione GITHUB_HOST .

Utilizzo

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

Parametri

OUT_SOURCE_PATH

Specifica la variabile out che conterrà la posizione estratta.

Deve essere impostata su SOURCE_PATH per convenzione.

REPO

L'organizzazione o l'utente e il repository in GitHub.

REF

Un commit-ish git stabile (idealmente un tag o un commit) che non modificherà il contenuto. Questo non deve essere un ramo.

Per i repository senza versioni ufficiali, è possibile impostare l'ID commit completo del master corrente.

Se REF è specificato, SHA512 è necessario specificare anche .

SHA512

Hash SHA512 che deve corrispondere all'archivio (https://github.com/${REPO}/archive/${REF}.tar.gz).

Questa operazione è più facilmente determinata impostandola prima su 0, quindi provando a compilare la porta. Il messaggio di errore conterrà l'hash completo, che può essere copiato di nuovo nel file di porta.

HEAD_REF

Commit-ish git instabile (idealmente un ramo) di cui eseguire il pull per --head le compilazioni.

Per la maggior parte dei progetti, deve essere master. Il ramo scelto deve essere sempre compilabile in tutte le piattaforme supportate.

PATCH

Elenco di patch da applicare alle origini estratte.

I percorsi relativi sono basati sulla directory della porta.

GITHUB_HOST

Host sostitutivo per le istanze di GitHub aziendali.

Questo campo deve contenere lo schema, l'host e la porta dell'URL desiderato senza una barra finale.

AUTHORIZATION_TOKEN

Token da passare tramite l'intestazione HTTP di autorizzazione come "token ${AUTHORIZATION_TOKEN}".

FILE_DISAMBIGUATOR

Token per identificare in modo univoco il nome file risultante se SHA512 cambia anche se un riferimento Git non viene eseguito, per evitare di eseguire istruzioni sullo stesso nome file.

Note

Almeno uno di REF e HEAD_REF deve essere specificato, tuttavia è preferibile che entrambi siano presenti.

In questo modo la variabile viene esportata durante le VCPKG_HEAD_VERSION compilazioni head.

Esempi

Origine

scripts/cmake/vcpkg_from_github.cmake