CMake 3.0 veröffentlicht

Das plattformunabhängige, quelloffene Build-System steht in der neuen Version unter anderem mit ergänzenden Diagnosefunktionen und breiterer Unterstützung für Generator-Ausdrücke zur Verfügung.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Lesezeit: 2 Min.
Von
  • Julia Schmidt

Die Entwickler hinter dem Build-System CMake haben die Version 3.0.0 ihres Projekts veröffentlicht. Unter anderem haben sie dafür die Dokumentation überarbeitet, die nun in der Auszeichnungssprache reStructuredText vorliegt und sich via Sphinx in Man- und HTML-Seiten umwandeln lässt. Aber auch in Bereichen wie Syntax, Generator-Ausdrücke und Module gab es einige Neuerungen.

In Sachen Syntax stehen in der CMake Language nun an die aus Lua bekannten Long Brackets angelehnte Klammerargumente und -kommentare zur Verfügung. $<PLATFORM_ID>, $<PLATFORM_ID:...>, $<UPPER_CASE:...>, $<LOWER_CASE:...> und $<MAKE_C_IDENTIFIER:...> ergänzen die bisherigen Generator-Ausdrücke, wobei es für $<CONFIG> eine zusätzliche Variante gibt, die keine Argumente benötigt. Die Entwickler haben außerdem in verschiedenen Modulen die Unterstützung für derartige Ausdrücke ergänzt, sodass sie jetzt etwa in Testeigenschaften erkannt werden. Extra-Generatoren zum Einsatz mit Makefile oder Ninja-Generatoren sind zudem für den Editor Kate und die IDE CodeLite enthalten.

Der Dialog von cmake-gui(l) ist nach dem Update derart angepasst, dass er zwischen Sessions nicht länger die Fenstereinstellungen vergisst, Ähnliches gilt für den Typ eines Cache-Eintrags zur Ergänzung im "Add Entry"-Dialog. Zudem sind verschiedene Befehle mit strengeren Regeln versehen worden, get_target_property() etwa lehnt Aufrufe an nicht existierende Targets ab. Die Namen von Build Targets dürfen in Version 3.0.0 nicht mehr mit in CMake festgelegten Zielen in Widerspruch stehen, sollten die Targets sich selbst als Abhängigkeit angeben, wird dies nun mit einer entsprechenden Ausgabe zur Diagnose quittiert.

Eine vollständige Liste der Änderungen, zu denen auch neue Eigenschaften verschiedener Module zählen, ist den Release Notes zu entnehmen. CMake ist unter einer BSD-artigen Lizenz geschützt. (jul)