Toleo la mwisho la zana za ujenzi za Qbs limechapishwa

Kampuni ya Qt ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° zana za kusanyiko Swali 1.13 (Qt Build Suite). Hili ndilo toleo la hivi punde zaidi la Qbs zinazotolewa na Kampuni ya Qt. Hebu tukumbuke kilichotokea hapo awali kukubaliwa uamuzi wa kuacha kuendeleza Qbs. Qbs ilitengenezwa kama mbadala wa qmake, lakini hatimaye iliamuliwa kutumia CMake kama mfumo mkuu wa ujenzi wa Qt kwa muda mrefu.

Katika siku za usoni, inatarajiwa kwamba mradi wa kujitegemea utaundwa ili kuendeleza maendeleo ya Qbs na jumuiya, hatima ambayo itategemea maslahi katika mfumo wa mkutano unaohusika kutoka kwa watengenezaji wa kujitegemea. Kampuni ya Qt inaacha kufanya kazi kwenye Qbs kwa sababu ya hitaji la uwekezaji wa ziada na gharama kubwa za kukuza Qbs.

Tukumbuke kwamba ili kujenga Qbs, Qt inahitajika kama utegemezi, ingawa Qbs yenyewe imeundwa kuandaa mkusanyiko wa miradi yoyote. Qbs hutumia toleo lililorahisishwa la lugha ya QML kufafanua hati za muundo wa mradi, ambayo hukuruhusu kufafanua sheria za muundo zinazonyumbulika kiasi ambazo zinaweza kuunganisha moduli za nje, kutumia vitendaji vya JavaScript, na kuunda sheria maalum za uundaji.
Qbs haitoi faili za kutengeneza na inadhibiti kwa uhuru uzinduzi wa vikusanyaji na viunganishi, ikiboresha mchakato wa ujenzi kulingana na grafu ya kina ya vitegemezi vyote. Uwepo wa data ya awali juu ya muundo na utegemezi katika mradi hukuruhusu kusawazisha kwa ufanisi utekelezaji wa shughuli katika nyuzi kadhaa.

Ubunifu muhimu katika Qbs 1.13:

  • Imeongeza uwezo wa kutumia moduli za pkg-config katika miradi kwa kutumia utaratibu ule ule wa kuchakata utegemezi unaotumika kwa moduli za Qbs. Kwa mfano, ikiwa mfumo wako una kifurushi cha kujenga OpenSSL kulingana na pkg-config, ili kuitumia katika mradi wa Qbs, ongeza tu 'Inategemea { jina: "openssl" }';
  • Imetekelezwa ugunduzi wa kiotomatiki wa moduli zinazopatikana za Qt. Watengenezaji hawahitaji tena kuunda wasifu wenye njia za moduli kwa kutumia amri ya usanidi-qt; moduli zote za Qt zilizobainishwa katika vitegemezi zitasanidiwa kiotomatiki;
  • Zana zilizoongezwa ili kudhibiti idadi ya kazi za mkusanyiko zinazoendeshwa kwa usawa katika kiwango cha amri za kibinafsi. Kwa mfano, kuunganisha hutengeneza mzigo mkubwa wa I/O na hutumia kiasi kikubwa cha RAM, hivyo kiunganishi kinahitaji mipangilio tofauti ya uanzishaji kuliko mkusanyaji. Mipangilio tofauti sasa inaweza kuwekwa kwa kutumia amri "qbs -job-limits linker:2,compiler:8";
  • Mabadiliko yamefanywa kwa lugha ya uandishi. Sheria sasa zinaweza kufafanuliwa bila kubainisha faili ya mbegu kwa pato, na si lazima kutumia maagizo ya "kuagiza qbs" mwanzoni mwa faili za mradi. Sifa mpya za kusakinisha na kusakinishaDir zimeongezwa kwenye vipengele vya Programu, Maktaba Inayobadilika na StaticLibrary kwa usakinishaji rahisi zaidi wa faili zinazoweza kutekelezwa;
  • Imeongeza usaidizi wa uchanganuzi unaojirudia wa hati za kiunganishi
    kiunganishi cha GNU;

  • Kwa C++, kipengele cha cpp.linkerVariant kimetekelezwa ili kulazimisha matumizi ya viunganishi vya ld.gold, ld.bfd au lld;
  • Qt inatanguliza mali ya Qt.core.enableBigResources kwa kuunda rasilimali kubwa za Qt
  • Badala ya kipengele cha kizamani cha AndroidApk, inapendekezwa kutumia aina ya Maombi ya jumla;
  • Imeongeza moduli ya kuunda majaribio kulingana na autotest;
  • Umeongeza sehemu ya kiolezo cha maandishi yenye uwezo sawa na QMAKE_SUBSTITUTES katika qmake;
  • Imeongeza usaidizi wa awali wa umbizo la Vibafa vya Itifaki kwa C++ na Lengo-C.

Chanzo: opennet.ru

Kuongeza maoni