# MyToolchain.cmake
set(CMAKE_CXX_COMPILER ...)
set(VCPKG_TARGET_TRIPLET x64-my-custom-windows-triplet)
include(/path/to/vcpkg/scripts/buildsystems/vcpkg.cmake)
Notes
vcpkg n’applique pas automatiquement les paramètres de votre chaîne d’outils, tels que vos indicateurs de compilation ou de compilateur, lors de la création de bibliothèques. Pour modifier les paramètres de bibliothèque de vcpkg, vous devez créer un fichier triplet personnalisé (qui peut partager votre chaîne d’outils)**
Informations de référence sur les paramètres
Toutes les variables affectant vcpkg doivent être définies avant la première project()
directive, par exemple dans une CMakePresets.json
carte de , via la ligne de "cacheVariables"
commande ou set()
les instructions.
VCPKG_TARGET_TRIPLET
Ce paramètre contrôle le triplet vcpkg à partir duquel installera et consommera les bibliothèques.
Si ce paramètre n’est pas défini, vcpkg détecte automatiquement un triplet par défaut approprié en fonction des paramètres actuels du compilateur. Si vous modifiez cette variable CMake, vous devez supprimer votre cache et reconfigurer.
VCPKG_HOST_TRIPLET
Cette variable contrôle pour quelles dépendances d’hôte triplet seront installées.
Si ce paramètre n’est pas défini, vcpkg détecte automatiquement un triplet natif approprié (x64-windows, x64-osx, x64-linux).
Voir également Dépendances de l’hôte.
VCPKG_INSTALLED_DIR
Cette variable définit l’emplacement à partir duquel les bibliothèques seront installées et consommées.
En mode manifeste, la valeur par défaut est ${CMAKE_BINARY_DIR}/vcpkg_installed
.
En mode classique, la valeur par défaut est ${VCPKG_ROOT}/installed
.
VCPKG_MANIFEST_MODE
Cette variable force vcpkg à fonctionner en mode manifeste ou en mode classique.
La valeur ON
par défaut est quand VCPKG_MANIFEST_DIR
n’est pas vide ou ${CMAKE_SOURCE_DIR}/vcpkg.json
existe.
Pour désactiver le mode manifeste lorsqu’un vcpkg.json
est détecté, définissez ce paramètre sur OFF
.
VCPKG_MANIFEST_DIR
Cette variable spécifie un autre dossier contenant un vcpkg.json
manifeste.
La valeur par défaut est ${CMAKE_SOURCE_DIR}
si ${CMAKE_SOURCE_DIR}/vcpkg.json
existe.
VCPKG_MANIFEST_INSTALL
Cette variable contrôle si vcpkg sera automatiquement exécuté pour installer vos dépendances lors de votre étape de configuration.
La valeur ON
par défaut est si VCPKG_MANIFEST_MODE
est ON
.
VCPKG_BOOTSTRAP_OPTIONS
Cette variable peut être définie sur des paramètres de commande supplémentaires à passer à ./bootstrap-vcpkg
.
En mode manifeste, vcpkg est automatiquement démarré si l’exécutable n’existe pas.
VCPKG_OVERLAY_TRIPLETS
Cette variable peut être définie sur une liste de chemins d’accès à passer sur la ligne de commande en tant que --overlay-triplets=...
VCPKG_OVERLAY_PORTS
Cette variable peut être définie sur une liste de chemins d’accès à passer sur la ligne de commande en tant que --overlay-ports=...
VCPKG_MANIFEST_FEATURES
Cette variable peut être définie sur une liste de fonctionnalités à activer lors de l’installation à partir de votre manifeste.
Par exemple, les fonctionnalités peuvent être utilisées par des projets pour contrôler la création avec des dépendances supplémentaires afin d’activer des tests ou des exemples :
"name": "mylibrary",
"version": "1.0",
"dependencies": [ "curl" ],
"features": {
"samples": {
"description": "Build Samples",
"dependencies": [ "fltk" ]
"tests": {
"description": "Build Tests",
"dependencies": [ "gtest" ]
Ce paramètre peut être contrôlé directement par les présélections CMake avec "cacheVariables"
ou indirectement en fonction d’autres paramètres :
# CMakeLists.txt
option(BUILD_TESTING "Build tests" OFF)
if(BUILD_TESTING)
list(APPEND VCPKG_MANIFEST_FEATURES "tests")
endif()
option(BUILD_SAMPLES "Build samples" OFF)
if(BUILD_SAMPLES)
list(APPEND VCPKG_MANIFEST_FEATURES "samples")
endif()
project(myapp)
# ...
VCPKG_MANIFEST_NO_DEFAULT_FEATURES
Cette variable contrôle l’activation des fonctionnalités par défaut en plus de celles répertoriées dans VCPKG_MANIFEST_FEATURES
. Si la valeur est définie ON
sur , les fonctionnalités par défaut ne sont pas activées automatiquement.
La valeur par défaut est OFF
.
VCPKG_INSTALL_OPTIONS
Cette variable peut être définie sur une liste de paramètres de ligne de commande supplémentaires à passer à l’outil vcpkg lors de l’installation automatique.
VCPKG_PREFER_SYSTEM_LIBS
Cette fonctionnalité est déconseillée. Utilisez plutôt des ports de superposition vides.
Cette variable contrôle si vcpkg ajoute au lieu d’ajouter ses chemins d’accès à CMAKE_PREFIX_PATH
, CMAKE_LIBRARY_PATH
et CMAKE_FIND_ROOT_PATH
pour que les bibliothèques/packages vcpkg soient trouvés après la chaîne d’outils/bibliothèques système/packages.
La valeur par défaut est OFF
.
VCPKG_FEATURE_FLAGS
Cette variable peut être définie sur une liste d’indicateurs de fonctionnalité à passer à l’outil vcpkg lors de l’installation automatique pour accepter un comportement expérimental.
Pour plus d’informations, consultez l’option --feature-flags=
de ligne de commande.
VCPKG_TRACE_FIND_PACKAGE
Lorsque la valeur est définie ON
sur , imprimez chaque appel sur find_package
. Les appels imbriqués (par exemple via find_dependency
) sont mis en retrait en fonction de la profondeur d’imbrication.