utgÄva av byggverktyg . Detta Àr den fjÀrde utgÄvan efter att Qt Company lÀmnat utvecklingen av projektet, förberedd av en gemenskap som Àr intresserad av att fortsÀtta utvecklingen av Qbs. För att bygga Qbs krÀvs Qt bland dess beroenden, Àven om Qbs sjÀlv Àr utformat för att organisera byggprocessen av alla projekt. Qbs anvÀnder en förenklad version av QML-sprÄket för att definiera byggscript för projekt, vilket gör det möjligt att faststÀlla tillrÀckligt flexibla byggregler dÀr externa moduler kan kopplas in, JavaScript-funktioner anvÀndas och godtyckliga byggregler kan skapas.
SprĂ„ket som anvĂ€nds i Qbs Ă€r anpassat för att automatisera genereringen och tolkningen av byggnadsskript i integrerade utvecklingsmiljöer. Dessutom genererar Qbs inga make-filer, utan kontrollerar sjĂ€lv, utan mellanhĂ€nder som make-verktyget, körningen av kompilatorer och lĂ€nkare, vilket optimerar byggprocessen baserat pĂ„ en detaljerad graf av alla beroenden. TillgĂ„ngen till ursprungliga data om struktur och beroenden i projektet möjliggör effektiv parallellisering av operationer i flera trĂ„dar. För stora projekt som bestĂ„r av mĂ„nga filer och underkataloger kan prestandan vid Ă„terkommande byggande med Qbs vara flera gĂ„nger bĂ€ttre Ă€n med make â Ă„terkommande byggande utförs nĂ€stan omedelbart och tvingar inte utvecklaren att vĂ€nta.
Kom ihÄg att Qt Company 2018 tog beslutet att avsluta utvecklingen av Qbs. Qbs utvecklades som en ersÀttning för qmake, men det beslutades i slutÀndan att anvÀnda CMake som det primÀra byggsystemet för Qt pÄ lÄng sikt. Utvecklingen av Qbs fortsÀtter nu som ett oberoende projekt, stödd av gemenskapen och intresserade utvecklare. Infrastruktur frÄn Qt Company anvÀnds fortfarande för utvecklingen.
Huvud Qbs 1.17:
- Inledande stöd har lagts till för .
- capnp-modulen för anvÀndning av datasekvenseringsprotokollet i C++-applikationer.
- möjlighet att ange variabler i product och project pÄ höger sida av moduldynibutet moduleProvider (t.ex. «moduleProviders.mygenerator.chooseLettersFrom: project.beginning»).
- Stöd för byggverktyg för C/C++-projekt har lagts till för att arbeta pÄ hÄrdvara utan operativsystem (bare-metal, genom att sÀtta parametern qbs.targetPlatform till 'none'): KEIL (ARMCLANG, C166, C251), IAR (CR16, AVR32, M68K) och
GCC (CR16, M68K, M32C, M32R, Super-H, V850, RISC-V, Xtensa). - Stöd för utvecklingsmiljön Xcode 12.0 för macOS har lagts till.
- Modulerna för «Qt for Android» har stÀdats upp.
- Stödet för byggandet för Android-plattformen har förbÀttrats. I Android.sdk-modulen har egenskapen packageType lagts till för att skapa paket «aab» (Android App Bundles) istÀllet för «apk», samt egenskapen aaptName för att anvÀnda den nya aapt2 (Android Asset Packaging Tool). Stödet för att bygga Android-applikationer för ARMv5-, MIPS- och MIPS64-plattformar har upphört.
KĂ€lla: opennet.ru
