Partager via


Informations de référence sur les triplets

Cet article décrit les variables vcpkg disponibles pour les fichiers triplets. Un fichier triplet peut également inclure des variables définies par l’utilisateur.

Consultez la documentation sur le concept de triplets pour obtenir une vue générale des fonctionnalités de triplet.

Variables

VCPKG_TARGET_ARCHITECTURE

Spécifie l’architecture de l’ordinateur cible.

Les options valides incluent x86, , x64arm, s390x, mips64wasm32arm64arm64ecppc64leriscv32riscv64loongarch32loongarch64

VCPKG_CRT_LINKAGE

Spécifie la liaison CRT souhaitée (pour MSVC).

Les options valides sont dynamic et static.

VCPKG_LIBRARY_LINKAGE

Spécifie la liaison de bibliothèque préférée.

Les options valides sont dynamic et static. Les bibliothèques peuvent ignorer ce paramètre s’ils ne prennent pas en charge le type de liaison préféré.

VCPKG_BUILD_TYPE

Vous pouvez définir cette valeur pour release générer des versions release uniquement des ports. Par défaut, cette valeur est vide. Lorsque cette valeur est vide, vcpkg génère des versions et débogue les configurations de ports.

VCPKG_CMAKE_SYSTEM_NAME

Spécifie la plateforme cible.

Les options valides incluent n’importe quel nom système CMake, par exemple :

  • Vide (Windows Desktop pour des raisons héritées)
  • WindowsStore(plateforme Windows universelle)
  • MinGW (Gnu minimaliste pour Windows)
  • Darwin (Mac OSX)
  • iOS (iOS)
  • Linux (Linux)
  • Emscripten (WebAssembly)

VCPKG_CMAKE_SYSTEM_VERSION

Spécifie la version du système de plateforme cible.

Ce champ est facultatif et, s’il est présent, sera passé dans la build en tant que CMAKE_SYSTEM_VERSION.

Consultez également la documentation CMake pour CMAKE_SYSTEM_VERSION

VCPKG_CHAINLOAD_TOOLCHAIN_FILE

Spécifie un autre fichier de chaîne d’outils CMake à utiliser.

Cette valeur (si définie) remplace toute autre logique de détection du compilateur. Par défaut, un fichier de chaîne d’outils est sélectionné à partir de scripts/toolchains/ la plateforme appropriée.

Consultez également la documentation CMake pour les fichiers de chaîne d’outils.

VCPKG_CXX_FLAGS

Définit des indicateurs de compilateur supplémentaires à utiliser lorsque vous n’utilisez VCPKG_CHAINLOAD_TOOLCHAIN_FILEpas .

Cette option comporte également des formulaires pour les indicateurs spécifiques à la configuration et les indicateurs de langage C :

  • VCPKG_CXX_FLAGS
  • VCPKG_CXX_FLAGS_DEBUG
  • VCPKG_CXX_FLAGS_RELEASE
  • VCPKG_C_FLAGS
  • VCPKG_C_FLAGS_DEBUG
  • VCPKG_C_FLAGS_RELEASE

VCPKG_LINKER_FLAGS

Définit des indicateurs d’éditeur de liens supplémentaires à utiliser lors de la création de bibliothèques dynamiques et d’exécutables en l’absence de VCPKG_CHAINLOAD_TOOLCHAIN_FILE.

Cette option comporte également des formulaires pour les indicateurs spécifiques à la configuration :

  • VCPKG_LINKER_FLAGS
  • VCPKG_LINKER_FLAGS_DEBUG
  • VCPKG_LINKER_FLAGS_RELEASE

VCPKG_MESON_CONFIGURE_OPTIONS

Définissez des options de configuration Meson supplémentaires qui sont ajoutées à la commande configure (dans vcpkg_configure_meson).

Ce champ est facultatif.

Également disponible en tant que variables et VCPKG_MESON_CONFIGURE_OPTIONS_RELEASE spécifiques VCPKG_MESON_CONFIGURE_OPTIONS_DEBUG au type de build.

VCPKG_MESON_NATIVE_FILE_RELEASE

Fournissez un fichier dépendant de la configuration supplémentaire en tant que fichier croisé/natif méson. Peut être utilisé pour remplacer les paramètres fournis par vcpkg, car il sera transmis après la transmission des fichiers croisés/natifs générés par vcpkg.

Particulièrement utile pour fournir vos propres entrées build_machine et host_machine.

VCPKG_MESON_NATIVE_FILE_DEBUG

Voir VCPKG_MESON_NATIVE_FILE_RELEASE.

VCPKG_MESON_CROSS_FILE_RELEASE

Voir VCPKG_MESON_NATIVE_FILE_RELEASE.

