Beispiel für das Packen von GitHub-Repositorys: libogg
Paketlistendatei erstellen
Die Manifestdatei (aufgerufen vcpkg.json
) ist eine JSON-Datei, die die Metadaten des Pakets beschreibt.
Für libogg erstellen wir die Datei ports/libogg/vcpkg.json
mit dem folgenden Inhalt:
{
"name": "libogg",
"version-string": "1.3.3",
"description": "Ogg is a multimedia container format, and the native file and stream format for the Xiph.org multimedia codecs.",
"homepage": "https://www.xiph.org/ogg/"
}
Sie können die Manifestdatei mit unseren Spezifikationen formatieren.vcpkg format-manifest ports/libogg/vcpkg.json
Erstellen der Portdatei
portfile.cmake
beschreibt, wie das Paket erstellt und installiert wird. Zuerst laden wir das Projekt von Github mit vcpkg_from_github
:
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO xiph/ogg
REF v1.3.3
SHA512 0bd6095d647530d4cb1f509eb5e99965a25cc3dd9b8125b93abd6b248255c890cf20710154bdec40568478eb5c4cde724abfb2eff1f3a04e63acef0fbbc9799b
HEAD_REF master
)
Die wichtigen Komponenten zum Aktualisieren sind REPO
für den GitHub-Repositorypfad, REF
für ein stabiles Tag/Commit für die Verwendung und SHA512
mit der Prüfsumme der heruntergeladenen Datei (Sie können dies ganz einfach abrufen, indem Sie es 0
festlegen, versuchen, das Paket zu installieren und die Prüfsumme zu kopieren).
Schließlich konfigurieren wir das Projekt mit CMake, installieren das Paket und kopieren über die Lizenzdatei:
vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH})
vcpkg_cmake_install()
vcpkg_install_copyright("${SOURCE_PATH}/COPYING")
Überprüfen Sie die Dokumentation, und vcpkg_cmake_configure
vcpkg_cmake_install
wenn Ihr Paket zusätzliche Optionen benötigt.
Jetzt können Sie ausführen vcpkg install libogg
, um das Paket zu erstellen und zu installieren.
Vorgeschlagene Beispielportdateien
ports/
Im Verzeichnis gibt es viele Bibliotheken, die als Beispiele verwendet werden können, einschließlich vieler Bibliotheken, die nicht auf CMake basieren.
- Nur Headerbibliotheken
- Rapidjson
- range-v3
- MSBuild-basiert
- chacore
- Non-CMake, benutzerdefiniertes Buildsystem
- openssl
- FFMPEG