Objavljena je končna izdaja orodij za gradnjo Qbs

Podjetje Qt objavljeno orodja za montažo Qbs 1.13 (Qt Build Suite). To je zadnja izdaja Qbs, ki jo je izdelalo podjetje Qt Company. Spomnimo se, kaj se je zgodilo prej sprejeta odločitev o prenehanju razvoja Qbs. Qbs je bil razvit kot zamenjava za qmake, vendar je bilo nazadnje odločeno, da se dolgoročno uporablja CMake kot glavni gradbeni sistem za Qt.

V bližnji prihodnosti se pričakuje, da bo ustvarjen neodvisen projekt za nadaljevanje razvoja Qbs s strani skupnosti, katerega usoda bo odvisna od zanimanja neodvisnih razvijalcev za zadevni montažni sistem. Podjetje Qt preneha delati na Qbs zaradi potrebe po dodatnih naložbah in visokih stroškov za promocijo Qbs.

Spomnimo se, da je za gradnjo Qbs potreben Qt kot odvisnost, čeprav je sam Qbs zasnovan za organizacijo sestavljanja vseh projektov. Qbs uporablja poenostavljeno različico jezika QML za definiranje skriptov za gradnjo projekta, kar vam omogoča, da definirate dokaj prilagodljiva pravila gradnje, ki lahko povezujejo zunanje module, uporabljajo funkcije JavaScript in ustvarjajo pravila gradnje po meri.
Qbs ne ustvarja datotek makefile in neodvisno nadzoruje zagon prevajalnikov in povezovalnikov, pri čemer optimizira proces gradnje na podlagi podrobnega grafa vseh odvisnosti. Prisotnost začetnih podatkov o strukturi in odvisnostih v projektu vam omogoča učinkovito vzporedno izvajanje operacij v več nitih.

Ključne novosti v Qbs 1.13:

  • Dodana možnost uporabe modulov pkg-config v projektih z uporabo istega mehanizma obdelave odvisnosti, ki se uporablja za module Qbs. Na primer, če ima vaš sistem paket za gradnjo OpenSSL, ki temelji na pkg-config, ga za uporabo v projektu Qbs samo dodajte 'Odvisno { name: "openssl" }';
  • Implementirano samodejno zaznavanje razpoložljivih modulov Qt. Razvijalcem ni več treba ustvariti profila s potmi modulov z ukazom setup-qt; vsi moduli Qt, podani v odvisnostih, bodo samodejno konfigurirani;
  • Dodana orodja za nadzor števila nalog sestavljanja, ki se izvajajo vzporedno na ravni posameznih ukazov. Povezovanje na primer ustvari veliko V/I obremenitev in porabi precejšnjo količino RAM-a, zato povezovalnik zahteva drugačne zagonske nastavitve kot prevajalnik. Ločene nastavitve je zdaj mogoče nastaviti z ukazom “qbs —job-limits linker:2,compiler:8”;
  • V skriptnem jeziku so bile narejene spremembe. Pravila je zdaj mogoče definirati brez podajanja datoteke škrbine za izpis in ni treba uporabiti direktive »import qbs« na začetku projektnih datotek. Elementom Application, DynamicLibrary in StaticLibrary sta bili dodani novi lastnosti install in installDir za bolj priročno namestitev izvedljivih datotek;
  • Dodana podpora za rekurzivno skeniranje povezovalnih skriptov
    povezovalnik GNU;

  • Za C++ je bila implementirana lastnost cpp.linkerVariant za prisilno uporabo povezovalnikov ld.gold, ld.bfd ali lld;
  • Qt uvaja lastnost Qt.core.enableBigResources za ustvarjanje velikih virov Qt
  • Namesto zastarelega elementa AndroidApk je predlagana uporaba splošnega tipa aplikacije;
  • Dodan modul za izdelavo testov na osnovi samodejnega testa;
  • Dodan modul besedilne predloge z zmožnostmi, podobnimi QMAKE_SUBSTITUTES v qmake;
  • Dodana začetna podpora za format medpomnilnikov protokola za C++ in Objective-C.

Vir: opennet.ru

Dodaj komentar