Vydanie nástrojov na zostavovanie Qbs 1.21 a začiatok testovania Qt 6.3

Bola oznámená verzia nástrojov na zostavovanie Qbs 1.21. Toto je ôsme vydanie, odkedy spoločnosť Qt opustila vývoj projektu, ktorý pripravila komunita, ktorá má záujem pokračovať vo vývoji Qbs. Na zostavenie Qbs sa medzi závislosťami vyžaduje Qt, hoci samotný Qbs je navrhnutý tak, aby organizoval zostavenie akýchkoľvek projektov. Qbs používa na definovanie skriptov zostavovania projektu zjednodušenú verziu jazyka QML, čo vám umožňuje definovať pomerne flexibilné pravidlá zostavovania, ktoré môžu spájať externé moduly, používať funkcie JavaScriptu a vytvárať vlastné pravidlá zostavovania.

Skriptovací jazyk používaný v Qbs je prispôsobený na automatizáciu generovania a analýzy zostavovacích skriptov integrovanými vývojovými prostrediami. Okrem toho Qbs negeneruje makefile, ale sám bez sprostredkovateľov, ako je utilita make, riadi spúšťanie kompilátorov a linkerov, čím optimalizuje proces zostavovania na základe podrobného grafu všetkých závislostí. Prítomnosť počiatočných údajov o štruktúre a závislostiach v projekte vám umožňuje efektívne paralelizovať vykonávanie operácií vo viacerých vláknach. Pri veľkých projektoch pozostávajúcich z veľkého množstva súborov a podadresárov môže byť výkon prestavby pomocou Qbs niekoľkonásobne rýchlejší ako make - prestavba sa vykonáva takmer okamžite a nenúti vývojára strácať čas čakaním.

Pripomeňme, že v roku 2018 sa spoločnosť Qt rozhodla ukončiť vývoj Qbs. Qbs bol vyvinutý ako náhrada za qmake, ale nakoniec sa rozhodlo použiť CMake ako hlavný zostavovací systém pre Qt z dlhodobého hľadiska. Vývoj Qbs teraz pokračuje ako nezávislý projekt podporovaný komunitou a zainteresovanými vývojármi. Na vývoj sa naďalej používa infraštruktúra spoločnosti Qt.

Kľúčové inovácie v Qbs 1.21:

  • Prepracovaný bol mechanizmus poskytovateľov modulov (generátorov modulov). Pre rámce ako Qt a Boost je teraz možné použiť viac ako jedného poskytovateľa, určiť, ktorý poskytovateľ sa má spustiť, pomocou novej vlastnosti qbsModuleProviders a určiť prioritu pre výber modulov generovaných rôznymi poskytovateľmi. Môžete napríklad zadať dvoch poskytovateľov „Qt“ a „qbspkgconfig“, z ktorých prvý sa pokúsi použiť inštaláciu Qt používateľa (prostredníctvom vyhľadávania qmake), a ak sa žiadna takáto inštalácia nenájde, druhý poskytovateľ sa pokúsi použiť použite Qt poskytnuté systémom (prostredníctvom volania pkg-config): CppApplication { Depends { name: "Qt.core" } súbory: "main.cpp" qbsModuleProviders: ["Qt", "qbspkgconfig"] }
  • Pridaný poskytovateľ „qbspkgconfig“, ktorý nahradil poskytovateľa „záložného“ modulu, ktorý sa pokúšal vygenerovať modul pomocou pkg-config, ak požadovaný modul nevygenerovali iní poskytovatelia. Na rozdiel od „fallback“, „qbspkgconfig“ namiesto volania pomôcky pkg-config používa vstavanú knižnicu C++ na priame čítanie súborov „.pc“, čo umožňuje zrýchlenie práce a získanie ďalších informácií o závislostiach balíkov, ktoré nie sú dostupné pri volaní pomocný program pkg-config.
  • Pridaná podpora pre špecifikáciu C++23, ktorá definuje budúci štandard C++.
  • Pridaná podpora pre architektúru Elbrus E2K pre sadu nástrojov GCC.
  • Pre platformu Android bola pridaná vlastnosť Android.ndk.buildId na prepísanie predvolenej hodnoty príznaku linkera „--build-id“.
  • Moduly capnproto a protobuf implementujú schopnosť používať runtime poskytované poskytovateľom qbspkgconfig.
  • Vyriešené problémy so sledovaním zmien v zdrojových súboroch na FreeBSD v dôsledku spustenia milisekúnd pri odhadovaní časov úpravy súboru.
  • Pridaná vlastnosť ConanfileProbe.verbose na uľahčenie ladenia projektov, ktoré používajú správcu balíkov Conan.

Okrem toho môžeme zaznamenať začiatok alfa testovania rámca Qt 6.3, ktorý implementuje nový modul „Qt Language Server“ s podporou protokolov Language Server a JsonRpc 2.0, do Qt Core bola pridaná veľká časť nových funkcií. modul a typ QML MessageDialog bol implementovaný v module Qt Quick Dialogs Na používanie dialógových okien poskytovaných platformou bol do modulu Qt Wayland Compositor pridaný zložený server Qt Shell a API na vytváranie vlastných rozšírení používateľského prostredia. .

Modul Qt QML ponúka implementáciu kompilátora qmltc (prekladač typu QML), ktorý umožňuje kompilovať štruktúry objektov QML do tried v C++. Pre komerčných používateľov Qt 6.3 začalo testovanie produktu Qt Quick Compiler, ktorý okrem vyššie spomínaného QML Type Compiler obsahuje QML Script Compiler, ktorý umožňuje kompilovať funkcie a výrazy QML do kódu C++. Je potrebné poznamenať, že použitie Qt Quick Compiler priblíži výkon programov založených na QML k natívnym programom; najmä pri kompilácii rozšírení dochádza k skráteniu času spustenia a vykonávania približne o 30 % v porovnaní s použitím interpretovanej verzie. .

Zdroj: opennet.ru

Pridať komentár