Freigeben über


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.

Beispiele

Quelle

scripts/cmake/vcpkg_from_github.cmake