Outils pour utilisateurs

Outils du site


prog:vcpkg

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
prog:vcpkg [2024/08/28 14:09] – [Récupérer le code source] : fix typo rootprog:vcpkg [2025/01/28 14:05] (Version actuelle) – [CMake] : ajout de "Passer des paramètres à l'appel de vcpkg" root
Ligne 117: Ligne 117:
 {{ :prog:vcpkg:vcpkg_creates_multiple_triplets_for_packages_with_no_reason._issue_33040_microsoft_vcpkg_github_24_11_2023_10_20_02_.html |Archive du 08/08/2023 le 24/11/2023}} {{ :prog:vcpkg:vcpkg_creates_multiple_triplets_for_packages_with_no_reason._issue_33040_microsoft_vcpkg_github_24_11_2023_10_20_02_.html |Archive du 08/08/2023 le 24/11/2023}}
  
 +  * Passer des paramètres à l'appel de vcpkg
 +
 +Si on veut faire passer des options à l'appel de vcpkg, il faut utiliser ''VCPKG_INSTALL_OPTIONS''. Par exemple ''%%-DVCPKG_INSTALL_OPTIONS=--debug%%''.
 ====Visual Studio==== ====Visual Studio====
  
Ligne 407: Ligne 410:
   * Connaître l'architecture source / destination   * Connaître l'architecture source / destination
  
-L'architecture source (hôte qui compile) : `CMAKE_HOST_<SYSTEM>`.+L'architecture source (hôte qui compile) : ''CMAKE_HOST_<SYSTEM>''.
  
-L'architecture de destination (target qui exécutera) : `VCPKG_TARGET_IS_<SYSTEM>``WIN32et `LINUXsont dépréciés car il y a confusion facile entre l'hôte et la target.+L'architecture de destination (target qui exécutera) : ''VCPKG_TARGET_IS_<SYSTEM>''''WIN32'' et ''LINUX'' sont dépréciés car il y a confusion facile entre l'hôte et la target.
  
 ====Publication des modifications==== ====Publication des modifications====
Ligne 529: Ligne 532:
  
 Voir la documentation [[https://learn.microsoft.com/fr-fr/vcpkg/users/triplets|triplet]] de vcpkg. Voir la documentation [[https://learn.microsoft.com/fr-fr/vcpkg/users/triplets|triplet]] de vcpkg.
 +
 +<WRAP center round important 60%>
 +Passer les variables via CMake (''-DVCPKG_CXX_FLAGS=/fsanitize=address'' par exemple) ne fonctionne pas. Il faut bien le mettre dans le fichier triplet.
 +</WRAP>
  
 ====Variables les plus courantes==== ====Variables les plus courantes====
Ligne 535: Ligne 542:
  
   * ''VCPKG_TARGET_ARCHITECTURE'' : architecture des librairies à générer (''x64'', ...),   * ''VCPKG_TARGET_ARCHITECTURE'' : architecture des librairies à générer (''x64'', ...),
 +
   * ''VCPKG_LIBRARY_LINKAGE'' : compilation en ''dynamic'' ou ''static'' des librairies générer,   * ''VCPKG_LIBRARY_LINKAGE'' : compilation en ''dynamic'' ou ''static'' des librairies générer,
 +
   * ''VCPKG_CRT_LINKAGE'' : compilation en ''dynamic'' ou ''static'' avec la librairie standard de Visual Studio. Par expérience, j'ai souvent moins de problème à mettre ''dynamic'' quand configurer un projet avec les binaires de vcpkg.   * ''VCPKG_CRT_LINKAGE'' : compilation en ''dynamic'' ou ''static'' avec la librairie standard de Visual Studio. Par expérience, j'ai souvent moins de problème à mettre ''dynamic'' quand configurer un projet avec les binaires de vcpkg.
-  * ''VCPKG_BUILD_TYPE'' : laisser vide pour compiler en ''Debug'' et ''Release''. Mettre ''release'' (sans la majuscule) pour compiler uniquement en Release. Uniquement ''debug'' n'est pas supporté. 
-  * Flags de compilation : ''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'', ''VCPKG_LINKER_FLAGS_DEBUG'', ''VCPKG_LINKER_FLAGS_RELEASE''. 
  
 +  * ''VCPKG_BUILD_TYPE'' : laisser ne pas définir pour compiler en ''Debug'' et ''Release''. Mettre ''release'' (sans la majuscule) pour compiler uniquement en Release. Uniquement ''debug'' n'est pas supporté.
 +
 +  * Flags de compilation : ''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'', ''VCPKG_LINKER_FLAGS_DEBUG'', ''VCPKG_LINKER_FLAGS_RELEASE''. Attention, ces variables seront respectées si ''VCPKG_CHAINLOAD_TOOLCHAIN_FILE'' pointe vers ceux à l'intérieur de ''vcpkg''. Ce qui n'est pas le cas pour le triplet ''wasm-emscripten''. Dans ce cas, on peut utiliser : ''%%set(VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG -DCMAKE_CXX_FLAGS=\"-O1 -g\" -DCMAKE_C_FLAGS=\"-O1 -g\" --trace-expand)%%''
 +
 +  * Flags de configuration de CMake : ''VCPKG_CMAKE_CONFIGURE_OPTIONS'', ''VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG'' et ''VCPKG_CMAKE_CONFIGURE_OPTIONS_RELEASE''. C'est via cette variable que l'on peut passer par exemple ''%%--trace-expand%%'' à la configuration des ports.
 ===Windows uniquement=== ===Windows uniquement===
  
prog/vcpkg.1724846990.txt.gz · Dernière modification : 2024/08/28 14:09 de root