Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.jsonnos 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 0sur , 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