Rilaxx tas-sistemi tal-bini CMake 3.21 u Meson 0.59

Ippreżentat huwa r-rilaxx tal-ġeneratur tal-iskript tal-bini miftuħ bejn pjattaforma CMake 3.21, li jaġixxi bħala alternattiva għal Autotools u jintuża fi proġetti bħal KDE, LLVM/Clang, MySQL, MariaDB, ReactOS u Blender. Il-kodiċi CMake huwa miktub f'C++ u mqassam taħt il-liċenzja BSD.

CMake huwa notevoli li jipprovdi lingwa ta' skriptjar sempliċi, mezz biex testendi l-funzjonalità permezz ta' moduli, numru minimu ta' dipendenzi (l-ebda rabta ma' M4, Perl jew Python), appoġġ għall-caching, il-preżenza ta' għodod għall-kumpilazzjoni inkroċjata, appoġġ għall-ġenerazzjoni tal-bini fajls għal firxa wiesgħa ta 'sistemi ta' bini u kompilaturi, il-preżenza ctest u utilitajiet cpack għad-definizzjoni ta 'skripts tat-test u pakketti ta' bini, utilità cmake-gui għall-issettjar interattiv ta 'parametri ta' bini.

Titjib ewlieni:

  • Żieda appoġġ sħiħ għall-lingwa ta' programmar Eteroġeneous-Computing Interface għall-Portabilità (HIP), djalett tal-lingwa C++ immirat li jagħmilha aktar faċli biex tikkonverti applikazzjonijiet CUDA għal kodiċi C++ portabbli.
  • Ġeneratur ta' skript tal-bini miżjud għal Visual Studio 17 2022, ibbażat fuq Visual Studio 2022 Preview 1.1.
  • Il-ġeneraturi tal-iskript tal-bini Makefile u Ninja żiedu l-proprjetajiet C_LINKER_LAUNCHER u CXX_LINKER_LAUNCHER, li jistgħu jintużaw biex iniedu utilitajiet awżiljarji li jniedu l-linker, bħal analizzaturi statiċi. Il-ġeneratur se jmexxi l-utilitajiet speċifikati, u jgħaddihom l-isem tal-linker u l-argumenti tiegħu.
  • Fil-proprjetajiet "C_STANDARD" u "OBJC_STANDARD", kif ukoll fl-għodod għall-issettjar tal-parametri tal-kompilatur (Karatteristiċi tal-Kompila), ġie miżjud appoġġ għall-ispeċifikazzjonijiet C17 u C23.
  • L-għażla "—toolchain" ġiet miżjuda mal-utilità cmake > biex tiddetermina t-triq għall-għodda.
  • It-tipi ta 'messaġġi murija fuq it-terminal huma enfasizzati.
  • Appoġġ miżjud għall-kompilatur Fujitsu.
  • Il-kmand "foreach()" jiżgura li l-varjabbli tal-linja huma iżolati f'linja.

Barra minn hekk, nistgħu ninnotaw ir-rilaxx tas-sistema tal-bini Meson 0.59, li tintuża biex jinbnew proġetti bħal X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME u GTK. Il-kodiċi ta 'Meson huwa miktub f'Python u huwa liċenzjat taħt il-liċenzja Apache 2.0. Jappoġġja l-kumpilazzjoni inkroċjata u l-bini fuq Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS u Windows bl-użu ta 'GCC, Clang, Visual Studio u kompilaturi oħra. Huwa possibbli li jinbnew proġetti f'diversi lingwi ta' programmar, inklużi C, C++, Fortran, Java u Rust. Minflok l-utilità make, in-Ninja toolkit jintuża awtomatikament meta jinbena, iżda backends oħra bħal xcode u VisualStudio jistgħu jintużaw ukoll.

Is-sistema għandha mmaniġġjar tad-dipendenza multi-pjattaforma mibni li jippermettilek tuża Meson biex tibni pakketti għad-distribuzzjonijiet. Ir-regoli tal-assemblaġġ huma speċifikati f'lingwa simplifikata speċifika għad-dominju, jinqraw ħafna u jinftiehmu mill-utent (kif maħsub mill-awturi, l-iżviluppatur għandu jqatta 'minimu ta' ħin jikteb ir-regoli). Il-mod tal-bini inkrementali huwa appoġġjat, li fih jinbnew mill-ġdid biss komponenti direttament relatati mal-bidliet li saru mill-aħħar bini. Meson jista 'jintuża biex jiġġenera bini ripetibbli, li fih it-tħaddim tal-bini f'ambjenti differenti jirriżulta fil-ġenerazzjoni ta' fajls eżekutibbli kompletament identiċi.

Innovazzjonijiet ewlenin ta 'Meson 0.59:

  • Appoġġ miżjud għall-lingwa Cython (verżjoni avvanzata ta 'Python immirata biex tissimplifika l-integrazzjoni bil-kodiċi C).
  • Żiedu kliem prinċipali "unescaped_variables" u "unescaped_uninstalled_variables" biex jiddefinixxu varjabbli f'pkgconfig mingħajr ma jaħarbu l-ispazji bil-karattru "\".
  • Appoġġ miżjud għal wrc (Wine Resource Compiler).
  • Ġiet implimentata l-abbiltà li jiġu ġġenerati proġetti għal Visual Studio 2012 u Visual Studio 2013.
  • Il-kmandi kollha relatati mas-sottoproġetti issa jmexxu kull sottoproġett b'mod parallel b'mod awtomatiku. In-numru ta 'proċessi paralleli huwa determinat mill-parametru "--num-processes".

Sors: opennet.ru

Żid kumment