Izdanje sustava za izgradnju CMake 3.21 i Meson 0.59

Predstavljeno je izdanje višeplatformskog otvorenog generatora skripti za izgradnju CMake 3.21, koji djeluje kao alternativa Autotoolsu i koristi se u projektima kao što su KDE, LLVM/Clang, MySQL, MariaDB, ReactOS i Blender. CMake kod je napisan u C++ i distribuiran pod BSD licencom.

CMake je poznat po pružanju jednostavnog skriptnog jezika, sredstva za proširenje funkcionalnosti putem modula, minimalnog broja ovisnosti (bez vezanja na M4, Perl ili Python), podrške za predmemoriju, prisutnosti alata za unakrsnu kompilaciju, podrške za generiranje međugradnje datoteke za širok raspon sustava za izradu i kompilatora, prisutnost ctest i cpack uslužnih programa za definiranje testnih skripti i paketa za izgradnju, cmake-gui pomoćni program za interaktivno postavljanje parametara za izgradnju.

Glavna poboljšanja:

  • Dodana puna podrška za Heterogeneous-Computing Interface for Portability (HIP) programski jezik, dijalekt jezika C++ koji ima za cilj olakšati pretvaranje CUDA aplikacija u prijenosni C++ kod.
  • Dodan generator skripti za izradu za Visual Studio 17 2022, temeljen na Visual Studio 2022 Preview 1.1.
  • Generatori skripti za izradu Makefile i Ninja dodali su svojstva C_LINKER_LAUNCHER i CXX_LINKER_LAUNCHER, koja se mogu koristiti za pokretanje pomoćnih uslužnih programa koji pokreću povezivač, kao što su statički analizatori. Generator će pokrenuti navedene pomoćne programe, prosljeđujući im naziv povezivača i njegove argumente.
  • U svojstvima “C_STANDARD” i “OBJC_STANDARD”, kao i u alatima za postavljanje parametara prevoditelja (Compile Features), dodana je podrška za C17 i C23 specifikacije.
  • Opcija “—toolchain” dodana je uslužnom programu cmake > odrediti put do kompleta alata.
  • Vrste poruka koje se prikazuju na terminalu su označene.
  • Dodana podrška za Fujitsu kompajler.
  • Naredba "foreach()" osigurava da su varijable petlje izolirane unutar petlje.

Dodatno, možemo primijetiti izdanje sustava za izgradnju Meson 0.59, koji se koristi za izgradnju projekata kao što su X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME i GTK. Mesonov kod je napisan u Pythonu i licenciran je pod licencom Apache 2.0. Podržava unakrsnu kompilaciju i izgradnju na Linuxu, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS i Windows koristeći GCC, Clang, Visual Studio i druge prevoditelje. Moguće je izraditi projekte u različitim programskim jezicima, uključujući C, C++, Fortran, Java i Rust. Umjesto uslužnog programa make, Ninja toolkit se prema zadanim postavkama koristi prilikom izgradnje, ali se mogu koristiti i druge pozadine kao što su xcode i VisualStudio.

Sustav ima ugrađeni rukovatelj ovisnosti za više platformi koji vam omogućuje korištenje Mesona za izradu paketa za distribucije. Pravila sklapanja navedena su u pojednostavljenom jeziku specifičnom za domenu, vrlo su čitljiva i razumljiva korisniku (prema namjeri autora, programer bi trebao potrošiti minimalno vremena na pisanje pravila). Podržan je inkrementalni način izrade, u kojem se ponovno grade samo komponente koje su izravno povezane s promjenama učinjenima od posljednje izgradnje. Meson se može koristiti za generiranje ponovljivih nadogradnji, u kojima izvođenje nadogradnje u različitim okruženjima rezultira stvaranjem potpuno identičnih izvršnih datoteka.

Glavne inovacije Meson 0.59:

  • Dodana podrška za jezik Cython (napredna verzija Pythona usmjerena na pojednostavljenje integracije s C kodom).
  • Dodane su ključne riječi "unescaped_variables" i "unescaped_uninstalled_variables" za definiranje varijabli u pkgconfig bez izbjegavanja razmaka sa znakom "\".
  • Dodana podrška za wrc (Wine Resource Compiler).
  • Implementirana je mogućnost generiranja projekata za Visual Studio 2012 i Visual Studio 2013.
  • Sve naredbe vezane uz potprojekt sada prema zadanim postavkama pokreću svaki podprojekt paralelno. Broj paralelnih procesa određen je parametrom “--num-processes”.

Izvor: opennet.ru

Dodajte komentar