Zum Inhalt springen

CMake

aus Wikipedia, der freien Enzyklopädie
CMake

colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | Logo von CMake
Basisdaten

Maintainer Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
Entwickler Bill Hoffman, Ken Martin, Brad King,
Dave Cole, Alexander Neundorf, Clinton Stimpson<ref>Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Ehemals im Vorlage:Referrer (nicht mehr online verfügbar); (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Vorlage:Toter Link/Core (Seite nicht mehr abrufbar. Suche im Internet Archive)Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.</ref>
Erscheinungsjahr Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
Aktuelle Version Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
(Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.)
Aktuelle Vorabversion Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.
(Skriptfehler: Ein solches Modul „Wikidata“ ist nicht vorhanden.)
Betriebssystem Unix-Derivate (Linux, macOS), Windows
Programmier­sprache C, C++<ref>Vorlage:Cite book/Name: [Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden. Skriptfehler: Ein solches Modul „Vorlage:Internetquelle“ ist nicht vorhanden.] Skriptfehler: Ein solches Modul „DateTime“ ist nicht vorhanden., archiviert vom Vorlage:Referrer (nicht mehr online verfügbar) am Vorlage:Cite book/URL; (Skriptfehler: Ein solches Modul „Multilingual“ ist nicht vorhanden.).Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Skriptfehler: Ein solches Modul „TemplatePar“ ist nicht vorhanden.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>
Kategorie Programmierwerkzeug
Lizenz BSD-artige Lizenz
deutschsprachig ja
cmake.org

CMake (Skriptfehler: Ein solches Modul „Vorlage:lang“ ist nicht vorhanden.) ist ein plattformübergreifendes Programmierwerkzeug für die Entwicklung und Erstellung von Software.

CMake fungiert als plattformübergreifender Metabuild-Generator für eigentliche Buildgeneratoren – wie beispielsweise Make oder Nmake. Dies bedeutet, dass in CMake-Scripts plattformübergreifende Build-Anweisungen geschrieben werden können, die dann wiederum von CMake verwendet werden um die eigentlichen – plattformspezifischen – Buildscripte zu generieren.

Geschichte[Bearbeiten]

CMake wurde als Teil des Visible Human Project für das Insight Segmentation and Registration Toolkit erstellt.

Bill Hoffman von Kitware nutzte neue und eigene Ideen vom pcmaker (einem vorherigen Buildsystem) mit Grundfunktionalitäten des GNU Build Systems, um Mitte 2000 die erste Version zu erstellen, die dann bis Anfang 2001 weiterentwickelt wurde. Danach entstanden viele Verbesserungen durch andere Entwickler, die CMake für ihre eigenen Projekte verwenden wollten.

Funktionen[Bearbeiten]

Mit CMake werden aus Skriptdateien (CMakeLists.txt) Makefiles und Projekte für viele integrierte Entwicklungsumgebungen und Compiler erzeugt.

Die Verarbeitungskette ist dabei etwa folgende:

CMakeLists.txt <math>\to</math> Cmake <math>\to</math> Makefile <math>\to</math> Make/Nmake/... <math>\to</math> Compiler, Linker <math>\to</math> Programm/Programmbibliothek

Das Ausführen des Cmake-Programms kann dabei alle notwendigen Schritte der Verarbeitungskette anstoßen.

Unterstützt werden:

sowie die Nachfolger von Mingw und MSYS, Mingw-w64 und MSYS2.

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. Ab der Version 2.6 wird auch Cross-Kompilation und Cross-Plattform-Build unterstützt. Integriert sind Tools für Tests und Release: CDash, CTest und CPack. (DART gilt seit Version 3.27 veraltet und sollte in neueren Projekten mittels CTest ersetzt werden.)<ref>Dart — CMake 4.3.3 Documentation</ref>

Mit CPack ist es möglich, Installationspakete in folgenden Formaten zu erstellen:

Alternativen[Bearbeiten]

Einzelnachweise[Bearbeiten]

<references />