VCPKG_MESON_CROSS_FILE_DEBUG

Voir VCPKG_MESON_NATIVE_FILE_RELEASE.

VCPKG_CMAKE_CONFIGURE_OPTIONS

Définit des options de configuration CMake supplémentaires qui sont ajoutées à la commande de configuration (dans vcpkg_cmake_configure).

Ce champ est facultatif.

Également disponible en tant que variables et VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE spécifiques VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG au type de build.

VCPKG_CONFIGURE_MAKE_OPTIONS

Définissez d’autres options de configuration automake/autoconf ajoutées à la commande de configuration (dans vcpkg_configure_make).

Ce champ est facultatif.

Par exemple, pour ignorer certaines case activée libtool susceptibles d’échouer de manière incorrecte :

set(VCPKG_CONFIGURE_MAKE_OPTIONS "lt_cv_deplibs_check_method=pass_all")

Également disponible en tant que variables et VCPKG_CONFIGURE_MAKE_OPTIONS_RELEASE spécifiques VCPKG_CONFIGURE_MAKE_OPTIONS_DEBUG au type de build.

VCPKG_HASH_ADDITIONAL_FILES

Liste de fichiers à inclure dans le calcul des hachages ABI du package.

Ce champ est facultatif.

Déclarez tous les fichiers qui affectent le contenu d’un package et doivent être pris en compte dans le calcul du hachage ABI. Par exemple :

  • Fichiers inclus (via include(filepath)) dans des triplets et des chaînes d’outils personnalisés.
  • Fichiers définis dans VCPKG_MESON_(NATIVE|CROSS)_FILE_<CONFIG>

Seuls le contenu et l’ordre des fichiers sont pris en compte, les chemins d’accès des fichiers n’affectent pas le hachage ABI.

set(VCPKG_HASH_ADDITIONAL_FILES
  "${CMAKE_CURRENT_LIST_DIR}/file1.cmake"
  "${CMAKE_CURRENT_LIST_DIR}/meson-cross.txt"
)

VCPKG_DEP_INFO_OVERRIDE_VARS

Remarque

Cette section décrit une fonctionnalité expérimentale de vcpkg qui peut changer ou être supprimée à tout moment.

Remplace la liste calculée par défaut des termes « Supports » triplets.

Cette option (si définie) remplace l’ensemble par défaut des termes utilisés pour l’évaluation d’expression de plateforme.

Pour plus d’informations, consultez la documentation du "supports" champ fichier manifeste.

Remarque

Cette liste est extraite via la fonction d’assistance vcpkg_get_dep_info .

VCPKG_DISABLE_COMPILER_TRACKING

Avertissement

L’activation de cette option n’est pas recommandée, car elle peut entraîner une incompatibilité ABI dans les packages binaires restaurés. Pour en savoir plus, consultez la documentation de mise en cache binaire

Lorsque cette option est définie TRUEsur , ONou 1que le compilateur ne sera pas suivi dans le cadre de l’abis du package.

Cela entraîne la réutilisation des builds à partir de compilateurs plus anciens ou plus récents.

Variables spécifiques à Windows

VCPKG_ENV_PASSTHROUGH

Indique à vcpkg d’autoriser des variables d’environnement supplémentaires dans le processus de génération.

Sur Windows, vcpkg génère des packages dans un environnement de propre spécial isolé de l’invite de commandes actuelle pour garantir la fiabilité et la cohérence de la build. Cette option triplet peut être définie sur une liste de variables d’environnement supplémentaires qui seront ajoutées à l’environnement propre. Les valeurs de ces variables d’environnement sont hachées dans l’abi du package . Pour passer des variables d’environnement sans suivi abi, consultez VCPKG_ENV_PASSTHROUGH_UNTRACKED.

Consultez également la vcpkg env commande pour savoir comment inspecter l’environnement précis qui sera utilisé.

Remarque

Cette liste est extraite via la fonction d’assistance vcpkg_get_tags .

VCPKG_ENV_PASSTHROUGH_UNTRACKED

Indique à vcpkg d’autoriser des variables d’environnement supplémentaires dans le processus de génération sans suivi abi.

Consultez l’article VCPKG_ENV_PASSTHROUGH.

VCPKG_VISUAL_STUDIO_PATH

Spécifie l’installation de Visual Studio à utiliser.

