Esempio di repository GitHub per la creazione di pacchetti: libogg
Creare il file manifest
Il file manifesto (denominato vcpkg.json
) è un file JSON che descrive i metadati del pacchetto.
Per libogg si creerà il file ports/libogg/vcpkg.json
con il contenuto seguente:
{
"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/"
}
È possibile formattare il file manifesto in base alle specifiche con vcpkg format-manifest ports/libogg/vcpkg.json
.
Creare il file di porta
portfile.cmake
descrive come compilare e installare il pacchetto. Prima di tutto, scaricare il progetto da Github con vcpkg_from_github
:
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO xiph/ogg
REF v1.3.3
SHA512 0bd6095d647530d4cb1f509eb5e99965a25cc3dd9b8125b93abd6b248255c890cf20710154bdec40568478eb5c4cde724abfb2eff1f3a04e63acef0fbbc9799b
HEAD_REF master
)
Le parti importanti da aggiornare sono REPO
per il percorso del repository GitHub, REF
per un tag/commit stabile da usare e SHA512
con il checksum del file scaricato (è possibile ottenerlo facilmente impostandolo su 0
, provando a installare il pacchetto e copiando il checksum).
Infine, si configura il progetto con CMake, si installa il pacchetto e si copia il file di licenza:
vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH})
vcpkg_cmake_install()
vcpkg_install_copyright("${SOURCE_PATH}/COPYING")
Controllare la documentazione per vcpkg_cmake_configure
e vcpkg_cmake_install
se il pacchetto necessita di opzioni aggiuntive.
È ora possibile eseguire vcpkg install libogg
per compilare e installare il pacchetto.
Portfile di esempio suggeriti
ports/
Nella directory sono disponibili molte librerie che possono essere usate come esempi, tra cui molte non basate su CMake.
- Librerie solo intestazioni
- rapidjson
- range-v3
- Basato su MSBuild
- il sistema di core
- Non CMake, sistema di compilazione personalizzato
- openssl
- ffmpeg