Itusilẹ ti awọn ọna ṣiṣe Kọ CMake 3.21 ati Meson 0.59

Ti gbekalẹ ni itusilẹ ti olupilẹṣẹ iwe afọwọkọ ṣiṣi silẹ-Syeed CMake 3.21, eyiti o ṣiṣẹ bi yiyan si Autotools ati pe o lo ninu awọn iṣẹ akanṣe bii KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ati Blender. Awọn koodu CMake ti kọ sinu C ++ ati pinpin labẹ iwe-aṣẹ BSD.

CMake jẹ ohun akiyesi fun ipese ede iwe afọwọkọ ti o rọrun, ọna lati fa iṣẹ ṣiṣe nipasẹ awọn modulu, nọmba to kere julọ ti awọn igbẹkẹle (ko si abuda si M4, Perl tabi Python), atilẹyin caching, wiwa awọn irinṣẹ fun akopọ-agbelebu, atilẹyin fun ṣiṣẹda kikọ. awọn faili fun ọpọlọpọ awọn ọna ṣiṣe ati awọn olupilẹṣẹ, wiwa ctest ati awọn ohun elo cpack fun asọye awọn iwe afọwọkọ idanwo ati awọn idii ile, IwUlO cmake-gui fun eto ibaraenisepo Kọ awọn aye.

Awọn ilọsiwaju akọkọ:

  • Ṣe afikun atilẹyin ni kikun fun Interface-Computing Interface fun Portability (HIP) ede siseto, dialect ti ede C ++ ti o ni ero lati jẹ ki o rọrun lati yi awọn ohun elo CUDA pada si koodu C ++ to ṣee gbe.
  • Olupilẹṣẹ iwe afọwọkọ ti ṣafikun fun Studio Visual 17 2022, da lori Awotẹlẹ wiwo 2022 1.1.
  • Makefile ati awọn olupilẹṣẹ iwe afọwọkọ Ninja ti ṣafikun awọn ohun-ini C_LINKER_LAUNCHER ati CXX_LINKER_LAUNCHER, eyiti o le ṣe ifilọlẹ awọn ohun elo iranlọwọ ti o ṣe ifilọlẹ ọna asopọ, gẹgẹbi awọn atunnkanka aimi. Olupilẹṣẹ yoo ṣiṣẹ awọn ohun elo ti a ti sọ tẹlẹ, ti o kọja orukọ asopọ ati awọn ariyanjiyan rẹ.
  • Ninu awọn ohun-ini “C_STANDARD” ati “OBJC_STANDARD”, bakannaa ninu awọn irinṣẹ lati ṣeto awọn ipilẹ alakojọ (Awọn ẹya Akopọ), atilẹyin fun awọn alaye C17 ati C23 ti ṣafikun.
  • Aṣayan “—toolchain” ti jẹ afikun si ohun elo cmake > lati pinnu ọna si ohun elo irinṣẹ.
  • Awọn oriṣi awọn ifiranṣẹ ti o han lori ebute naa ni afihan.
  • Atilẹyin ti a ṣafikun fun alakojo Fujitsu.
  • Aṣẹ "foreach()" ṣe idaniloju pe awọn oniyipada lupu ti ya sọtọ laarin lupu kan.

Ni afikun, a le ṣe akiyesi itusilẹ ti Meson 0.59 kọ eto, eyiti o lo lati kọ awọn iṣẹ akanṣe bii X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME ati GTK. Koodu Meson ti kọ ni Python ati pe o ni iwe-aṣẹ labẹ iwe-aṣẹ Apache 2.0. Ṣe atilẹyin akojọpọ agbelebu ati ile lori Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS ati Windows nipa lilo GCC, Clang, Studio Visual ati awọn alakojọ miiran. O ṣee ṣe lati kọ awọn iṣẹ akanṣe ni ọpọlọpọ awọn ede siseto, pẹlu C, C ++, Fortran, Java ati Rust. Dipo ohun elo ṣiṣe, ohun elo irinṣẹ Ninja jẹ lilo nipasẹ aiyipada nigbati o ba kọ, ṣugbọn awọn ẹhin ẹhin miiran bii xcode ati VisualStudio tun le ṣee lo.

Eto naa ni olutọju igbẹkẹle-pupọ ti a ṣe sinu rẹ ti o fun ọ laaye lati lo Meson lati kọ awọn idii fun awọn pinpin. Awọn ofin Apejọ ni pato ni ede ti o rọrun-pato-ašẹ, jẹ kika gaan ati oye si olumulo (gẹgẹbi a ti pinnu nipasẹ awọn onkọwe, olupilẹṣẹ yẹ ki o lo akoko ti o kere ju awọn ofin kikọ). Ipo kikọ afikun jẹ atilẹyin, ninu eyiti awọn paati nikan ti o ni ibatan taara si awọn ayipada ti a ṣe lati igba kikọ ti o kẹhin ti tun ṣe. Meson le ṣee lo lati ṣe ina awọn ile atunwi, ninu eyiti ṣiṣiṣẹ kọ ni awọn agbegbe oriṣiriṣi awọn abajade ni iran ti awọn faili ti o le ṣiṣẹ patapata.

Awọn imotuntun akọkọ ti Meson 0.59:

  • Atilẹyin ti a ṣafikun fun ede Cython (ẹya ilọsiwaju ti Python ti o ni ero lati dirọpọ iṣọpọ pẹlu koodu C).
  • Awọn koko-ọrọ ti a fikun “unscaped_variables” ati “unescaped_uninstalled_variables” lati setumo awọn oniyipada ni pkgconfig laisi salọ awọn aaye pẹlu ohun kikọ “\”.
  • Atilẹyin ti a ṣafikun fun wrc (Akojọpọ orisun orisun Waini).
  • Agbara lati ṣe ina awọn iṣẹ akanṣe fun Visual Studio 2012 ati Visual Studio 2013 ti ni imuse.
  • Gbogbo awọn aṣẹ ti o jọmọ koko-ọrọ ni bayi nṣiṣẹ koko-ọrọ kọọkan ni afiwe nipasẹ aiyipada. Nọmba awọn ilana ti o jọra jẹ ipinnu nipasẹ paramita “- num-processes”.

orisun: opennet.ru

Fi ọrọìwòye kun