Pour sélectionner la combinaison précise de l’instance de Visual Studio et de la version de l’ensemble d’outils, nous passons en revue l’algorithme suivant :

  1. Déterminez le paramètre correspondant VCPKG_VISUAL_STUDIO_PATH à partir du triplet, ou de la variable VCPKG_VISUAL_STUDIO_PATHd’environnement, ou considérez-le comme non défini
  2. Déterminer le paramètre du VCPKG_PLATFORM_TOOLSET triplet ou le considérer comme non défini
  3. Rassemblez une liste de toutes les paires d’instances Visual Studio avec tous les ensembles d’outils disponibles dans ces instances
    • Ceci est ordonné en premier par type d’instance (Stable, Prerelease, Legacy), puis par version de l’ensemble d’outils (v143, v142, v141, v140)
  4. Filtrez la liste en fonction des paramètres pour VCPKG_VISUAL_STUDIO_PATH et VCPKG_PLATFORM_TOOLSET.
  5. Sélectionner la meilleure option restante

Le chemin d’accès doit être absolu, mis en forme avec des barres obliques inverses et n’avoir aucune barre oblique de fin :

set(VCPKG_VISUAL_STUDIO_PATH "C:\\Program Files (x86)\\Microsoft Visual Studio\\Preview\\Community")

VCPKG_PLATFORM_TOOLSET

Spécifie la chaîne d’outils du compilateur C/C++ basée sur VS à utiliser.

Consultez VCPKG_VISUAL_STUDIO_PATH l’algorithme de sélection complet.

Paramètres valides :

  • L’ensemble d’outils de plateforme Visual Studio 2022 est v143.
  • L’ensemble d’outils de plateforme Visual Studio 2019 est v142.
  • L’ensemble d’outils de plateforme Visual Studio 2017 est v141.
  • L’ensemble d’outils de plateforme Visual Studio 2015 est v140.

VCPKG_PLATFORM_TOOLSET_VERSION

Spécifie la chaîne d’outils du compilateur MSVC C/C++ détaillée à utiliser.

Par défaut, [VCPKG_PLATFORM_TOOLSET] choisit toujours la dernière version mineure installée de l’ensemble d’outils sélectionné. Si vous avez besoin de plus de granularité, vous pouvez utiliser cette variable. La spécification peut être un numéro de version partiel ou complet. Les valeurs valides sont, par exemple, 14.25 ou 14.27.29110.

VCPKG_LOAD_VCVARS_ENV

Détermine si vcpkg recherche et utilise une instance de Visual Studio dans le cadre de l’environnement triplet.

Par défaut, il s’agit ON des triplets Windows qui ne spécifient VCPKG_CHAINLOAD_TOOLCHAIN_FILEpas . Pour les triplets et triplets non Windows spécifiant VCPKG_CHAINLOAD_TOOLCHAIN_FILE, cette valeur par défaut OFFest .

Linux Variables

VCPKG_FIXUP_ELF_RPATH

Lorsque cette option est définie sur (true|1|on), vcpkg ajoute $ORIGIN et $ORIGIN/<path_relative_to_lib> à l’en-tête RUNPATH des exécutables et des bibliothèques partagées. Cela permet aux packages d’être déplacés sur Linux.

MacOS Variables

VCPKG_INSTALL_NAME_DIR

Définit le nom d’installation utilisé lors de la création de bibliothèques dynamiques macOS. La valeur par défaut est @rpath. Pour plus d’informations, consultez la documentation CMake pour CMAKE_INSTALL_NAME_DIR .

VCPKG_OSX_DEPLOYMENT_TARGET

Définit la version minimale de macOS pour les fichiers binaires compilés. Cela modifie également les versions du Kit de développement logiciel (SDK) de plateforme macOS que CMake recherche. Pour plus d’informations, consultez la documentation CMake pour CMAKE_OSX_DEPLOYMENT_TARGET .

VCPKG_OSX_SYSROOT

Définissez le nom ou le chemin du Kit de développement logiciel (SDK) de la plateforme macOS qui sera utilisé par CMake. Pour plus d’informations, consultez la documentation CMake pour CMAKE_OSX_SYSROOT .

VCPKG_OSX_ARCHITECTURES

Définissez l’architecture cible macOS/iOS qui sera utilisée par CMake. Pour plus d’informations, consultez la documentation CMake pour CMAKE_OSX_ARCHITECTURES .

Personnalisation par port

La macro PORT CMake est définie lors de l’interprétation du fichier triplet et peut être utilisée pour modifier les paramètres (par exemple VCPKG_LIBRARY_LINKAGE) par port.

Exemple :

set(VCPKG_LIBRARY_LINKAGE static)
if(${PORT} MATCHES "qt5-")
    set(VCPKG_LIBRARY_LINKAGE dynamic)
endif()

Cela génère toutes les qt5-* bibliothèques en tant que DLL, mais toutes les autres bibliothèques en tant que bibliothèque statique.

Pour obtenir un exemple dans un projet réel, consultez https://github.com/Intelight/vcpkg/blob/master/triplets/x86-windows-mixed.cmake.