Bylo zveřejněno finální vydání nástrojů pro sestavení Qbs

Společnost Qt Company publikovala nástroje pro sestavení Qbs 1.13 (Qt Build Suite). Toto je poslední vydání Qbs, vytvořené společností Qt Company. Připomeňme, že dříve bylo bylo přijato rozhodnuto o pozastavení vývoje Qbs. Qbs byl vyvíjen jako náhrada za qmake, ale nakonec bylo rozhodnuto používat CMake jako hlavní sestavovací systém pro Qt v dlouhodobém horizontu.

Brzy se očekává vznik nezávislého projektu pro pokračování vývoje Qbs silami komunity, jehož osud bude záviset na zájmu o tuto systém sestavení ze strany nezávislých vývojářů. Qt Company přestává pracovat na Qbs kvůli potřebě dodatečných investic a vysokým nákladům na propagaci Qbs.

Připomeňme, že pro sestavení Qbs je jako závislost vyžadován Qt, i když sám Qbs je určen pro organizaci sestavení jakýchkoli projektů. Qbs používá zjednodušenou variantu jazyka QML pro definování scénářů sestavení projektu, což umožňuje definovat dostatečně flexibilní pravidla sestavení, ve kterých mohou být připojeny externí moduly, zaváděny funkce v JavaScriptu a vytvářena libovolná pravidla sestavení.
Qbs nežene make-soubory a samo kontroluje spuštění kompilátorů a linkerů, optimalizující proces sestavení na základě podrobného grafu všech závislostí. Přítomnost původních dat o struktuře a závislostech v projektu umožňuje efektivně paralelizovat provádění operací ve více vláknech.

Hlavní novinky Qbs 1.13:

  • Byla přidána možnost používání modulů pkg-config v projektech se stejným mechanismem zpracování závislostí, jaký se používá pro moduly Qbs. Například pokud je na systému k dispozici balíček pro sestavení OpenSSL založený na pkg-config, pro jeho použití v projektu Qbs stačí přidat 'Depends { name: "openssl" }';
  • Bylo implementováno automatické rozpoznávání dostupných modulů Qt. Vývojáři již nemusí vytvářet profil s cestami k modulům pomocí příkazu setup-qt, všechny uvedené v závislostech moduly Qt budou nakonfigurovány automaticky;
  • Byly přidány prostředky pro kontrolu počtu současně běžících sestavovacích úloh na úrovni jednotlivých týmů. Například při provádění propojení vzniká vysoké zatížení vstupem/výstupem a spotřebovává se velké množství RAM, proto linker vyžaduje jiná nastavení spuštění než kompilátor. Oddělená nastavení nyní lze zadat pomocí příkazu „qbs —job-limits linker:2,compiler:8“;
  • Byly provedeny změny v jazyce skriptů. Pravidla nyní mohou být definována bez uvedení výstupního souboru, a na začátku projektových souborů již není povinné používat direktivu „import qbs“. Do prvků Application, DynamicLibrary a StaticLibrary byla přidána nová vlastnost install a installDir pro snadnější instalaci spustitelných souborů;
  • Byla přidána podpora rekurzivního skenování linkerových skriptů
    GNU linker;
  • Pro jazyk C++ byla implementována vlastnost cpp.linkerVariant pro nucené použití linkerů ld.gold, ld.bfd nebo lld;
  • Pro Qt byla představena vlastnost Qt.core.enableBigResources pro vytváření velkých Qt zdrojů
  • Místo zastaralého prvku AndroidApk je doporučeno používat obecný typ Application;
  • Byl přidán modul pro vytváření testů na základě autotest;
  • Byl přidán modul texttemplate s funkcemi podobnými QMAKE_SUBSTITUTES v qmake;
  • Byla přidána základní podpora formátu Protocol Buffers pro C++ a Objective-C.

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