De release van de cross-platform open-source build-scripts generator CMake 3.28 is gepubliceerd, dat als alternatief voor Autotools fungeert en wordt gebruikt in projecten zoals KDE, LLVM/Clang, MySQL, MariaDB, ReactOS en Blender. CMake staat bekend om het bieden van een eenvoudige script-taal, mogelijkheden voor functionaliteitsuitbreiding via modules, ondersteuning voor cachen, het beschikbaar zijn van tools voor cross-compilatie, ondersteuning voor het genereren van build-bestanden voor een breed scala aan build-systemen en compilers, en het hebben van de tools ctest en cpack voor het definiƫren van test-scripts en het bouwen van pakketten, evenals de tool cmake-gui voor interactieve configuratie van build-instellingen. De code van CMake is geschreven in C++ en wordt verspreid onder de BSD-licentie.
Hoofdverbeteringen:
- Ondersteuning voor modules, gedefinieerd in de C++ 20-specificatie, is toegevoegd aan de build-script generators voor Visual Studio en Ninja. Module ondersteuning is beschikbaar met LLVM/Clang 16, GCC 14-dev of MSVC 14.34.
- Compilatiemogelijkheden voor NVIDIA GPU-code in HIP zijn geĆÆmplementeerd, met gebruik van de NVCC (NVIDIA CUDA Compiler). De variabele CMAKE_HIP_PLATFORM is toegevoegd voor het selecteren van het GPU-platform voor HIP ('amd' of 'nvidia').
- Ondersteuning voor '.xcframework' mappen is gerealiseerd op Apple-platformen.
- De opdracht 'exec_program()' is verwijderd, deprecate sinds release 3.0. Om processen te starten, dient de opdracht 'execute_process()' gebruikt te worden.
- Bestanden die zijn gegenereerd met behulp van de 'FILE_SET' modus worden nu standaard behandeld als privaat, waardoor een efficiƫnter build-grafiek kan worden gevormd in de Ninja generators.
- In de opdrachten find_library(), find_path() en find_file() is op Windows het zoeken in installatiemap uitgeschakeld, verkregen uit de omgevingsvariabele PATH (ten behoeve van het vereenvoudigen van gedrag in Windows ten opzichte van andere platforms).
Bron: opennet.ru
