Exemple de dépôts GitHub empaquetage : libogg
Créer un fichier manifest
Le fichier manifeste (appelé vcpkg.json
) est un fichier json décrivant les métadonnées du package.
Pour libogg, nous allons créer le fichier ports/libogg/vcpkg.json
avec le contenu suivant :
{
"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/"
}
Vous pouvez mettre en forme le fichier manifeste avec vcpkg format-manifest ports/libogg/vcpkg.json
nos spécifications.
Créer le fichier portfile
portfile.cmake
décrit comment générer et installer le package. Tout d’abord, nous téléchargeons le projet à partir de Github avec vcpkg_from_github
:
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO xiph/ogg
REF v1.3.3
SHA512 0bd6095d647530d4cb1f509eb5e99965a25cc3dd9b8125b93abd6b248255c890cf20710154bdec40568478eb5c4cde724abfb2eff1f3a04e63acef0fbbc9799b
HEAD_REF master
)
Les parties importantes à mettre à jour concernent REPO
le chemin du dépôt GitHub, REF
pour une balise/validation stable à utiliser et SHA512
avec la case activée um du fichier téléchargé (vous pouvez obtenir cela facilement en le définissant 0
sur , en essayant d’installer le package et en copiant la somme de case activée sum).
Enfin, nous configurons le projet avec CMake, installons le package et copiez-le sur le fichier de licence :
vcpkg_cmake_configure(SOURCE_PATH ${SOURCE_PATH})
vcpkg_cmake_install()
vcpkg_install_copyright("${SOURCE_PATH}/COPYING")
Vérifiez la documentation et vcpkg_cmake_configure
vcpkg_cmake_install
si votre package a besoin d’options supplémentaires.
Vous pouvez maintenant exécuter vcpkg install libogg
pour générer et installer le package.
Exemples suggérés de fichiers portfiles
Dans le ports/
répertoire sont de nombreuses bibliothèques qui peuvent être utilisées comme exemples, y compris beaucoup qui ne sont pas basées sur CMake.
- Bibliothèques d’en-tête uniquement
- rapidjson
- range-v3
- BASÉ sur MSBuild
- chakracore
- Non-CMake, buildsystem personnalisé
- openssl
- FFmpeg