Uvolnění stavebního nástroje Qbs 1.21 a začátek testování Qt 6.3

Byl uveden vydání nástroje pro sestavení Qbs 1.21. Toto je osmé vydání po ukončení vývoje projektu společností Qt Company, připravené komunitou, která má zájem na pokračování vývoje Qbs. Pro sestavení Qbs je vyžadován Qt jako závislost, přičemž samotný Qbs je určen pro organizaci sestavování jakýchkoli projektů. Qbs používá zjednodušenou variantu jazyka QML pro definování scénářů sestavení projektu, což umožňuje stanovit dostatečně flexibilní pravidla sestavení, do kterých mohou být integrovány externí moduly, využívány funkce JavaScriptu a vytvářena libovolná pravidla sestavení.

Jazyk skriptování použitý v Qbs je přizpůsoben pro automatizaci generování a analýzy scénářů sestavení integrovanými vývojovými prostředími. Navíc Qbs nevytváří make-soubory, ale sám, bez prostředníků, jako je nástroj make, řídí spuštění kompilátorů a linkerů, optimalizuje proces sestavení na základě detailního grafu všech závislostí. Disponování počátečními daty o struktuře a závislostech v projektu umožňuje efektivně paralelizovat provádění operací na více vláknech. Pro velké projekty složené z mnoha souborů a podsložek může výkon opakované sestavení pomocí Qbs mnohonásobně překonat make — opětovná sestavení probíhají téměř okamžitě a nezdržují vývojáře čekáním.

Připomínáme, že v roce 2018 se společnost Qt Company rozhodla ukončit vývoj Qbs. Qbs byl vyvíjen jako náhrada za qmake, ale nakonec bylo rozhodnuto používat CMake jako hlavní systém sestavení pro Qt v dlouhodobém horizontu. Vývoj Qbs nyní pokračuje v rámci nezávislého projektu, podporovaného komunitou a zainteresovanými vývojáři. Pro vývoj se zatím stále používá infrastruktura Qt Company.

Hlavní novinky Qbs 1.21:

  • Byl přepracován mechanismus poskytovatelů modulů (generátorů modulů). Pro frameworky, jako jsou Qt a Boost, nyní můžete použít více než jednoho poskytovatele, určovat, který z poskytovatelů spustit pomocí nové vlastnosti qbsModuleProviders a nastavovat prioritu pro výběr modulů generovaných různými poskytovateli. Například můžete specifikovat dva poskytovatele „Qt“ a „qbspkgconfig“, přičemž první se pokusí použít uživatelskou instalaci Qt (prohledáním qmake) a pokud taková instalace nebude nalezena, druhý poskytovatel se pokusí použít Qt poskytnutý systémem (voláním pkg-config): CppApplication { Depends { name: „Qt.core“ } files: „main.cpp“ qbsModuleProviders: [„Qt“, „qbspkgconfig“] }
  • Byl přidán poskytovatel „qbspkgconfig“, který nahradil poskytovatele modulů „fallback“, pokoušejícího se generovat modul pomocí pkg-config, pokud požadovaný modul nebyl vygenerován jinými poskytovateli. Na rozdíl od „fallback“ v „qbspkgconfig“ místo volání utility pkg-config používá vestavěná C++ knihovna pro přímé čtení souborů „.pc“, což umožňuje zrychlit proces a získat dodatečné informace o závislostech balíků, které nejsou dostupné při volání utility pkg-config.
  • Byla přidána podpora specifikace C++23, která určuje budoucí standard C++.
  • Pro nástroje GCC byla přidána podpora architektury Elbrus E2K.
  • Pro platformu Android bylo přidáno vlastnost Android.ndk.buildId, které umožňuje přepsat výchozí hodnotu pro flag linkeru „—build-id“.
  • V modulech capnproto a protobuf byla implementována možnost využití runtime poskytnutého poskytovatelem qbspkgconfig.
  • Byly vyřešeny problémy se sledováním změn v souborech se zdrojovým kódem na platformě FreeBSD, které vznikaly kvůli ztrátě milisekund při vyhodnocení času poslední změny souboru.
  • Byla přidána vlastnost ConanfileProbe.verbose, která usnadňuje ladění projektů využívajících správce balíků Conan.

Dále lze poznamenat začátek alpha testování frameworku Qt 6.3, ve kterém byl implementován nový modul „Qt Language Server“ s podporou protokolů Language Server a JsonRpc 2.0, do modulu Qt Core byla přidána velká část nových funkcí, v modulu Qt Quick Dialogs byl implementován QML typ MessageDialog pro využití dialogových oken poskytovaných platformou a do modulu Qt Wayland Compositor byl přidán kompositní. server Qt Shell a API pro vytváření vlastních rozšíření uživatelského rozhraní.

Modul Qt QML nabízí implementaci kompilátoru qmltc (kompilátor typů QML), který umožňuje kompilaci struktur objektů QML do tříd v jazyce C++. Pro komerční uživatele začalo testování produktu Qt Quick Compiler, který kromě zmíněného QML Type Compiler zahrnuje QML Script Compiler, umožňující kompilaci funkcí a výrazů QML do C++ kódu. Je zdůrazněno, že použití Qt Quick Compiler přiblíží výkon aplikací založených na QML k nativním aplikacím, přičemž se uvádí, že při kompilaci rozšíření dojde k zkrácení doby spuštění a vykonání přibližně o 30 % ve srovnání s používáním interpretační verze.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster