CMake est un système de construction logicielle multiplateforme. Il permet de vérifier les prérequis nécessaires à la construction, de déterminer les dépendances entre les différents composants d'un projet, afin de planifier une construction ordonnée et adaptée à la plateforme. La construction du projet est ensuite déléguée à un logiciel spécialisé dans l’ordonnancement de taches et spécifique à la plateforme, Make, Ninja ou Microsoft Visual Studio.
CMake reprend le concept de configuration initié par autoconf, mais s'en distingue par son caractère multiplateforme, le rendant particulièrement adapté à la construction des logiciels destinés à fonctionner sous Linux et Windows.
Le nom « CMake » est l'abréviation de « cross platform make ». Malgré l'utilisation de « make » dans son nom, CMake est une application séparée et de plus haut niveau que l'outil make.
Histoire CMake a été créé pour répondre au besoin d'un système de compilation multiplateforme de la bibliothèque Insight ToolKit (ITK), développée dans le cadre du projet Visible Human Project de l'United States National Library of Medicine. Il est influencé par pcmaker, système de construction antérieur créé par Ken Martin pour la bibliothèque Visualization Toolkit (VTK), bibliothèque open-source de visualisation 3D. Bill Hoffman, travaillant alors pour Kitware, a ainsi créé CMake en reprenant des concepts de pcmaker, tout en intégrant de nouvelles idées ainsi que le principe de configuration de la construction initié par autoconf. La première version de CMake a été réalisée en 2000.
Le développement s'est ensuite poursuivi, notamment par les apports d'autres développeurs qui ont adapté CMake à leurs propres projets.
La dernière version majeure est la version 4.0, publiée en .
Exemples de logiciels utilisant CMake Armadillo Avidemux Awesome WM Bullet
FlightGear Geant4 KDE KiCad LLVM / Clang LMMS MuseScore MySQL Netflix OGRE OpenCV Polycode QGIS ReactOS Scribus Second Life SFML Stellarium Supertux Swift VTK Wormux
Notes et références
Voir aussi Meson (logiciel) Autoconf Automake premake SCons
Liens externes
Pourquoi le projet KDE est passé à CMake — et comment
Catégorie:Moteur de production Catégorie:Logiciel libre sous licence BSD Catégorie:Logiciel pour Windows