CMake 3.28, en tværplatforms åben scenarie-generator, er blevet udgivet som et alternativ til Autotools og bruges i projekter som KDE, LLVM/Clang, MySQL, MariaDB, ReactOS og Blender. CMake er bemærkelsesværdig for at tilbyde et simpelt scenarifuldssprog, muligheder for funktionalitet udvidelse gennem moduler, understøttelse af caching, værktøjer til krydskompilering, evnen til at generere build-filer til et bredt udvalg af build-systemer og kompilatorer, samt ctest- og cpack-værktøjer til at definere test- og pakkebygning scenarier, og cmake-gui til interaktivt at konfigurere byggeparametre. CMake-koden er skrevet i C++ og distribueres under BSD-licensen.
Hovedforbedringer:
- Der er tilføjet understøttelse af moduler defineret i C++ 20-specifikationen til build-scenarie-generatorerne for Visual Studio og Ninja. Understøttelse af moduler er tilgængelig med LLVM/Clang 16, GCC 14-dev eller MSVC 14.34.
- Mulighederne for kompilering af NVIDIA GPU-kode i HIP-sproget er blevet implementeret ved hjælp af NVCC (NVIDIA CUDA Compiler). Der er tilføjet en CMAKE_HIP_PLATFORM variabel for at vælge GPU-platformen for HIP ('amd' eller 'nvidia').
- Der er tilføjet understøttelse af '.xcframework' -mapper på Apple-platforme.
- Kommandoen 'exec_program()' er blevet fjernet, da den blev deprecieret i version 3.0. For at starte processer skal du bruge kommandoen 'execute_process()'.
- Filer, der er genereret med 'FILE_SET'-tilstanden, behandles nu som private som standard, hvilket muliggør dannelse af en mere effektiv build-graf i Ninja-generatorerne.
- I kommandoerne find_library(), find_path() og find_file() er søgningen i installationsmapper, der er hentet fra miljøvariablen PATH, blevet deaktiveret på Windows-platformen (for at ensarte adfærden i Windows med andre platforme).
Kilde: opennet.ru
