Qt Company kokkupanekutööri (Qt Build Suite). See on viimane Qbs-i väljaanne, mille on koostanud Qt Company. Kordame, et varem on otsustatud Qbs-i arendamine lõpetada. Qbs arenes välja qmake'i asendajana, kuid lõpuks otsustati kasutada CMake'i pikaajalise kokkupanekusüsteemina Qt jaoks.
Lähitulevikus on oodata iseseisva projekti loomist Qbs-i arenduse jätkamiseks kogukonna jõududega, mille saatus sõltub sõltumatute arendajate huvist nimetatud kokkupanekusüsteemi vastu. Qt Company lõpetab Qbs-i arendamise, kuna on vajalikud täiendavad investeeringud ja suurte kulude katmine Qbs-i edendamiseks.
Kordame, et Qbs-i kokkupanekuks on vajalik Qt, kuigi Qbs on mõeldud igasuguste projektide kokkupaneku korraldamiseks. Qbs kasutab projekti kokkupaneku stsenaariumide määratlemiseks lihtsustatud QML keele varianti, mis võimaldab määratleda piisavalt paindlikke kokkupanekureegleid, kuhu saavad lisanduda välised moodulid, kasutada JavaScripti funktsioone ning luua vabalt valitud kokkupanekureegleid.
Qbs ei genereeri make-failide ning kontrollib kompilaatorite ja linkijate käivitamist iseseisvalt, optimeerides ehitusprotsessi kõigi sõltuvuste detailse graafiku alusel. Algandmete olemasolu projekti struktuuri ja sõltuvuste kohta võimaldab tõhusalt teostada operatsioonide käsitlust mitmes lõimes.
Qbs 1.13 peamised uuendused:
- Lisatud on võimalus kasutada projektides pkg-config mooduleid, rakendades sama sõltuvuste töötlemise mehhanismi, mida kasutatakse Qbs moodulites. Näiteks, kui süsteemis on OpenSSL ehitamiseks vajalik pkg-config pakett, piisab selle kasutamiseks Qbs projektis ‘Depends { name: «openssl» }’ lisamisest;
- Automaatne Qt moodulite tuvastamine on ellu viidud. Arendajad ei pea enam käsitsi profiili looma moodulite teede jaoks käsuga setup-qt; kõik sõltuvustes nimetatud Qt moodulid seadistatakse automaatselt;
- Lisatud vahendid paralleelselt käivitatavate ehitusülesannete arvu kontrollimiseks eraldi meeskondade tasandil. Näiteks sidumisel tekib suur koormus sisend/väljundile ja kulub märkimisväärne hulk RAM-i, seetõttu vajab siduja teistsuguseid käivituse seadistusi, erinevaid kompilatsioonist. Eraldi seadistusi saab nüüd määrata käsu „qbs —job-limits linker:2,compiler:8“ abil;
- Skripti keeles on tehtud muudatusi. Reegleid saab nüüd määrata ilma väljundfaili dummy määramata, ning projektifailide alguses ei ole enam kohustuslik kasutada direktiivi „import qbs“. Elementidele Application, DynamicLibrary ja StaticLibrary on lisatud uued omadused install ja installDir, et teha executables'i installimine mugavamaks;
- Lisatud toetus rekursiivseks siduja skriptide skaneerimiseks
GNU siduja; - C++ keeles on rakendatud omadus cpp.linkerVariant, et sundida kasutama sidujaid ld.gold, ld.bfd või lld;
- Qt jaoks on esitatud omadus Qt.core.enableBigResources suurte Qt ressursside loomiseks
- Asendage vananenud element AndroidApk üldise tüübi Application kasutamisega;
- Lisatud moodul autotest'iga seotud testide genereerimiseks;
- Lisa on tekstimoodul, millel on sarnased võimalused nagu QMAKE_SUBSTITUTES qmake'is;
- Alustav tugi Protocol Buffers formaadi jaoks C++ ja Objective-C jaoks on lisatud.
Allikas: opennet.ru
