udgivelse af build-værktøjssættet . Dette er den tredje udgivelse efter, at Qt Company trak sig fra udviklingen af projektet, og den er forberedt af et fællesskab, der er interesseret i at fortsætte udviklingen af Qbs. For at bygge Qbs kræves Qt blandt afhængighederne, selvom Qbs er designet til at organisere opbygningen af alle projekter. Qbs bruger en forenklet version af QML-sproget til at definere bygge-scripts, hvilket giver mulighed for at definere ret fleksible bygge-regler, hvor eksterne moduler kan tilsluttes, der kan bruges JavaScript-funktioner, og der kan skabes arbitrære bygge-regler.
Det script-sprog, der bruges i Qbs, er tilpasset til at automatisere generation og parsing af bygge-scripts i integrerede udviklingsmiljøer. Desuden genererer Qbs ikke make-filer, men kontrollerer selv, uden mellemmænd som make-nytteprogrammet, udførelsen af compilere og linker, hvilket optimerer byggeprocessen baseret på en detaljeret graf over alle afhængigheder. Tilgængeligheden af originale data om strukturen og afhængighederne i projektet tillader effektiv paralleldeling af operationer i flere tråde. For store projekter, der består af mange filer og undermapper, kan ydeevnen ved genopbygning ved hjælp af Qbs overgå make mange gange—genopbygningen udføres næsten øjeblikkeligt og tvinger udvikleren ikke til at bruge tid på at vente.
Lad os huske, at i 2018 besluttede Qt Company at stoppe udviklingen af Qbs. Qbs blev udviklet som en erstatning for qmake, men i sidste ende blev det besluttet at bruge CMake som det primære byggeværktøj for Qt på lang sigt. Udviklingen af Qbs fortsætter nu som et uafhængigt projekt under samfundets og interesserede udvikleres støtte. Infrastrukturen fra Qt Company benyttes stadig til udvikling.
Vigtige Qbs 1.16:
- Sammenfletning af listeegenskaber i moduler med gensidige afhængigheder er sikret, hvilket er vigtigt, f.eks. ved behandling af sådanne flag som cpp.staticLibraries;
- Automatisk detektion af GCC og IAR til Renesas mikrokontrollere er tilføjet;
- Understøttelse af Xcode 11.4 i macOS er tilføjet;
- Funktionerne i clang-cl understøttelsesmodulet er udvidet;
- Automatisk detektion af MSVC, clang-cl og MinGW i profiler, hvor værktøjets placering ikke er angivet, er sikret;
- Inkludering og konfiguration af separat installeret fejlinformation (cpp.separateDebugInformation) er forenklet gennem sektionerne Application og DynamicLibrary i projektindstillingerne;
- Understøttelse af Qt 5.14 til Android er tilføjet, og værktøjet qbs-setup-android er opdateret;
- Understøttelse af JSON-filer genereret af moc-værktøjet (Qt >= 5.15) er tilføjet til indstillingerne Qt.core.generateMetaTypesFile og Qt.core.metaTypesInstallDir;
- Understøttelse af den nye type-deklarationsmekanisme præsenteret i Qt 5.15 for QML er tilføjet;
- Indstillingen ConanfileProbe er tilføjet for at forenkle integrationen af Qbs med pakkeadministratorer (til C/C++).
Kilde: opennet.ru
