Izdanje build sistema CMake 3.21 i Meson 0.59

Predstavljeno je izdanje cross-platform open build generatora skripti CMake 3.21, koji djeluje kao alternativa Autotools-u i koristi se u projektima kao što su KDE, LLVM/Clang, MySQL, MariaDB, ReactOS i Blender. CMake kod je napisan u C++ i distribuira se pod BSD licencom.

CMake je poznat po tome što pruža jednostavan skript jezik, sredstvo za proširenje funkcionalnosti kroz module, minimalan broj zavisnosti (bez vezivanja za M4, Perl ili Python), podršku za keširanje, prisustvo alata za unakrsnu kompilaciju, podršku za generisanje build-a datoteke za širok spektar sistema i kompajlera za izgradnju, prisutnost ctest i cpack uslužnih programa za definisanje testnih skripti i paketa za izgradnju, cmake-gui uslužni program za interaktivno postavljanje parametara izgradnje.

Glavna poboljšanja:

  • Dodata je puna podrška za Heterogeneous-Computing Interface for Portability (HIP) programski jezik, dijalekt jezika C++ koji ima za cilj da olakša konverziju CUDA aplikacija u prenosivi C++ kod.
  • Dodan generator skripti za izgradnju za Visual Studio 17 2022, zasnovan na Visual Studio 2022 Preview 1.1.
  • Generatori skripti Makefile i Ninja build su dodali svojstva C_LINKER_LAUNCHER i CXX_LINKER_LAUNCHER, koja se mogu koristiti za pokretanje pomoćnih programa koji pokreću linker, kao što su statički analizatori. Generator će pokrenuti navedene uslužne programe, prosljeđujući im ime povezivača i njegove argumente.
  • U svojstva “C_STANDARD” i “OBJC_STANDARD”, kao i u alate za podešavanje parametara kompajlera (Compile Features), dodata je podrška za specifikacije C17 i C23.
  • Opcija “—toolchain” je dodana u uslužni program cmake > da odredite put do kompleta alata.
  • Vrste poruka prikazanih na terminalu su istaknute.
  • Dodata podrška za Fujitsu kompajler.
  • Komanda "foreach()" osigurava da su varijable petlje izolirane unutar petlje.

Dodatno, možemo primijetiti izdavanje Meson 0.59 build sistema, 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 Python-u i licenciran je pod licencom Apache 2.0. Podržava unakrsnu kompilaciju i izgradnju na Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS i Windows koristeći GCC, Clang, Visual Studio i druge kompajlere. Moguće je graditi projekte u različitim programskim jezicima, uključujući C, C++, Fortran, Java i Rust. Umjesto make uslužnog programa, Ninja set alata se koristi po defaultu prilikom izgradnje, ali se mogu koristiti i drugi backendovi kao što su xcode i VisualStudio.

Sistem ima ugrađeni višeplatformski rukovalac zavisnosti koji vam omogućava da koristite Meson za pravljenje paketa za distribucije. Pravila asemblera su specificirana na pojednostavljenom jeziku specifičnom za domenu, vrlo su čitljiva i razumljiva korisniku (kako su autori zamislili, programer bi trebao potrošiti minimalno vrijeme na pisanje pravila). Podržan je način inkrementalne gradnje, u kojem se obnavljaju samo komponente koje su direktno povezane s promjenama napravljenim od posljednje izgradnje. Meson se može koristiti za generiranje ponovljivih build-ova, u kojima pokretanje build-a u različitim okruženjima rezultira generiranjem potpuno identičnih izvršnih datoteka.

Glavne inovacije Meson 0.59:

  • Dodata podrška za Cython jezik (napredna verzija Pythona koja ima za cilj pojednostavljenje integracije sa C kodom).
  • Dodane ključne riječi "unescaped_variables" i "unescaped_uninstalled_variables" za definiranje varijabli u pkgconfig bez izbjegavanja razmaka sa znakom "\".
  • Dodata podrška za wrc (Wine Resource Compiler).
  • Implementirana je mogućnost generiranja projekata za Visual Studio 2012 i Visual Studio 2013.
  • Sve naredbe koje se odnose na potprojekte sada po defaultu pokreću svaki potprojekt paralelno. Broj paralelnih procesa određen je parametrom “--num-processes”.

izvor: opennet.ru

Dodajte komentar