Byla oznámena verze nástrojů pro sestavení Qbs 1.20. Toto je sedmé vydání od doby, kdy společnost Qt opustila vývoj projektu, připraveného komunitou, která má zájem pokračovat ve vývoji Qbs. K sestavení Qbs je mezi závislostmi vyžadováno Qt, ačkoli samotný Qbs je navržen tak, aby organizoval sestavení jakýchkoli projektů. Qbs používá k definování skriptů sestavení projektu zjednodušenou verzi jazyka QML, což umožňuje definovat poměrně flexibilní pravidla sestavování, která mohou připojit externí moduly, používat funkce JavaScriptu a vytvářet vlastní pravidla sestavování.
Skriptovací jazyk používaný v Qbs je přizpůsoben k automatizaci generování a analýzy sestavení skriptů integrovanými vývojovými prostředími. Qbs navíc negeneruje makefile, ale sám bez prostředníků, jako je utilita make, řídí spouštění kompilátorů a linkerů, optimalizuje proces sestavení na základě podrobného grafu všech závislostí. Přítomnost počátečních dat o struktuře a závislostech v projektu umožňuje efektivně paralelizovat provádění operací v několika vláknech. U velkých projektů sestávajících z velkého množství souborů a podadresářů může být výkon přestavby pomocí Qbs několikanásobně rychlejší než make - přestavba je provedena téměř okamžitě a nenutí vývojáře ztrácet čas čekáním.
Připomeňme, že v roce 2018 se společnost Qt rozhodla ukončit vývoj Qbs. Qbs byl vyvinut jako náhrada za qmake, ale nakonec bylo rozhodnuto použít CMake jako hlavní sestavovací systém pro Qt z dlouhodobého hlediska. Vývoj Qbs nyní pokračuje jako nezávislý projekt podporovaný komunitou a zainteresovanými vývojáři. Infrastruktura společnosti Qt je nadále využívána pro vývoj.
Klíčové inovace v Qbs 1.20:
- Byla implementována plná podpora rámce Qt 6, včetně větve Qt 6.2.
- Modul QtScript, který již není dodáván v Qt 17 a nyní je součástí Qbs, byl aktualizován a portován do C++6.
- V případě sestavy s jinou sadou vlastností je uveden seznam starých vlastností.
- Do qbs-config byl přidán příkaz pro přidání celého profilu, což umožňuje vyhnout se samostatnému přidávání vlastností a výrazně zrychluje spuštění, když jich je více. Android SDK.
- Problém s nesprávným zpracováním časů aktualizace souborů na platformě FreeBSD byl vyřešen.
- Vylepšená podpora C/C++. Přidána podpora pro kompilátory COSMIC (COLDFIRE/M68K, HCS08, HCS12, STM8 a STM32) a nástroje Digital Mars. Pro kompilátor MSVC byla implementována vlastnost cpp.enableCxxLanguageMacro a do cpp.cxxLanguageVersion byla přidána podpora pro hodnotu „c++20“.
- Pro platformu Android Implementována podpora pro použití kompilátoru dex d8 namísto dx nastavením vlastnosti Android.sdk.dexNázevKompilátoru. Podpora pro Ministro, program, který zajišťuje provoz knihoven Qt v systému, byla ukončena. AndroidSada nástrojů pro balení byla aktualizována z verze aapt na aapt2 (Android Nástroj pro balení aktiv).
Zdroj: opennet.ru
