vcpkg_from_github
Laden Sie ein Projekt aus GitHub herunter, und extrahieren Sie es. Aktiviert die Unterstützung für install --head
.
Dies funktioniert auch mit Gitea, indem der Gitea-Server mit der GITHUB_HOST
Option angegeben wird.
Verwendung
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>]
)
Parameter
OUT_SOURCE_PATH
Gibt die Out-Variable an, die den extrahierten Speicherort enthält.
Dies sollte nach Konvention festgelegt SOURCE_PATH
werden.
REPO
Die Organisation oder der Benutzer und das Repository auf GitHub.
REF
Ein stabiles Git Commit-ish (idealerweise ein Tag oder Commit), das den Inhalt nicht ändert. Dies sollte keine Verzweigung sein.
Für Repositorys ohne offizielle Versionen kann dies auf die vollständige Commit-ID des aktuellen aktuellen Master festgelegt werden.
Wenn REF
angegeben ist, muss auch SHA512
angegeben werden.
SHA512
Der SHA512-Hash, der mit dem Archiv übereinstimmen soll (https://github.com/${REPO}/archive/${REF}.tar.gz).
Dies wird am einfachsten bestimmt, indem sie zuerst auf 0
"Port" festgelegt und dann versucht wird, den Port zu erstellen. Die Fehlermeldung enthält den vollständigen Hash, der wieder in die Portdatei kopiert werden kann.
HEAD_REF
Das instabile Git Commit-ish (idealerweise eine Verzweigung), die für --head
Builds abgerufen werden soll.
Für die meisten Projekte sollte dies sein master
. Die gewählte Verzweigung sollte eine sein, die voraussichtlich immer auf allen unterstützten Plattformen erstellt werden kann.
PATCHES
Eine Liste der Patches, die auf die extrahierten Quellen angewendet werden sollen.
Relative Pfade basieren auf dem Portverzeichnis.
GITHUB_HOST
Ein Ersatzhost für GitHub-Instanzen für Unternehmen.
Dieses Feld sollte das Schema, den Host und den Port der gewünschten URL ohne nachfolgende Schrägstriche enthalten.
AUTHORIZATION_TOKEN
Ein Token, das über den Autorisierungs-HTTP-Header als "token ${AUTHORIZATION_TOKEN}" übergeben werden soll.
FILE_DISAMBIGUATOR
Ein Token, um den resultierenden Dateinamen eindeutig zu identifizieren, wenn sich die SHA512 ändert, auch wenn ein Git-Verweis nicht erfolgt, um zu vermeiden, denselben Dateinamen zu verwenden.
Hinweise
Mindestens einer von REF
und HEAD_REF
muss angegeben werden, es ist jedoch vorzuziehen, dass beide vorhanden sind.
Dadurch wird die Variable während der VCPKG_HEAD_VERSION
Headbuilds exportiert.