Qbs 1.17 monteringsverktygsutlösning

Introducerad släpp av monteringsverktyg Qbs 1.17. Detta är den fjärde utgåvan sedan Qt Company lämnade utvecklingen av projektet, förberedd av communityn som är intresserad av att fortsätta utvecklingen av Qbs. För att bygga Qbs krävs Qt bland beroenden, även om Qbs i sig är designat för att organisera sammansättningen av alla projekt. Qbs använder en förenklad version av QML-språket för att definiera projektbyggningsskript, vilket gör att du kan definiera ganska flexibla byggregler som kan ansluta externa moduler, använda JavaScript-funktioner och skapa anpassade byggregler.

Skriptspråket som används i Qbs är anpassat för att automatisera genereringen och analysen av byggskript av IDE:er. Dessutom genererar inte Qbs make-filer och själv, utan mellanhänder som make-verktyget, kontrollerar lanseringen av kompilatorer och länkar, och optimerar byggprocessen baserat på en detaljerad graf över alla beroenden. Närvaron av initiala data om strukturen och beroenden i projektet gör att du effektivt kan parallellisera utförandet av operationer i flera trådar. För stora projekt som består av ett stort antal filer och underkataloger kan återuppbyggnadsprestandan med Qbs överträffa make med flera gånger - ombyggnaden är nästan omedelbar och gör inte att utvecklaren lägger tid på att vänta.

Låt oss komma ihåg att 2018 var Qt Company mottagna beslut att sluta utveckla Qbs. Qbs utvecklades som en ersättning för qmake, men i slutändan beslutades det att använda CMake som huvudbyggsystem för Qt på lång sikt. Utvecklingen av Qbs har nu fortsatt som ett oberoende projekt med stöd av communityn och intresserade utvecklare. Qt Companys infrastruktur fortsätter att användas för utveckling.

Den huvudsakliga innovationer Qbs 1.17:

  • Lade till initialt stöd Qt 6.
  • Lade till capnp-modul för att använda dataserialiseringsprotokollet Cap'n Proto i C++-applikationer.
  • Lagt till förmåga att specificera produkt- och projektvariabler på höger sida av moduleProvider-egenskapsdefinitioner (till exempel "moduleProviders.mygenerator.chooseLettersFrom: project.beginning").
  • Lade till stöd för verktyg för att bygga C/C++-projekt för att fungera ovanpå hårdvara utan ett OS (barmetall, med parametern qbs.targetPlatform inställd på 'ingen'): KEIL (ARMCLANG, C166, C251), IAR (CR16, AVR32, M68K) Och
    GCC (CR16, M68K, M32C, M32R, Super-H, V850, RISC-V, Xtensa).

  • Tillagt stöd för Xcode 12.0 utvecklingsmiljö för macOS.
  • Qt för Android-modulerna har rengjorts.
  • Förbättrat byggstöd för Android-plattformen. Lade till en packageType-egenskap till Android.sdk-modulen för att skapa "aab" (Android App Bundles)-paket istället för "apk", samt en aaptName-egenskap för att använda den nya aapt2 (Android Asset Packaging Tool). Stöd för att bygga Android-applikationer för plattformarna ARMv5, MIPS och MIPS64 har upphört.

Källa: opennet.ru

Lägg en kommentar