Die Veröffentlichung des plattformübergreifenden Open-Source-Build-System-Generators CMake 3.28, der als Alternative zu Autotools dient und in Projekten wie KDE, LLVM/Clang, MySQL, MariaDB, ReactOS und Blender verwendet wird, wurde bekannt gegeben. CMake zeichnet sich durch eine einfache Skriptsprache, Erweiterungsmöglichkeiten über Module, Unterstützung der Caching-Mechanismen, Werkzeuge für die Kreuzkompilierung, die Fähigkeit zur Generierung von Build-Dateien für eine Vielzahl von Build-Systemen und Compilern, sowie durch die ctest- und cpack-Tools zur Definition von Test- und Paketbuild-Skripten und die cmake-gui zur interaktiven Anpassung der Build-Parameter aus. Der CMake-Code ist in C++ geschrieben und wird unter der BSD-Lizenz verbreitet.
Hauptverbesserungen:
- Die Build-Skript-Generatoren für Visual Studio und Ninja unterstützen jetzt Module, die in der Spezifikation C++ 20 definiert sind. Die Modulsupport ist verfügbar mit LLVM/Clang 16, GCC 14-dev oder MSVC 14.34.
- Die Möglichkeit, HIP-Code für NVIDIA-GPUs mit dem NVCC-Compiler (NVIDIA CUDA Compiler) zu kompilieren, wurde implementiert. Die Variable CMAKE_HIP_PLATFORM wurde hinzugefügt, um die GPU-Plattform für HIP auszuwählen („amd“ oder „nvidia“).
- Auf Apple-Plattformen wird die Unterstützung für „.xcframework“-Verzeichnisse bereitgestellt.
- Der Befehl „exec_program()“, der in Version 3.0 als veraltet erklärt wurde, wurde entfernt. Zum Starten von Prozessen sollte der Befehl „execute_process()“ verwendet werden.
- Dateien, die im „FILE_SET“-Modus generiert wurden, werden jetzt standardmäßig als privat behandelt, was eine effizientere Build-Grafik in Ninja-Generatoren ermöglicht.
- In den Befehlen find_library(), find_path() und find_file() auf Windows wird die Suche in den Installationsverzeichnissen, die aus der Umgebungsvariable PATH erhalten wurden, deaktiviert, um das Verhalten in Windows mit anderen Plattformen zu vereinheitlichen.
Quelle: opennet.ru
