Die Veröffentlichung der plattformübergreifenden Open-Source-Bauskript-Generator CMake 3.28 wurde bekanntgegeben, der als Alternative zu Autotools dient und in Projekten wie KDE, LLVM/Clang, MySQL, MariaDB, ReactOS und Blender verwendet wird. CMake zeichnet sich durch eine einfache Skriptsprache, die Möglichkeit zur Funktionserweiterung über Module, Cache-Unterstützung, Werkzeuge für die Kreuzkompilierung, die Erzeugung von Build-Dateien für eine Vielzahl von Build-Systemen und Compilern sowie ctest- und cpack-Utilities zur Definition von Test- und Paketbau-Skripten aus, ebenso wie durch das cmake-gui-Tool zur interaktiven Konfiguration der Build-Parameter. Der CMake-Code ist in C++ geschrieben und wird unter der BSD-Lizenz veröffentlicht.
Wesentliche Verbesserungen:
- In die Build-Skript-Generatoren für Visual Studio und Ninja wurde die Unterstützung für Module integriert, die in der C++ 20-Spezifikation definiert sind. Die Modulsupport ist verfügbar, sofern LLVM/Clang 16, GCC 14-dev oder MSVC 14.34 vorhanden sind.
- Die Möglichkeit, NVIDIA-GPU-Code in HIP zu kompilieren, wurde implementiert, unter Verwendung des NVCC-Compilers (NVIDIA CUDA Compiler). Es wurde die Variable CMAKE_HIP_PLATFORM hinzugefügt, um die GPU-Plattform für HIP auszuwählen ("amd" oder "nvidia").
- Auf Apple-Plattformen wird die Unterstützung für Kataloge „.xcframework“ bereitgestellt.
- Der Befehl „exec_program()“, der in Version 3.0 als veraltet erklärt wurde, wurde entfernt. Um Prozesse zu starten, sollte der Befehl „execute_process()“ verwendet werden.
- Dateien, die mit dem Modus „FILE_SET“ generiert wurden, werden jetzt standardmäßig als privat behandelt, was die Erstellung effizienterer Build-Pläne in Ninja-Generatoren ermöglicht.
- In den Befehlen find_library(), find_path() und find_file() wurde unter Windows die Suche in Installationsverzeichnissen, die aus der Umgebungsvariable PATH abgeleitet wurden, deaktiviert (um das Verhalten unter Windows mit anderen Plattformen zu vereinheitlichen).
Quelle: opennet.ru
