Vydání sestavení systémů CMake 3.21 a Meson 0.59

Představuje se vydání multiplatformního open build generátoru skriptů CMake 3.21, který funguje 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 distribuován pod licencí BSD.

CMake je pozoruhodný tím, že poskytuje jednoduchý skriptovací jazyk, prostředek k rozšíření funkčnosti prostřednictvím modulů, minimální počet závislostí (žádná vazba na M4, Perl nebo Python), podporu ukládání do mezipaměti, přítomnost nástrojů pro křížovou kompilaci, podporu pro generování sestavení soubory pro širokou škálu sestavovacích systémů a kompilátorů, nástroje prezence ctest a cpack pro definování testovacích skriptů a sestavovacích balíčků, nástroj cmake-gui pro interaktivní nastavení parametrů sestavení.

Hlavní vylepšení:

  • Přidána plná podpora pro programovací jazyk Heterogeneous-Computing Interface for Portability (HIP), dialekt jazyka C++ zaměřený na usnadnění převodu aplikací CUDA na přenosný kód C++.
  • Přidán generátor skriptů sestavení pro Visual Studio 17 2022, založený na Visual Studio 2022 Preview 1.1.
  • Generátory sestavení skriptů Makefile a Ninja přidaly vlastnosti C_LINKER_LAUNCHER a CXX_LINKER_LAUNCHER, které lze použít ke spuštění pomocných nástrojů, které spouštějí linker, jako jsou statické analyzátory. Generátor spustí zadané nástroje a předá jim název linkeru a jeho argumenty.
  • Ve vlastnostech „C_STANDARD“ a „OBJC_STANDARD“ a také v nástrojích pro nastavení parametrů kompilátoru (Compile Features) byla přidána podpora specifikací C17 a C23.
  • Do obslužného programu cmake byla přidána možnost „—toolchain“. > určit cestu k sadě nástrojů.
  • Typy zpráv zobrazovaných na terminálu jsou zvýrazněny.
  • Přidána podpora pro kompilátor Fujitsu.
  • Příkaz "foreach()" zajišťuje, že proměnné smyčky jsou v rámci smyčky izolované.

Kromě toho si můžeme všimnout vydání systému sestavování Meson 0.59, který se používá k vytváření projektů, jako jsou X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME a GTK. Mesonův kód je napsán v Pythonu a je licencová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 pomocí GCC, Clang, Visual Studio a dalších kompilátorů. Je možné stavět projekty v různých programovacích jazycích, včetně C, C++, Fortran, Java a Rust. Místo nástroje make se při sestavování ve výchozím nastavení používá sada nástrojů Ninja, ale lze použít i jiné backendy, jako je xcode a VisualStudio.

Systém má vestavěný obslužný program závislostí pro více platforem, který vám umožňuje používat Meson k vytváření balíčků pro distribuce. Pravidla sestavení jsou specifikována ve zjednodušeném jazyce specifickém pro doménu, jsou vysoce čitelná a srozumitelná pro uživatele (jak zamýšleli autoři, vývojář by měl psaním pravidel věnovat minimum času). Je podporován režim přírůstkového sestavení, ve kterém jsou znovu sestavovány pouze komponenty přímo související se změnami provedenými od posledního sestavení. Meson lze použít ke generování opakovatelných sestavení, ve kterých spuštění sestavení v různých prostředích vede ke generování zcela identických spustitelných souborů.

Hlavní inovace Meson 0.59:

  • Přidána podpora pro jazyk Cython (pokročilá verze Pythonu zaměřená na zjednodušení integrace s kódem C).
  • Přidána klíčová slova "unescaped_variables" a "unescaped_uninstalled_variables" pro definování proměnných v pkgconfig bez escapování mezer znakem "\".
  • Přidána podpora pro wrc (Wine Resource Compiler).
  • Byla implementována možnost generovat projekty pro Visual Studio 2012 a Visual Studio 2013.
  • Všechny příkazy související s dílčími projekty nyní ve výchozím nastavení spouštějí každý dílčí projekt paralelně. Počet paralelních procesů je určen parametrem „--num-processes“.

Zdroj: opennet.ru

Přidat komentář