Esitletakse Qbs 1.20 versiooni, mis on seitsmes vÀljaanne pÀrast Qt Company lahkumist projekti arendamisest, valminud kogukonna jÔudude abil, kes on huvitatud Qbs arendamise jÀtkamisest. Qbs-i koostamiseks on vaja Qt sÔltuvusi, kuigi Qbs on mÔeldud igasuguste projektide koostamise korraldamiseks. Qbs kasutab projekti koostamisstsenaariumide mÀÀratlemiseks lihtsustatud QML keelt, mis vÔimaldab mÀÀrata piisavalt paindlikke koostamisreegleid, kuhu saab lisada vÀliseid mooduleid, kasutada JavaScripti funktsioone ja luua omavoli koostamisreegleid.
Qbs-i skriptikeel on kohandatud automaatseks genereerimiseks ja töötluseks integreeritud arenduskeskkondades. Lisaks sellele ei genereeri Qbs make-failide, vaid kontrollib otse, ilma vahekohtadeta, nagu make utiliit, kompilaatorite ja linkijate kĂ€ivitamist, optimeerides build-protsessi kĂ”igi sĂ”ltuvuste detailse graafi alusel. Projekti struktuuri ja sĂ”ltuvuste originaalandmete olemasolu vĂ”imaldab tĂ”husalt jaotada toimingute tĂ€itmist mitme lĂ”ime vahel. Suurte projektide puhul, mis koosnevad paljusid faile ja alamkaustu, vĂ”ib Qbs-i kasutamisega toimunud uuesti buildimise efektiivsus ĂŒletada make'i oma mitu korda â uuesti buildimine toimub peaaegu hetkega ning ei sunni arendajat aega raiskama ootamisele.
Tuletame meelde, et 2018. aastal tegi Qt Company otsuse Qbs arendamise lĂ”petamise kohta. Qbs arenes vĂ€lja qmake'i asendajana, kuid lĂ”puks otsustati kasutada CMake'i pikaajalise ehitusĂŒsteemina Qt jaoks. Qbs-i arendamine on nĂŒĂŒd jĂ€tkuvalt iseseisva projektina, mida toetavad kogukonna ja huvitatud arendajate jĂ”ud. Arendamiseks kasutatakse endiselt Qt Company infrastruktuuri.
Qbs 1.20 peamised uuendused:
- TĂ€ielik tugi Qt 6 raamistiku jaoks, sealhulgas Qt 6.2 haru.
- QtScript moodul on vĂ€rskendatud ja portitud C++17-le, mis ei ole enam osa Qt 6-st ja on nĂŒĂŒd osa Qbs-ist.
- Kasutades erinevat omaduste kogumit, on tagatud vanade omaduste nimekirja vÀljund.
- qbs-config-sse on lisatud kÀsk kogu profiili lisamiseks, mis vÔimaldab vÀltida omaduste eraldi lisamist ja kiirendab oluliselt kÀivitamist mitme Android SDK olemasolu korral.
- Lahendatud probleem failide vÀrskendamise aja ebakorrektsest töötlemisest FreeBSD platvormil.
- Parandatud C/C++ toe kvaliteeti. Lisatud tugi COSMIC (COLDFIRE/M68K, HCS08, HCS12, STM8 ja STM32) kompilaatoreile ning Digital Mars tööriistadele. MSVC kompilatorile on rakendatud omadus cpp.enableCxxLanguageMacro ja lisatud tugi vÀÀrtusele «c++20» cpp.cxxLanguageVersion-is.
- Android platvormil on rakendatud toetus dex-kompilaatori d8 kasutamiseks dx asemena, seadistades omaduse Android.sdk.dexCompilerName. Ministro toe lÔpetamine, mis oli vajalik Qt raamatukogude toimimiseks Androidis. Pakettide loomise tööriist on uuendatud aapt-lt aapt2-le (Android Asset Packaging Tool).
Allikas: opennet.ru
