CMake
CMake
| |
---|---|
![]() | |
Basisdaten
| |
Entwickler | Bill Hoffman, Ken Martin, Brad King, Dave Cole, Alexander Neundorf, Clinton Stimpson[1] |
Erscheinungsjahr | 2000[2] |
Aktuelle Version | 2.8.1 (17. März 2010) |
Aktuelle Vorabversion | 3.21.0-rc1[3][4] (23. Juni 2021) |
Betriebssystem | alle Unix-Derivate (Linux, Mac OS X), Windows |
Programmiersprache | C++[5] |
Kategorie | Programmierwerkzeug |
Lizenz | BSD-artige Lizenz |
deutschsprachig | nein |
www.cmake.org |
CMake (cross-platform make) ist ein plattformunabhängiges Programmierwerkzeug für die Entwicklung und Erstellung von Software.
Geschichte
CMake wurde als Teil des Visible Human Project für das Insight Segmentation and Registration Toolkit erstellt.
Bill Hoffman von Kitware nutzte neue eigene und Ideen vom pcmaker (einem vorigen Buildsystem) mit Grundfunktionalitäten vom GNU Build System um Mitte 2000, die erste Version zu erstellen, die dann bis Anfang 2001 beschleunigt weiterentwickelt wurde. Danach entstanden viele Verbesserungen durch andere Entwickler, die CMake für ihre eigenen Projekte verwenden wollten.
Funktionen
Mit CMake werden aus Skriptdateien (CMakeLists.txt) makefiles und Projekte für viele integrierte Entwicklungsumgebungen und Compiler erzeugt. Unterstützt werden Borland Makefiles, CodeBlocks MinGW/Unix Makefiles, Eclipse CDT4 MinGW/Nmake/Unix makefiles, MinGW/MSYS/Nmake/Unix makefiles, Visual Studio 6-9 32/64-Bit, Watcom WMake Dateien sowie Xcode. CMake überprüft dabei automatisch die Abhängigkeiten für C, C++, Fortran und Java und unterstützt parallele Builds.
Es werden viele Bibliotheken, wie z.B. SWIG, Boost und Qt durch die CMake-Skriptsprache unterstützt. Seit der Version 2.6 wird auch Cross Kompilation und cross-platform build unterstützt. Integriert sind Tools für Tests und release: DART, CDart, CTest und CPack.
Mit CPack ist es möglich Installationspakete in folgenden Formaten zu erstellen:
- Nullsoft Scriptable Install System (NSIS)
- Self extracting Tar GZip compression (STGZ)
- Tar BZip2 compression (TBZ2)
- Tar GZip compression (TGZ)
- Tar Compress compression (TZ)
- ZIP file format (ZIP)
Bekannte Anwendungsbeispiele
Zu den Anwendern von CMake gehören das KDE-Projekt (ab Version 4, vorher Autotools)[6], The Visualization Toolkit, Insight Segmentation and Registration Toolkit, Scribus (seit Version 1.34 vorher Autotools), Second Life (seit Version 1.21 vorher SCons)[7], OpenCV, OpenSceneGraph, Kicad, Quantum GIS, Avidemux, Supertux, MySQL (nur Windows), Stellarium und LMMS.
Alternativen
- GNU Build System (Autotools)
- SCons
- qmake
- The Makefile, Project, and Workspace Creator (MPC) [8]
Einzelnachweise
- ↑ www.cmake.org CMake Participants
- ↑ About CMake. (englisch, abgerufen am 10. Oktober 2019).
- ↑ CMake 3.21.0-rc1 is ready for testing. 23. Juni 2021.
- ↑ gitlab.kitware.com.
- ↑ Ohloh Analysis Summary - CMake. Ohloh, abgerufen am 25. Dezember 2009.
- ↑ Why the KDE project switched to CMake -- and how (continued)
- ↑ BoostCon2009 CMake CTest CPack Open Source Tools to build, test, and install software
- ↑ Website The Makefile, Project, and Workspace Creator