Objavljen konačni isplatni alat Qbs

Tvrtka Qt Company objavila alati za izgradnju Qbs 1.13 (Qt Build Suite). Ovo je posljednje izdanje Qbs, koje je razvila tvrtka Qt Company. Podsjećamo da je ranije donesena prihvaćeno odluka o prekidu razvoja Qbs-a. Qbs se razvijao kao zamjena za qmake, ali je na kraju odlučeno da se koristi CMake kao osnovni sustav izgradnje za Qt na duge staze.

Uskoro se očekuje osnivanje neovisnog projekta za nastavak razvoja Qbs-a od strane zajednice, čija sudbina će ovisiti o interesu neovisnih programera za ovaj sustav izgradnje. Qt Company prekida rad na Qbs-u zbog potrebe za dodatnim investicijama i velikih troškova promocije Qbs-a.

Podsjećamo da za izgradnju Qbs-a kao zavisnost zahtijeva Qt, iako je sam Qbs namijenjen organizaciji izgradnje bilo kojih projekata. Qbs koristi pojednostavljenu verziju jezika QML za definiranje skripti za izgradnju projekta, što omogućava definiranje dovoljno fleksibilnih pravila, u koja se mogu uključivati vanjski moduli, koristiti funkcije u JavaScript-u i stvarati proizvoljna pravila izgradnje.
Qbs ne generira make datoteke i samostalno kontrolira pokretanje kompajlera i linker-a, optimizirajući proces izgradnje na temelju detaljne grafa svih zavisnosti. Prisutnost osnovnih podataka o strukturi i zavisnostima u projektu omogućava učinkovito paralelno izvršavanje operacija u više niti.

Glavne novine Qbs 1.13:

  • Dodana je mogućnost korištenja modula pkg-config u projektima, koristeći isti mehanizam obrade zavisnosti koji se primjenjuje za Qbs module. Na primjer, ukoliko u sustavu postoji paket za izgradnju OpenSSL-a temeljen na pkg-config, za njegovu upotrebu u Qbs projektu dovoljno je dodati 'Depends { name: "openssl" }';
  • Implementirano je automatsko prepoznavanje dostupnih Qt modula. Programerima više nije potrebno kreirati profil s putanjama do modula pomoću naredbe setup-qt, svi moduli Qt navedeni u zavisnostima bit će automatski postavljeni;
  • Dodane su sredstva za kontrolu broja paralelnih zadataka izrade na razini pojedinih timova. Na primjer, prilikom povezivanja dolazi do velike opterećenosti ulaza/izlaza i koristi se značajna količina RAM-a, stoga linker zahtijeva drugačije postavke pokretanja, različite od onih za prevoditelj. Odsvojene postavke sada se mogu postaviti pomoću komande «qbs —job-limits linker:2,compiler:8»;
  • Izvršene su izmjene u jeziku skripti. Pravila se sada mogu definirati bez navođenja datoteke zamjenskog izlaza, a na početku projektnim datotekama nije nužno koristiti direktivu «import qbs». Novim svojstvima install i installDir dodanima u elemente Application, DynamicLibrary i StaticLibrary olakšava se instalacija izvršnih datoteka;
  • Dodana je podrška za rekurzivno skeniranje skripti linkera.
    GNU linker;
  • Za C++ je implementirano svojstvo cpp.linkerVariant za prisilno korištenje linkera ld.gold, ld.bfd ili lld;
  • Za Qt je predstavljeno svojstvo Qt.core.enableBigResources za stvaranje velikih Qt resursa.
  • Umjesto zastarjelog elementa AndroidApk, preporučuje se korištenje zajedničkog tipa Application;
  • Dodan je modul za izradu testova temeljen na autotest;
  • Dodan je modul texttemplate s mogućnostima sličnim QMAKE_SUBSTITUTES u qmake;
  • Dodana je početna podrška za format Protocol Buffers za C++ i Objective-C.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster