Qbs 1.17 monteringsverktøyutgivelse

Introdusert frigjøring av monteringsverktøy Qbs 1.17. Dette er den fjerde utgivelsen siden Qt Company forlot utviklingen av prosjektet, utarbeidet av samfunnet som er interessert i å fortsette utviklingen av Qbs. For å bygge Qbs kreves Qt blant avhengighetene, selv om Qbs i seg selv er designet for å organisere sammenstillingen av alle prosjekter. Qbs bruker en forenklet versjon av QML-språket for å definere prosjektbyggingsskript, som lar deg definere ganske fleksible byggeregler som kan koble til eksterne moduler, bruke JavaScript-funksjoner og lage tilpassede byggeregler.

Skriptspråket som brukes i Qbs er tilpasset for å automatisere generering og parsing av byggeskript av integrerte utviklingsmiljøer. I tillegg genererer ikke Qbs makefiler, men selv, uten mellomledd som make-verktøyet, kontrollerer lanseringen av kompilatorer og linkere, og optimaliserer byggeprosessen basert på en detaljert graf over alle avhengigheter. Tilstedeværelsen av innledende data om strukturen og avhengighetene i prosjektet lar deg effektivt parallellisere utførelsen av operasjoner i flere tråder. For store prosjekter som består av et stort antall filer og underkataloger, kan ytelsen til gjenoppbygging med Qbs være flere ganger raskere enn make - gjenoppbygging utføres nesten umiddelbart og tvinger ikke utvikleren til å kaste bort tid på å vente.

La oss huske at i 2018 var Qt Company mottatt beslutning om å slutte å utvikle Qbs. Qbs ble utviklet som en erstatning for qmake, men til slutt ble det besluttet å bruke CMake som hovedbyggesystemet for Qt på lang sikt. Utviklingen av Qbs har nå fortsatt som et uavhengig prosjekt støttet av samfunnet og interesserte utviklere. Qt Company-infrastrukturen fortsetter å bli brukt til utvikling.

Den viktigste innovasjoner Qbs 1.17:

  • Lagt til første støtte Qt 6.
  • Lagt til capnp-modul for å bruke dataserialiseringsprotokollen Cap'n Proto i C++-applikasjoner.
  • La til muligheten til å spesifisere produkt- og prosjektvariabler på høyre side av egenskapsdefinisjonene for moduleProvider (for eksempel "moduleProviders.mygenerator.chooseLettersFrom: project.beginning").
  • Lagt til støtte for verktøy for å bygge C/C++-prosjekter for å fungere på toppen av maskinvare uten et OS (bare-metal, med qbs.targetPlatform-parameteren satt til 'none'): KEIL (ARMCLANG, C166, C251), IAR (CR16, AVR32, M68K) Og
    GCC (CR16, M68K, M32C, M32R, Super-H, V850, RISC-V, Xtensa).

  • Lagt til støtte for Xcode 12.0 utviklingsmiljø for macOS.
  • Qt for Android-modulene er renset.
  • Forbedret byggestøtte for Android-plattformen. La til en packageType-egenskap til Android.sdk-modulen for å lage "aab" (Android App Bundles)-pakker i stedet for "apk", samt en aaptName-egenskap for å bruke den nye aapt2 (Android Asset Packaging Tool). Støtte for å bygge Android-applikasjoner for ARMv5-, MIPS- og MIPS64-plattformene er avviklet.

Kilde: opennet.ru

Legg til en kommentar