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
