Izdaja gradbenih sistemov CMake 3.21 in Meson 0.59

Predstavljena je izdaja večplatformskega odprtega generatorja skriptov za gradnjo CMake 3.21, ki deluje kot alternativa Autotools in se uporablja v projektih, kot so KDE, LLVM/Clang, MySQL, MariaDB, ReactOS in Blender. Koda CMake je napisana v C++ in se distribuira pod licenco BSD.

CMake je znan po tem, da zagotavlja preprost skriptni jezik, sredstvo za razširitev funkcionalnosti prek modulov, minimalno število odvisnosti (brez vezave na M4, Perl ali Python), podporo za predpomnjenje, prisotnost orodij za navzkrižno prevajanje, podporo za ustvarjanje gradnje datoteke za široko paleto gradbenih sistemov in prevajalnikov, prisotnost pripomočkov ctest in cpack za definiranje testnih skriptov in gradnjo paketov, pripomoček cmake-gui za interaktivno nastavitev gradbenih parametrov.

Glavne izboljšave:

  • Dodana je popolna podpora za programski jezik Heterogeneous-Computing Interface for Portability (HIP), narečje jezika C++, katerega namen je olajšati pretvorbo aplikacij CUDA v prenosno kodo C++.
  • Dodan generator skriptov gradnje za Visual Studio 17 2022, ki temelji na predogledu Visual Studio 2022 1.1.
  • Generatorji skriptov za gradnjo Makefile in Ninja so dodali lastnosti C_LINKER_LAUNCHER in CXX_LINKER_LAUNCHER, ki ju je mogoče uporabiti za zagon pomožnih pripomočkov, ki zaženejo povezovalnik, kot so statični analizatorji. Generator bo zagnal navedene pripomočke in jim posredoval ime povezovalca in njegove argumente.
  • V lastnostih “C_STANDARD” in “OBJC_STANDARD” ter v orodjih za nastavitev parametrov prevajalnika (Compile Features) je dodana podpora za specifikaciji C17 in C23.
  • Dodana možnost »--toolchain > v pripomoček cmake za določitev poti do toolchain.
  • Vrste sporočil, prikazanih na terminalu, so označene.
  • Dodana podpora za prevajalnik Fujitsu.
  • Ukaz "foreach()" zagotavlja, da so spremenljivke zanke izolirane znotraj zanke.

Poleg tega lahko opazimo izdajo sistema za gradnjo Meson 0.59, ki se uporablja za gradnjo projektov, kot so X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME in GTK. Mesonova koda je napisana v Pythonu in je licencirana pod licenco Apache 2.0. Podpira navzkrižno prevajanje in gradnjo na Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS in Windows z uporabo GCC, Clang, Visual Studio in drugih prevajalnikov. Projekte je mogoče graditi v različnih programskih jezikih, vključno s C, C++, Fortran, Javo in Rust. Namesto pripomočka make se pri gradnji privzeto uporablja komplet orodij Ninja, lahko pa se uporabljajo tudi druga ozadja, kot sta xcode in VisualStudio.

Sistem ima vgrajen upravljalnik odvisnosti za več platform, ki vam omogoča, da uporabite Meson za izdelavo paketov za distribucije. Pravila sestavljanja so določena v poenostavljenem domensko specifičnem jeziku, so zelo berljiva in razumljiva uporabniku (kot so predvideli avtorji, mora razvijalec porabiti najmanj časa za pisanje pravil). Podprt je inkrementalni način gradnje, v katerem se znova zgradijo samo komponente, ki so neposredno povezane s spremembami, izvedenimi od zadnje gradnje. Meson se lahko uporablja za generiranje ponovljivih gradenj, pri katerih izvajanje gradnje v različnih okoljih povzroči generiranje popolnoma enakih izvedljivih datotek.

Glavne novosti Meson 0.59:

  • Dodana podpora za jezik Cython (napredna različica Pythona, namenjena poenostavitvi integracije s kodo C).
  • Dodani ključni besedi "unescaped_variables" in "unescaped_uninstalled_variables" za definiranje spremenljivk v pkgconfig brez ubežnih presledkov z znakom "\".
  • Dodana podpora za wrc (Wine Resource Compiler).
  • Izvedena je bila možnost generiranja projektov za Visual Studio 2012 in Visual Studio 2013.
  • Vsi ukazi, povezani s podprojekti, zdaj privzeto izvajajo vsak podprojekt vzporedno. Število vzporednih procesov je določeno s parametrom “--num-processes”.

Vir: opennet.ru

Dodaj komentar