Qbs 1.16 koostetööriista vabastamine

Tutvustatakse montaažitööriistade vabastamine Qbs 1.16. See on kolmas väljaanne pärast seda, kui Qt ettevõte projekti arendusest lahkus, mille valmistas ette Qbs-i arendamise jätkamisest huvitatud kogukond. Qb-de loomiseks on sõltuvuste hulgas nõutav Qt, kuigi Qbs ise on mõeldud mis tahes projektide kokkupanemise korraldamiseks. Qbs kasutab projekti koostamise skriptide määratlemiseks QML-keele lihtsustatud versiooni, mis võimaldab defineerida üsna paindlikke ehitusreegleid, milles saab ühendada väliseid mooduleid, kasutada JavaScripti funktsioone ja luua suvalisi ehitusreegleid.

Qbs-is kasutatav skriptikeel on kohandatud integreeritud arenduskeskkondade abil ehitusskriptide genereerimise ja sõelumise automatiseerimiseks. Lisaks ei genereeri Qbs makefile, vaid ise, ilma vahendajateta, nagu make-utiliit, kontrollib kompilaatorite ja linkerite käivitamist, optimeerides ehitusprotsessi kõigi sõltuvuste üksikasjaliku graafiku alusel. Algandmete olemasolu projekti struktuuri ja sõltuvuste kohta võimaldab toimingute täitmist mitmes lõimes tõhusalt paralleelstada. Suurte projektide puhul, mis koosnevad suurest hulgast failidest ja alamkataloogidest, võib Qbs-i abil taastamine olla mitu korda kiirem kui make – ümberehitamine toimub peaaegu kohe ega sunni arendajat ootamisele aega raiskama.

Meenutagem, et 2018. aastal oli Qt Company võetud otsus lõpetada Qb-de arendamine. Qbs töötati välja qmake asendusena, kuid lõpuks otsustati pikemas perspektiivis kasutada CMake'i Qt peamise ehitussüsteemina. Qbs-i arendus on nüüdseks jätkunud iseseisva projektina, mida toetavad kogukond ja huvitatud arendajad. Arenduseks kasutatakse jätkuvalt Qt Company taristut.

Kõik uuendused Qbs 1.16:

  • Tagatud on loendi atribuutide liitmine omavaheliste sõltuvuste kaudu ühendatud moodulites, mis on oluline näiteks lippude nagu cpp.staticLibraries töötlemisel;
  • Lisatud Renesase mikrokontrolleritele GCC ja IAR automaatne tuvastamine;
  • Lisatud Xcode 11.4 tugi macOS-is;
  • Laiendatud on clang-cl tugimooduli võimalusi;
  • MSVC, clang-cl ja MinGW automaatne tuvastamine profiilides, kus tööriistakomplekti asukoht pole selgesõnaliselt määratletud;
  • Lihtsustatud on eraldi installitud silumisinfo (cpp.separateDebugInformation) lubamine ja konfigureerimine projekti parameetrite jaotiste Application ja DynamicLibrary kaudu;
  • Lisati tugi Qt 5.14 jaoks Androidile ja värskendati utiliiti qbs-setup-android;
  • Lisatud utiliidi moc (Qt >= 5.15) loodud JSON-failide tugi Qt.core.generateMetaTypesFile ja Qt.core.metaTypesInstallDir sätetele;
  • Lisatud on tugi Qt 5.15-s kasutusele võetud uuele QML-i tüübideklaratsiooni mehhanismile;
  • Lisatud ConanfileProbe'i säte, et lihtsustada Qbs-i integreerimist paketihalduriga Conan (C/C++ jaoks).

Allikas: opennet.ru

Lisa kommentaar