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.