Ukukhishwa kwezinhlelo zokwakha CMake 3.21 kanye ne-Meson 0.59

Kwethulwa ukukhishwa kwejeneretha yeskripthi esivulekile sokwakha i-CMake 3.21, esisebenza njengenye indlela ye-Autotools futhi sisetshenziswa kumaphrojekthi afana ne-KDE, LLVM/Clang, MySQL, MariaDB, ReactOS ne-Blender. Ikhodi ye-CMake ibhalwe ngo-C++ futhi isatshalaliswa ngaphansi kwelayisensi ye-BSD.

I-CMake iphawuleka ngokunikeza ulimi olulula lokubhala, indlela yokwandisa ukusebenza ngamamojula, inani elincane lokuncika (akukho ukubophezela ku-M4, i-Perl noma i-Python), ukusekelwa kwe-caching, ukuba khona kwamathuluzi okuhlanganiswa okuphambene, ukusekelwa kokukhiqiza isakhiwo. amafayela ezinhlobonhlobo zezinhlelo zokwakha nabahlanganisi, izinsiza zokubakhona ze-ctest ne-cpack zokuchaza imibhalo yokuhlola namaphakheji wokwakha, insiza ye-cmake-gui yokusetha ngokuhlanganyela imingcele yokwakha.

Ukuthuthukiswa okuyinhloko:

  • Kwengezwe ukusekelwa okugcwele kolimi lohlelo lwe-Heterogeneous-Computing Interface for Portability (HIP), ulimi lwesigodi lwe-C++ oluhloselwe ukwenza kube lula ukuguqula izinhlelo zokusebenza ze-CUDA zibe ikhodi ephathekayo ye-C++.
  • Kungezwe ijeneretha yeskripthi sokwakha se-Visual Studio 17 2022, esekelwe ku-Visual Studio 2022 Ukubuka kuqala 1.1.
  • I-Makefile ne-Ninja build script generators zengeze izici ze-C_LINKER_LAUNCHER kanye ne-CXX_LINKER_LAUNCHER, ezingasetshenziswa ukuqalisa izinsiza ezisiza ezivula isixhumi, njengezihlaziyi ezimile. Ijeneretha izosebenzisa izinsiza ezishiwo, izidlulisele igama lesixhumi nama-agumenti aso.
  • Ezicini β€œC_STANDARD” kanye ne-β€œOBJC_STANDARD”, kanye nakumathuluzi okusetha amapharamitha womhlanganisi (Izici Zokuhlanganisa), usekelo lwezicaciso ze-C17 ne-C23 zengeziwe.
  • Inketho ethi "-toolchain" yengezwe kusisetshenziswa se-cmake > ukucacisa indlela eya kukhithi yamathuluzi.
  • Izinhlobo zemilayezo ezivezwa kutheminali ziyagqanyiswa.
  • Usekelo olungeziwe lwe-Fujitsu compiler.
  • Umyalo othi "foreach()" uqinisekisa ukuthi okuguquguqukayo kwe-loop kuhlukanisiwe ngaphakathi kweluphu.

Ukwengeza, singaphawula ukukhululwa kwesistimu yokwakha ye-Meson 0.59, esetshenziselwa ukwakha amaphrojekthi afana ne-X.Org Server, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME kanye ne-GTK. Ikhodi ye-Meson ibhalwe nge-Python futhi ilayisensi ngaphansi kwelayisensi ye-Apache 2.0. Isekela ukuhlanganiswa nokwakhiwa kwe-Linux, i-Illumos/Solaris, i-FreeBSD, i-NetBSD, i-DragonFly BSD, i-Haiku, i-macOS ne-Windows isebenzisa i-GCC, i-Clang, i-Visual Studio nezinye izihlanganisi. Kungenzeka ukwakha amaphrojekthi ngezilimi ezihlukahlukene zokuhlela, okuhlanganisa i-C, C++, Fortran, Java neRust. Esikhundleni se-make utility, ikhithi yamathuluzi ye-Ninja isetshenziswa ngokuzenzakalelayo uma yakha, kodwa ezinye izinto ezingemuva njenge-xcode ne-VisualStudio nazo zingasetshenziswa.

Uhlelo lunesibambi sokuncika sezingxenyekazi eziningi esakhelwe ngaphakathi esikuvumela ukuthi usebenzise i-Meson ukuze wakhe amaphakheji okusabalalisa. Imithetho yomhlangano icaciswe ngolimi olwenziwe lula oluqondene nesizinda, ifundeka kakhulu futhi iqondakala kumsebenzisi (njengoba kuhloswe ababhali, umthuthukisi kufanele asebenzise ubuncane besikhathi ebhala imithetho). Imodi yokwakha ekhuphukayo iyasekelwa, lapho kuphela izingxenye ezihlobene ngokuqondile nezinguquko ezenziwe kusukela ekwakhiweni kokugcina zakhiwa kabusha. I-Meson ingasetshenziswa ukukhiqiza izakhiwo eziphindaphindwayo, lapho ukusebenzisa isakhiwo ezindaweni ezihlukene kubangela ukukhiqizwa kwamafayela asebenzisekayo afana ngokuphelele.

Ukuqanjwa okuyinhloko kwe-Meson 0.59:

  • Usekelo olungeziwe lolimi lwe-Cython (inguqulo ethuthukisiwe yePython ehloselwe ukwenza lula ukuhlanganiswa nekhodi engu-C).
  • Kwengezwe amagama angukhiye "unescaped_variables" kanye "ne-unescaped_uninstalled_variables" ukuze kuchazwe okuguquguqukayo ku-pkgconfig ngaphandle kokubaleka izikhala ngohlamvu "\".
  • Ukwesekwa okwengeziwe kwe-wrc (Isihlanganisi Sensiza Yewayini).
  • Ikhono lokukhiqiza amaphrojekthi we-Visual Studio 2012 kanye ne-Visual Studio 2013 seliqalisiwe.
  • Yonke imiyalo ehlobene ne-subproject manje isebenzisa iphrojekthi encane ngayinye ngokuhambisana ngokuzenzakalela. Inani lezinqubo ezihambisanayo linqunywa ipharamitha ethi β€œ--num-processes”.

Source: opennet.ru

Engeza amazwana