Prezentované je vydanie multiplatformového open build generátora skriptov CMake 3.21, ktorý funguje ako alternatíva k Autotools a používa sa v projektoch ako KDE, LLVM/Clang, MySQL, MariaDB, ReactOS a Blender. Kód CMake je napísaný v C++ a distribuovaný pod licenciou BSD.
CMake je pozoruhodný tým, že poskytuje jednoduchý skriptovací jazyk, prostriedok na rozšírenie funkčnosti prostredníctvom modulov, minimálny počet závislostí (bez väzby na M4, Perl alebo Python), podporu ukladania do vyrovnávacej pamäte, prítomnosť nástrojov na krížovú kompiláciu, podporu pre generovanie zostavy súbory pre širokú škálu zostavovacích systémov a kompilátorov, obslužné programy pre prítomnosť ctest a cpack na definovanie testovacích skriptov a zostavovanie balíčkov, utilita cmake-gui na interaktívne nastavenie parametrov zostavovania.
Hlavné vylepšenia:
- Pridaná plná podpora pre programovací jazyk Heterogeneous-Computing Interface for Portability (HIP), dialekt jazyka C++ zameraný na uľahčenie konverzie aplikácií CUDA na prenosný kód C++.
- Pridaný generátor skriptov na zostavenie pre Visual Studio 17 2022, založený na Visual Studio 2022 Preview 1.1.
- Generátory zostavovacích skriptov Makefile a Ninja pridali vlastnosti C_LINKER_LAUNCHER a CXX_LINKER_LAUNCHER, ktoré možno použiť na spustenie pomocných nástrojov, ktoré spúšťajú linker, ako sú napríklad statické analyzátory. Generátor spustí zadané pomocné programy a odovzdá im názov linkera a jeho argumenty.
- Vo vlastnostiach “C_STANDARD” a “OBJC_STANDARD”, ako aj v nástrojoch na nastavenie parametrov kompilátora (Compile Features) bola pridaná podpora pre špecifikácie C17 a C23.
- Do pomôcky cmake bola pridaná možnosť „—toolchain“. > určiť cestu k súprave nástrojov.
- Typy správ zobrazovaných na termináli sú zvýraznené.
- Pridaná podpora pre kompilátor Fujitsu.
- Príkaz "foreach()" zaisťuje, že premenné cyklu sú izolované v rámci cyklu.
Za zmienku stojí aj vydanie zostavovacieho systému Meson 0.59, ktorý sa používa na zostavovanie projektov ako X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME a GTK. Meson je napísaný v jazyku Python a licencovaný pod licenciou Apache 2.0. Krížová kompilácia a zostavovanie v Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS и Windows Používanie kompilátorov GCC, Clang, Visual Studio a ďalších. Projekty je možné vytvárať v rôznych programovacích jazykoch vrátane C, C++, Fortran, Java a Rust. Namiesto utility Make sa na zostavovanie štandardne používa Ninja, ale je možné použiť aj iné backendy, ako napríklad Xcode a Visual Studio.
Systém má vstavaný multiplatformový obslužný program závislostí, ktorý vám umožňuje používať Meson na vytváranie balíkov pre distribúcie. Pravidlá zostavovania sú špecifikované v zjednodušenom jazyku špecifickom pre doménu, sú vysoko čitateľné a zrozumiteľné pre používateľa (ako zamýšľali autori, vývojár by mal písaním pravidiel venovať minimum času). Podporovaný je režim prírastkového zostavovania, v ktorom sa prestavujú iba komponenty priamo súvisiace so zmenami vykonanými od poslednej zostavy. Meson je možné použiť na generovanie opakovateľných zostavení, v ktorých spustenie zostavy v rôznych prostrediach vedie ku generovaniu úplne identických spustiteľných súborov.
Hlavné inovácie Meson 0.59:
- Pridaná podpora pre jazyk Cython (pokročilá verzia Pythonu zameraná na zjednodušenie integrácie s kódom C).
- Pridané kľúčové slová "unescaped_variables" a "unescaped_uninstalled_variables" na definovanie premenných v pkgconfig bez escapovania medzier so znakom "\".
- Pridaná podpora pre wrc (Wine Resource Compiler).
- Možnosť generovania projektov pre Visual Studio 2012 a Visual Studio 2013 bola implementovaná.
- Všetky príkazy súvisiace s podprojektom teraz štandardne spúšťajú každý podprojekt paralelne. Počet paralelných procesov je určený parametrom „--num-processes“.
Zdroj: opennet.ru
