Veröffentlichung des CMake 3.23 Build-Systems

Vorgestellt wird die Veröffentlichung des plattformübergreifenden offenen Build-Skriptgenerators CMake 3.23, der als Alternative zu Autotools fungiert und in Projekten wie KDE, LLVM/Clang, MySQL, MariaDB, ReactOS und Blender zum Einsatz kommt. Der CMake-Code ist in C++ geschrieben und wird unter der BSD-Lizenz vertrieben.

CMake zeichnet sich durch die Bereitstellung einer einfachen Skriptsprache, Tools zur Erweiterung der Funktionalität durch Module, Caching-Unterstützung, das Vorhandensein von Tools für die Kreuzkompilierung, Unterstützung für die Generierung von Build-Dateien für eine Vielzahl von Build-Systemen und Compilern sowie das Vorhandensein von ctest und cpack aus Dienstprogramme zum Definieren von Testskripten und Erstellen von Paketen sowie das cmake-Dienstprogramm -gui zur interaktiven Konfiguration von Build-Parametern.

Wichtigste Verbesserungen:

  • Den „cmake-presets“-Dateien wurde ein optionales „include“-Feld hinzugefügt, mit dem Sie den Inhalt anderer vorhandener Dateien ersetzen können.
  • Build-Skriptgeneratoren für Visual Studio 2019 und neuere Versionen unterstützen jetzt .NET SDK-CSPROJ-Dateien für C#-Projekte.
  • Unterstützung für den IBM Open XL C/C++-Compiler basierend auf LLVM hinzugefügt. Der Compiler ist unter der Kennung IBMClang verfügbar.
  • Unterstützung für den MCST LCC-Compiler (entwickelt für Elbrus- und SPARC-Prozessoren (MCST-R)) hinzugefügt. Der Compiler ist unter der LCC-Kennung verfügbar.
  • Dem Befehl „install(TARGETS)“ wurde ein neues Argument „FILE_SET“ hinzugefügt, mit dem eine Reihe von Header-Dateien installiert werden können, die der ausgewählten Zielplattform zugeordnet sind.
  • Dem Befehl „target_sources()“ wurde der Modus „FILE_SET“ hinzugefügt, mit dem Sie einen Satz bestimmter Dateitypen mit Code hinzufügen können, beispielsweise Header-Dateien.
  • Unterstützung für „all“- und „all-major“-Werte für CUDA Toolkit 7.0+ zur Variablen „CMAKE_CUDA_ARCHITECTURES“ und der Zielplattformeigenschaft „CUDA_ARCHITECTURES“ hinzugefügt.

Source: opennet.ru

Kommentar hinzufügen