Cmake

Fiche logiciel validé
  • Création ou MAJ importante : 28/08/13
  • Correction mineure : 21/05/19
Mots-clés

Cmake : compilation, tests et packaging de logiciel

Description
Fonctionnalités générales

CMake est un ensemble d'outils pour la compilation, les tests et le packaging de logiciel. C'est un outil de production multiplate-forme qui permet de générer des makefiles standards et des fichiers projets (Eclipse, Visual Studio, ...). Il gère de nombreux langages (comme C, C++, fortran, ...) et facilite ainsi la production de codes écrits dans différents langages de programmation et le portage multiplate-forme. De part sa modularité, CMake permet de gérer facilement les dépendances de compilation entre votre logiciel/bibliothèque et des bibliothèques externes et/ou des logiciels externes.

De plus, la possibilité de spécifier explicitement le compilateur à utiliser permet de compiler sans difficulté des codes destinés au calcul parallèle (MPI).

Contexte d'utilisation dans mon laboratoire/service

CMake est utilisé dans différents projets chez Inria Lille et notamment dans l'équipe Dolphin dans le cadre des projets ParadisEO et VRP-solve.

De nombreux logiciels connus utilisent aussi CMake comme KDE, Chicken, etc.

Limitations, difficultés, fonctionnalités importantes non couvertes

Vous devrez forcément avoir le logiciel CMake installé sur votre poste pour relancer le système de build (ce qui ajoute une dépendance supplémentaire pour les utilisateurs dans le cas d'une distribution du code source).

Environnement du logiciel
Plates-formes

Unix-like, Windows et MacOSX.

Logiciels connexes
  • CTest.
  • CPack.
  • CDash.
Autres logiciels aux fonctionnalités équivalentes
Environnement de développement
Type de structure associée au développement

CMake est développé par la compagnie américaine Kitware et plus particulièrement par Andreas Schneider et Bill Hoffman.

Eléments de pérennité
  • CMake possède une grande communauté d'utilisateurs dans le "monde du logiciel libre".
  • CMake est utilisé dans des projets de grandes envergures comme KDE.
Références d'utilisateurs institutionnels
  • Laboratoire de Mathématiques d'Orsay / Équipe projet INRIA Saclay SELECT.
  • Équipe projet INRIA Lille Dolphin.
Environnement utilisateur
Liste de diffusion ou de discussion, support et forums
Documentation utilisateur
Divers (astuces, actualités, sécurité)

Exemple d'utilisation (Unix-like et MacOSX) :

ccmake path_to_source 

Les directives qui sont utiles à CMake pour créer le fichier Makefile se trouvent dans le fichier CMakeLists.txt du répertoire path_to_source. Une fois que CMake a fini la génération des Makefile, vous pouvez faire

make help

pour voir les différentes cibles du fichier Makefile créé.