Paskelbtas galutinis Qbs kūrimo įrankių leidimas

Įmonė Qt опубликовала surinkimo įrankiai Qbs 1.13 („Qt Build Suite“). Tai naujausias Qbs leidimas, kurį gamina Qt Company. Prisiminkime, kas nutiko anksčiau priimta sprendimas sustabdyti Qbs kūrimą. Qbs buvo sukurtas kaip qmake pakaitalas, bet galiausiai buvo nuspręsta naudoti CMake kaip pagrindinę Qt kūrimo sistemą ilgalaikėje perspektyvoje.

Artimiausiu metu tikimasi, kad bus sukurtas nepriklausomas bendruomenės Qbs kūrimo tęstinumo projektas, kurio likimas priklausys nuo nepriklausomų kūrėjų susidomėjimo aptariama surinkimo sistema. Qt Company nustoja dirbti su Qbs dėl papildomų investicijų poreikio ir didelių Qbs reklamavimo išlaidų.

Prisiminkime, kad norint sukurti Qbs, Qt reikalingas kaip priklausomybė, nors pats Qbs skirtas organizuoti bet kokių projektų surinkimą. Qbs naudoja supaprastintą QML kalbos versiją, kad apibrėžtų projekto kūrimo scenarijus, o tai leidžia apibrėžti gana lanksčias kūrimo taisykles, kurios gali sujungti išorinius modulius, naudoti JavaScript funkcijas ir kurti pasirinktines kūrimo taisykles.
Qbs negeneruoja makefailų ir savarankiškai kontroliuoja kompiliatorių ir susiejimo priemonių paleidimą, optimizuodamas kūrimo procesą, remdamasis išsamia visų priklausomybių diagrama. Pradinių duomenų apie struktūrą ir priklausomybes projekte buvimas leidžia efektyviai sulyginti operacijų vykdymą keliose gijose.

Pagrindinės Qbs 1.13 naujovės:

  • Pridėta galimybė naudoti pkg-config modulius projektuose, naudojant tą patį priklausomybės apdorojimo mechanizmą, kuris naudojamas Qbs moduliams. Pavyzdžiui, jei jūsų sistemoje yra paketas OpenSSL kūrimui pagal pkg-config, norėdami jį naudoti Qbs projekte, tiesiog pridėkite 'Depends { name: "openssl" }';
  • Įdiegtas automatinis turimų Qt modulių aptikimas. Kūrėjams nebereikia kurti profilio su modulių keliais, naudojant komandą setup-qt, visi priklausomybėse nurodyti Qt moduliai bus sukonfigūruoti automatiškai;
  • Pridėta įrankių, leidžiančių valdyti lygiagrečiai vykdomų surinkimo užduočių skaičių atskirų komandų lygiu. Pavyzdžiui, susiejimas sukuria didelę įvesties / išvesties apkrovą ir sunaudoja daug RAM, todėl linkeriui reikalingi kiti paleisties nustatymai nei kompiliatoriui. Atskirus nustatymus dabar galima nustatyti naudojant komandą „qbs —job-limits linker:2,compiler:8“;
  • Buvo atlikti scenarijų kalbos pakeitimai. Taisyklės dabar gali būti apibrėžtos nenurodant išvesties stub failo ir nebūtina naudoti direktyvą „import qbs“ projekto failų pradžioje. Prie Programos, DynamicLibrary ir StaticLibrary elementų pridėtos naujos diegimo ir installDir savybės, kad būtų patogiau įdiegti vykdomuosius failus;
  • Pridėtas rekursyvaus nuorodų scenarijų nuskaitymo palaikymas
    GNU linkeris;

  • C++ atveju buvo įdiegta savybė cpp.linkerVariant, kad būtų priversti naudoti ld.gold, ld.bfd arba lld nuorodas;
  • Qt pristato Qt.core.enableBigResources nuosavybę, skirtą dideliems Qt ištekliams kurti
  • Vietoj pasenusio AndroidApk elemento siūloma naudoti bendrąjį Application type;
  • Pridėtas modulis testams kurti remiantis automatiniu testavimu;
  • Pridėtas teksto šablono modulis su galimybėmis, panašiomis į QMAKE_SUBSTITUTES qmake;
  • Pridėtas pradinis C++ ir Objective-C protokolų buferių formato palaikymas.

Šaltinis: opennet.ru

Добавить комментарий