vydání nástroje pro sestavení . Toto je třetí vydání po odchodu společnosti Qt Company z vývoje projektu, připravené komunitou, která má zájem o pokračování vývoje Qbs. Pro sestavení Qbs jsou potřeba závislosti na Qt, přičemž Qbs je navržen tak, aby organizoval sestavování jakýchkoliv projektů. Qbs používá zjednodušenou verzi jazyka QML pro definici scénářů sestavování projektu, což umožňuje definovat dostatečně flexibilní pravidla sestavování, do kterých lze zapojovat externí moduly, využívat funkce v JavaScriptu a vytvářet libovolná pravidla sestavování.
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 připomínáme, že v roce 2018 rozhodla společnost Qt Company o ukončení vývoje Qbs. Qbs se vyvíjel 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 jako nezávislý projekt, podporovaný komunitou a zainteresovanými vývojáři. Pro vývoj se zatím nadále používá infrastruktura společnosti Qt.
Hlavní Qbs 1.16:
- Bylo zajištěno sloučení vlastností seznamu v modulech, které jsou vzájemně závislé, což je důležité například při zpracování takových příznaků, jako jsou cpp.staticLibraries;
- Bylo přidáno automatické rozpoznání GCC a IAR pro mikrokontroléry Renesas;
- Byla přidána podpora Xcode 11.4 na macOS;
- Rozšířeny možnosti modulu podpory clang-cl;
- Bylo zajištěno automatické rozpoznání MSVC, clang-cl a MinGW v profilech, kde není explicitně definována poloha nástrojů;
- Zjednodušeno zahrnutí a nastavení samostatně instalovaných ladicích informací (cpp.separateDebugInformation) prostřednictvím sekcí Application a DynamicLibrary v parametrech projektu;
- Byla přidána podpora Qt 5.14 pro Android a byla aktualizována utilita qbs-setup-android;
- Do nastavení Qt.core.generateMetaTypesFile a Qt.core.metaTypesInstallDir byla přidána podpora JSON souborů generovaných utilitou moc (Qt >= 5.15);
- Byla přidána podpora nového mechanismu deklarace typů pro QML představeného v Qt 5.15;
- Byla přidána konfigurace ConanfileProbe pro zjednodušení integrace Qbs s balíčkovým správcem (pro C/C++).
Zdroj: opennet.ru
