Byl představen vydání multiplatformního open-source generátoru build skriptů CMake 3.21, který slouží jako alternativa k Autotools a používá se v projektech jako KDE, LLVM/Clang, MySQL, MariaDB, ReactOS a Blender. Kód CMake je napsán v C++ a je distribuován pod licencí BSD.
CMake se vyznačuje poskytováním jednoduchého skriptovacího jazyka, prostředky pro rozšíření funkcionality prostřednictvím modulů, minimálním počtem závislostí (není závislý na M4, Perlu nebo Pythonu), podporou ukládání do mezipaměti, existencí nástrojů pro kross-kompilaci, podporou generování souborů sestavení pro široké spektrum systémů sestavení a kompilátorů, dostupností nástrojů ctest a cpack pro definici testovacích a balicí skriptů a nástrojem cmake-gui pro interaktivní nastavení parametrů sestavení.
Hlavní vylepšení:
- Byla přidána plná podpora programovacího jazyka HIP (Heterogeneous-Computing Interface for Portability), dialektu jazyka C++, který usnadňuje převod aplikací CUDA na přenosný kód C++.
- Byl přidán generátor build skriptů pro Visual Studio 17 2022, založený na předběžném vydání Visual Studio 2022 Preview 1.1.
- Byly přidány vlastnosti C_LINKER_LAUNCHER a CXX_LINKER_LAUNCHER do generátorů build skriptů Makefile a Ninja, které umožňují spouštění pomocných utilit, které iniciují linker, jako jsou statické analyzátory. Generátor spustí uvedené utility a předá jim název linkeru a jeho argumenty.
- Byla přidána podpora specifikací C17 a C23 do vlastností "C_STANDARD" a "OBJC_STANDARD", stejně jako do nástrojů pro nastavení kompilátorových vlastností (Compile Features).
- Do nástroje cmake byla přidána volba "—toolchain " pro určení cesty k nástrojům.
- Bylo zajištěno zvýraznění typů zpráv vycházejících na terminál.
- Byla přidána podpora pro kompilátor Fujitsu.
- V příkazu "foreach()" je zajištěna izolace proměnných cyklu uvnitř cyklu.
Je také třeba zmínit vydání sestavovacího systému Meson 0.59, který se používá pro sestavování projektů jako X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME a GTK. Kód Meson je napsán v Pythonu a je dodáván pod licencí Apache 2.0. Podporuje křížovou kompilaci a sestavování na Linuxu, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS a Windows s použitím GCC, Clang, Visual Studio a dalších kompilátorů. Je možné sestavovat projekty v různých programovacích jazycích, včetně C, C++, Fortran, Java a Rust. Místo utilit make se při výchozí sestavě používá nástroj Ninja, ale je také možné použít další backendy, jako jsou xcode a VisualStudio.
Systém obsahuje multiplatformní zpracovatel závislostí, který umožňuje používat Meson pro sestavování balíčků pro distribuce. Pravidla pro sestavení jsou definována v zjednodušeném předmětově orientovaném jazyce, který se vyznačuje dobrou čitelností a je srozumitelný uživateli (podle záměru autorů by měl vývojář strávit co nejméně času psaním pravidel). Podporován je inkrementální režim sestavení, při kterém se znovu sestavují pouze komponenty přímo související se změnami provedenými od posledního sestavení. Meson lze použít k vytváření opakovatelných sestavení, při kterých spuštění sestavení v různých prostředích vede k vygenerování zcela identických spustitelných souborů.
Hlavní novinky Meson 0.59:
- Přidána podpora pro jazyk Cython (rozšířená varianta Pythonu, zaměřená na zjednodušení integrace s kódem v jazyce C).
- Přidána klíčová slova „unescaped_variables“ a „unescaped_uninstalled_variables“ pro definici proměnných v pkgconfig bez úpravy mezer znakem „\“.
- Přidána podpora wrc (Wine Resource Compiler).
- Zavedena možnost generování projektů pro Visual Studio 2012 a Visual Studio 2013.
- Všechny příkazy související se zpracováním subprojektů nyní ve výchozím nastavení spouštějí každý subprojekt paralelně. Počet paralelně pracujících procesů je určen parametrem „—num-processes“.
Zdroj: opennet.ru
