Versiunea finală a instrumentelor de compilare Qbs a fost publicată

Compania Qt а publicat instrumente de asamblare QBS 1.13 (Qt Build Suite). Aceasta este cea mai recentă versiune a Qbs produsă de compania Qt. Să ne amintim ce s-a întâmplat mai devreme primit decizia de a opri dezvoltarea Qbs. Qbs a fost dezvoltat ca înlocuitor pentru qmake, dar în cele din urmă sa decis să se utilizeze CMake ca principal sistem de construcție pentru Qt pe termen lung.

În viitorul apropiat, este de așteptat ca un proiect independent să fie creat pentru a continua dezvoltarea Qb-urilor de către comunitate, a cărui soartă va depinde de interesul pentru sistemul de asamblare în cauză din partea dezvoltatorilor independenți. Compania Qt încetează să lucreze la Qbs din cauza necesității de investiții suplimentare și a costurilor mari pentru promovarea Qbs.

Să ne amintim că pentru a construi Qbs, Qt este necesar ca dependență, deși Qbs în sine este conceput pentru a organiza asamblarea oricăror proiecte. Qbs folosește o versiune simplificată a limbajului QML pentru a defini scripturile de construire a proiectelor, ceea ce vă permite să definiți reguli de construire destul de flexibile care pot conecta module externe, pot utiliza funcții JavaScript și pot crea reguli de construire personalizate.
Qbs nu generează fișiere make și controlează în mod independent lansarea compilatoarelor și linkerelor, optimizând procesul de construire pe baza unui grafic detaliat al tuturor dependențelor. Prezența datelor inițiale despre structură și dependențe în proiect vă permite să paralelizați eficient execuția operațiunilor în mai multe fire.

Inovații cheie în Qbs 1.13:

  • S-a adăugat posibilitatea de a utiliza module pkg-config în proiecte folosind același mecanism de procesare a dependenței care este folosit pentru modulele Qbs. De exemplu, dacă sistemul dumneavoastră are un pachet pentru construirea OpenSSL bazat pe pkg-config, pentru a-l utiliza într-un proiect Qbs, trebuie doar să adăugați „Depend { name: „openssl” }”;
  • Detectarea automată implementată a modulelor Qt disponibile. Dezvoltatorii nu mai trebuie să creeze un profil cu căile modulelor folosind comanda setup-qt; toate modulele Qt specificate în dependențe vor fi configurate automat;
  • Au fost adăugate instrumente pentru a controla numărul de sarcini de asamblare care rulează în paralel la nivelul comenzilor individuale. De exemplu, conectarea creează o încărcare mare I/O și consumă o cantitate semnificativă de RAM, astfel încât linkerul necesită setări de pornire diferite decât compilatorul. Setări separate pot fi acum setate folosind comanda „qbs —job-limits linker:2,compiler:8”;
  • Au fost aduse modificări limbajului de scripting. Regulile pot fi acum definite fără a specifica un fișier stub pentru ieșire și nu este necesar să folosiți directiva „import qbs” la începutul fișierelor de proiect. Au fost adăugate noi proprietăți de instalare și installDir elementelor Application, DynamicLibrary și StaticLibrary pentru o instalare mai convenabilă a fișierelor executabile;
  • S-a adăugat suport pentru scanarea recursivă a scripturilor linker
    linker GNU;

  • Pentru C++, proprietatea cpp.linkerVariant a fost implementată pentru a forța utilizarea linkerilor ld.gold, ld.bfd sau lld;
  • Qt introduce proprietatea Qt.core.enableBigResources pentru a crea resurse Qt mari
  • În locul elementului AndroidApk învechit, se propune utilizarea tipului de aplicație generic;
  • S-a adăugat un modul pentru crearea de teste bazate pe autotest;
  • S-a adăugat modul texttemplate cu capabilități similare cu QMAKE_SUBSTITUTES în qmake;
  • S-a adăugat suport inițial pentru formatul Protocol Buffers pentru C++ și Objective-C.

Sursa: opennet.ru

Adauga un comentariu