Kutolewa kwa mifumo ya ujenzi CMake 3.21 na Meson 0.59

Inayowasilishwa ni kutolewa kwa jenereta ya hati ya ujenzi iliyo wazi ya jukwaa CMake 3.21, ambayo hufanya kazi kama mbadala wa Autotools na inatumika katika miradi kama vile KDE, LLVM/Clang, MySQL, MariaDB, ReactOS na Blender. Msimbo wa CMake umeandikwa katika C++ na unasambazwa chini ya leseni ya BSD.

CMake inajulikana kwa kutoa lugha rahisi ya uandishi, njia ya kupanua utendaji kupitia moduli, idadi ndogo ya utegemezi (hakuna kufungwa kwa M4, Perl au Python), usaidizi wa kache, uwepo wa zana za ujumuishaji, usaidizi wa kuunda muundo. faili za anuwai ya mifumo ya ujenzi na vikusanyaji, huduma za uwepo wa ctest na cpack za kufafanua hati za majaribio na vifurushi vya ujenzi, matumizi ya cmake-gui kwa kuweka vigezo vya ujenzi kwa mwingiliano.

Maboresho kuu:

  • Imeongeza usaidizi kamili kwa Lugha ya Kiolesura cha Kompyuta ya Heterogeneous kwa Kubebeka (HIP), lahaja ya lugha ya C++ inayolenga kurahisisha kubadilisha programu za CUDA hadi msimbo wa C++ unaobebeka.
  • Imeongeza jenereta ya hati ya ujenzi ya Visual Studio 17 2022, kulingana na Muhtasari wa 2022 wa Visual Studio 1.1.
  • Jenereta za hati za kutengeneza Makefile na Ninja zimeongeza sifa za C_LINKER_LAUNCHER na CXX_LINKER_LAUNCHER, ambazo zinaweza kutumika kuzindua huduma saidizi zinazozindua kiunganishi, kama vile vichanganuzi tuli. Jenereta itaendesha huduma maalum, ikizipitisha jina la kiunganishi na hoja zake.
  • Katika mali "C_STANDARD" na "OBJC_STANDARD", na pia katika zana za kuweka vigezo vya mkusanyaji (Vipengele vya Kukusanya), usaidizi wa vipimo vya C17 na C23 umeongezwa.
  • Chaguo "-toolchain" imeongezwa kwa matumizi ya cmake > kuamua njia ya zana ya zana.
  • Aina za ujumbe zinazoonyeshwa kwenye terminal zimeangaziwa.
  • Usaidizi ulioongezwa kwa mkusanyaji wa Fujitsu.
  • Amri ya "foreach()" inahakikisha kwamba viambishi vya kitanzi vimetengwa ndani ya kitanzi.

Zaidi ya hayo, tunaweza kutambua kutolewa kwa mfumo wa ujenzi wa Meson 0.59, unaotumika kujenga miradi kama vile Seva ya X.Org, Mesa, Lighttpd, systemd, GStreamer, Wayland, GNOME na GTK. Nambari ya Meson imeandikwa kwa Python na ina leseni chini ya leseni ya Apache 2.0. Inasaidia ujumuishaji na ujenzi kwenye Linux, Illumos/Solaris, FreeBSD, NetBSD, DragonFly BSD, Haiku, macOS na Windows kwa kutumia GCC, Clang, Visual Studio na vikusanyaji vingine. Inawezekana kujenga miradi katika lugha mbalimbali za programu, ikiwa ni pamoja na C, C ++, Fortran, Java na Rust. Badala ya kutengeneza matumizi, zana ya zana ya Ninja hutumiwa kwa chaguo-msingi wakati wa kujenga, lakini viunzi vingine kama vile xcode na VisualStudio pia vinaweza kutumika.

Mfumo una kidhibiti cha utegemezi cha majukwaa mengi ambacho hukuruhusu kutumia Meson kuunda vifurushi vya usambazaji. Sheria za mkusanyiko zimebainishwa katika lugha iliyorahisishwa mahususi ya kikoa, zinasomeka sana na zinaeleweka kwa mtumiaji (kama ilivyokusudiwa na waandishi, msanidi programu anapaswa kutumia kiwango cha chini cha muda kuandika sheria). Hali ya ongezeko la ujenzi inatumika, ambapo vipengele pekee vinavyohusiana moja kwa moja na mabadiliko yaliyofanywa tangu muundo wa mwisho hujengwa upya. Meson inaweza kutumika kutengeneza miundo inayoweza kurudiwa, ambayo kuendesha jengo katika mazingira tofauti husababisha kizazi cha faili zinazoweza kutekelezwa zinazofanana kabisa.

Ubunifu kuu wa Meson 0.59:

  • Usaidizi ulioongezwa kwa lugha ya Cython (toleo la kina la Python linalolenga kurahisisha ujumuishaji na msimbo wa C).
  • Maneno muhimu "unescaped_variables" na "unescaped_uninstalled_variables" ili kufafanua vigeuzo katika pkgconfig bila kuepuka nafasi zilizo na herufi "\".
  • Usaidizi ulioongezwa kwa wrc (Mkusanyaji wa Rasilimali ya Mvinyo).
  • Uwezo wa kuzalisha miradi ya Visual Studio 2012 na Visual Studio 2013 umetekelezwa.
  • Amri zote zinazohusiana na mradi sasa zinaendesha kila mradi sambamba na chaguo-msingi. Idadi ya michakato inayofanana imedhamiriwa na kigezo cha "--num-processes".

Chanzo: opennet.ru

Kuongeza maoni