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 [2025/01/28 14:05] – [CMake] : ajout de "Passer des paramètres à l'appel de vcpkg" rootprog:vcpkg [2025/09/24 10:29] (Version actuelle) – Ajout de "Appliquer des limitations" root
Ligne 315: Ligne 315:
  
 ====portfile.cmake==== ====portfile.cmake====
 +
 +===Appliquer des limitations===
 +
 +Il est possible d'imposer la compilation en static ou en shared only.
 +
 +<code cmake>
 +if(VCPKG_TARGET_IS_WINDOWS)
 +    vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
 +    vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
 +    vcpkg_check_linkage(ONLY_STATIC_CRT)
 +    vcpkg_check_linkage(ONLY_DYNAMIC_CRT)
 +endif()
 +</code>
 +
 +En interne, cela applique un ''set(VCPKG_LIBRARY_LINKAGE static PARENT_SCOPE)''.
  
 ===Récupérer le code source=== ===Récupérer le code source===
Ligne 549: Ligne 564:
   * ''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é.   * ''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 compilation. 
 +<WRAP center round important 60%> 
 +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 ''wasm32-emscripten'' (webassembly) qui utilise le fichier ''%%${EMSCRIPTEN_ROOT}/cmake/Modules/Platform/Emscripten.cmake%%''. Dans ce cas, on peut utiliser : ''%%set(VCPKG_CMAKE_CONFIGURE_OPTIONS_DEBUG -DCMAKE_CXX_FLAGS=\"-O1 -g\" -DCMAKE_C_FLAGS=\"-O1 -g\" --trace-expand)%%''
 +</WRAP> 
 + 
 +  * 
 +    * ''VCPKG_C_FLAGS'' / ''VCPKG_CXX_FLAGS'' (doivent être défini tous les deux), ''VCPKG_C_FLAGS_DEBUG'' / ''VCPKG_CXX_FLAGS_DEBUG'', ''VCPKG_C_FLAGS_RELEASE'' / ''VCPKG_CXX_FLAGS_RELEASE'', 
 +    * ''VCPKG_LINKER_FLAGS'', ''VCPKG_LINKER_FLAGS_DEBUG'', ''VCPKG_LINKER_FLAGS_RELEASE''.
  
   * 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.   * 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.
prog/vcpkg.1738069524.txt.gz · Dernière modification : de root