Izdaja orodij za gradnjo Qbs 1.21 in začetek testiranja Qt 6.3

Napovedana je bila izdaja orodij za gradnjo Qbs 1.21. To je že osma izdaja, odkar je podjetje Qt zapustilo razvoj projekta, ki ga je pripravila skupnost, ki se zanima za nadaljevanje razvoja Qbs. Za izdelavo Qbs je med odvisnostmi potreben Qt, čeprav je sam Qbs zasnovan za organizacijo sestavljanja vseh projektov. Qbs uporablja poenostavljeno različico jezika QML za definiranje skriptov za gradnjo projekta, kar vam omogoča, da definirate dokaj prilagodljiva pravila gradnje, ki lahko povezujejo zunanje module, uporabljajo funkcije JavaScript in ustvarjajo pravila gradnje po meri.

Skriptni jezik, uporabljen v Qbs, je prilagojen za avtomatizacijo generiranja in razčlenjevanja gradbenih skriptov s strani IDE. Poleg tega Qbs ne generira make datotek in sam, brez posrednikov, kot je pripomoček make, nadzoruje zagon prevajalnikov in povezovalnikov ter optimizira postopek gradnje na podlagi podrobnega grafa vseh odvisnosti. Prisotnost začetnih podatkov o strukturi in odvisnostih v projektu vam omogoča učinkovito vzporedno izvajanje operacij v več nitih. Pri velikih projektih, ki so sestavljeni iz velikega števila datotek in podimenikov, lahko zmogljivost vnovične gradnje z uporabo Qbs večkrat preseže make - vnovična konstrukcija je skoraj takojšnja in razvijalcu ni treba čakati.

Spomnimo se, da se je podjetje Qt leta 2018 odločilo prenehati razvijati Qbs. Qbs je bil razvit kot zamenjava za qmake, vendar je bilo na koncu odločeno, da se dolgoročno uporablja CMake kot glavni gradbeni sistem za Qt. Razvoj Qbs se zdaj nadaljuje kot neodvisen projekt, ki ga podpirajo sile skupnosti in zainteresirani razvijalci. Infrastruktura Qt Company se še naprej uporablja za razvoj.

Ključne novosti v Qbs 1.21:

  • Prenovljen je mehanizem ponudnikov modulov (generatorjev modulov). Za okvire, kot sta Qt in Boost, je zdaj mogoče uporabiti več kot enega ponudnika, določiti, kateri ponudnik naj se izvaja z novo lastnostjo qbsModuleProviders, in določiti prioriteto za izbiro modulov, ki so jih ustvarili različni ponudniki. Določite lahko na primer dva ponudnika "Qt" in "qbspkgconfig", od katerih bo prvi poskušal uporabiti uporabnikovo namestitev Qt (prek iskanja qmake), in če taka namestitev ni najdena, bo drugi ponudnik poskušal uporabiti Qt, ki ga zagotavlja sistem (prek klica k pkg-config): CppApplication { Odvisno { name: "Qt.core" } files: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • Dodan ponudnik »qbspkgconfig«, ki je nadomestil ponudnika »nadomestnega« modula, ki je poskušal ustvariti modul z uporabo pkg-config, če zahtevanega modula niso ustvarili drugi ponudniki. Za razliko od »nadomestnega« uporablja »qbspkgconfig« namesto klica pripomočka pkg-config vgrajeno knjižnico C++ za neposredno branje datotek ».pc«, kar pospeši delo in zagotovi dodatne informacije o odvisnostih paketov, ki niso na voljo pri klicu pripomoček pkg-config.
  • Dodana podpora za specifikacijo C++23, ki opredeljuje prihodnji standard C++.
  • Dodana podpora za arhitekturo Elbrus E2K za komplet orodij GCC.
  • Za platformo Android je bila lastnost Android.ndk.buildId dodana za preglasitev privzete vrednosti za zastavico povezovalnika »--build-id«.
  • Modula capnproto in protobuf izvajata možnost uporabe izvajalnih časov, ki jih ponuja ponudnik qbspkgconfig.
  • Odpravljene težave s sledenjem spremembam v izvornih datotekah na FreeBSD zaradi izpadanja milisekund pri ocenjevanju časov spreminjanja datoteke.
  • Dodana lastnost ConanfileProbe.verbose za lažje odpravljanje napak pri projektih, ki uporabljajo upravitelja paketov Conan.

Poleg tega lahko opazimo začetek alfa testiranja ogrodja Qt 6.3, ki implementira nov modul “Qt Language Server” s podporo za jezikovni strežnik in protokola JsonRpc 2.0, v Qt Core je dodan velik del novih funkcij. modul QML MessageDialog pa je bil implementiran v modul Qt Quick Dialogs. Za uporabo pogovornih oken, ki jih ponuja platforma, sta bila modulu Qt Wayland Compositor dodana sestavljeni strežnik Qt Shell in API za ustvarjanje lastnih razširitev lupine po meri .

Modul Qt QML ponuja implementacijo prevajalnika qmltc (prevajalnik tipa QML), ki vam omogoča prevajanje objektnih struktur QML v razrede v C++. Za komercialne uporabnike Qt 6.3 se je začelo testiranje produkta Qt Quick Compiler, ki poleg zgoraj omenjenega QML Type Compilerja vključuje QML Script Compiler, ki omogoča prevajanje QML funkcij in izrazov v C++ kodo. Opozoriti je treba, da bo uporaba Qt Quick Compiler približala delovanje programov, ki temeljijo na QML, domačim programom; zlasti pri prevajanju razširitev se čas zagona in izvajanja zmanjša za približno 30 % v primerjavi z uporabo interpretirane različice. .

Vir: opennet.ru

Dodaj komentar