Outils pour utilisateurs

Outils du site


prog:cmake

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:cmake [2025/03/25 11:55] – [Compilation] : précision sur bootstrap rootprog:cmake [2025/12/11 10:36] (Version actuelle) – [Compilation] : précision sur les versions à installer de CMake root
Ligne 7: Ligne 7:
 ''sudo apt-get install libssl-dev''. ''sudo apt-get install libssl-dev''.
  
-Compilation+  * CMake préinstallé 
 + 
 +La compilation nécessite d'avoir un CMake d'installé.
  
 <code bash> <code bash>
Ligne 16: Ligne 18:
 sudo cmake --install build sudo cmake --install build
 </code> </code>
 +
 +Suite des versions à installer : 3.6 > 3.13 > 3.31 > 4...
 +
 +  * Bootstrap
  
 La méthode ''bootstrap'' va télécharger un cmake précompilé, binaire qui peut ne pas être utilisable sur les vieilles distributions. La méthode ''bootstrap'' va télécharger un cmake précompilé, binaire qui peut ne pas être utilisable sur les vieilles distributions.
Ligne 47: Ligne 53:
  
 Il faut effacer le fichier ''CMakeCache.txt'' et le dossier ''CMakeFiles'' dans le dossier de compilation. Cela permet de conserver les binaires / fichiers objets déjà compilés. Il faut effacer le fichier ''CMakeCache.txt'' et le dossier ''CMakeFiles'' dans le dossier de compilation. Cela permet de conserver les binaires / fichiers objets déjà compilés.
 +
 +  * Options de debug de CMake
 +
 +Ajouter ''%%--warn-unitialized%%'' à la configuration pour vérifier si des variables CMake sont utilisées sans être initialisées.
  
   * Différences entre les générateurs   * Différences entre les générateurs
Ligne 56: Ligne 66:
 ''CMAKE_BUILD_TYPE'' est indispensable lors de la génération des CMakeLists.txt pour les générateurs mono-build. ''CMAKE_BUILD_TYPE'' est indispensable lors de la génération des CMakeLists.txt pour les générateurs mono-build.
  
-''%%--%%config'' est indispensable lors de la compilation pour les générateurs multi-build.+''%%--%%config'' est indispensable lors de la compilation pour les générateurs multi-build et l'utilisation de ''CMAKE_BUILD_TYPE'' est proscrit.
  
 ====Cross compilation pour Android==== ====Cross compilation pour Android====
Ligne 85: Ligne 95:
  
 <code cmake> <code cmake>
-add_library(Librairie sources.cpp sources.hpp CMakeLists.txt)+add_library(Librairie)
 add_library(NameSpace::Librairie ALIAS Librairie) add_library(NameSpace::Librairie ALIAS Librairie)
 set(Librairie_SRC ${CMAKE_CURRENT_SOURCE_DIR}/sources.cpp set(Librairie_SRC ${CMAKE_CURRENT_SOURCE_DIR}/sources.cpp
Ligne 530: Ligne 540:
    0x000000000000000f (RUNPATH)              Library rpath: [path1:path2:path3]    0x000000000000000f (RUNPATH)              Library rpath: [path1:path2:path3]
  
-Si les valeurs sont correctement remplies sous l'attribut ''RUNPATH'', il faut forcer l'utilisation de ''RPATH''. Ajouter au linker l'option ''%%-Wl,--disable-new-dtags%%''.+Si les valeurs sont correctement remplies sous l'attribut ''RUNPATH'', il faut forcer l'utilisation de ''RPATH''. Ajouter au linker l'option ''%%-Wl,--disable-new-dtags%%''. Sous Linux, cette option est globalement nécessaire si on compile avec une ''CMAKE_PREFIX_PATH'' qui contient plusieurs paths (comme l'indique la ligne précédente).
  
 <code cmake> <code cmake>
prog/cmake.1742900146.txt.gz · Dernière modification : de root