Eliberarea instrumentului de asamblare Qbs 1.16

Introdus eliberarea sculelor de asamblare QBS 1.16. Aceasta este a treia lansare de când compania Qt a părăsit dezvoltarea proiectului, pregătit de comunitatea interesată să continue dezvoltarea Qbs. Pentru a construi Qbs, Qt este necesar printre dependențe, 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 folosi funcții JavaScript și puteți crea reguli de construire personalizate.

Limbajul de scripting folosit în Qbs este adaptat pentru a automatiza generarea și analizarea scripturilor de compilare de către mediile de dezvoltare integrate. În plus, Qbs nu generează fișiere make, dar el însuși, fără intermediari precum utilitarul make, controlează lansarea compilatoarelor și a link-urilor, 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. Pentru proiectele mari care constau dintr-un număr mare de fișiere și subdirectoare, performanța reconstrucției folosind Qbs poate fi de câteva ori mai rapidă decât make - reconstrucția se realizează aproape instantaneu și nu obligă dezvoltatorul să piardă timpul în așteptare.

Să ne amintim că în 2018 a fost Compania Qt primit decizia de a opri dezvoltarea Qbs. Qbs a fost dezvoltat ca înlocuitor pentru qmake, dar în cele din urmă s-a decis să se utilizeze CMake ca principal sistem de construcție pentru Qt pe termen lung. Dezvoltarea Qbs a continuat acum ca un proiect independent susținut de comunitate și de dezvoltatorii interesați. Infrastructura companiei Qt continuă să fie utilizată pentru dezvoltare.

Principalul inovații Qbs 1.16:

  • A fost asigurată îmbinarea proprietăților listei în modulele conectate prin dependențe reciproce, ceea ce este important, de exemplu, atunci când se procesează steaguri precum cpp.staticLibraries;
  • S-a adăugat detectarea automată a GCC și IAR pentru microcontrolerele Renesas;
  • S-a adăugat suport pentru Xcode 11.4 pe macOS;
  • Capacitățile modulului de suport clang-cl au fost extinse;
  • Furnizată detectarea automată a MSVC, clang-cl și MinGW în profilurile în care locația setului de instrumente nu este definită în mod explicit;
  • S-a simplificat activarea și configurarea informațiilor de depanare instalate separat (cpp.separateDebugInformation) prin secțiunile Application și DynamicLibrary din parametrii proiectului;
  • S-a adăugat suport pentru Qt 5.14 pentru Android și s-a actualizat utilitarul qbs-setup-android;
  • S-a adăugat suport pentru fișierele JSON generate de utilitarul moc (Qt >= 5.15) la setările Qt.core.generateMetaTypesFile și Qt.core.metaTypesInstallDir;
  • S-a adăugat suport pentru noul mecanism de declarare a tipului pentru QML introdus în Qt 5.15;
  • S-a adăugat setarea ConanfileProbe pentru a simplifica integrarea Qbs cu managerul de pachete Conan (pentru C/C++).

Sursa: opennet.ru

Adauga un comentariu