Qbs 1.16 monteringsverktygsutlösning

Introducerad släpp av monteringsverktyg Qbs 1.16. Detta är den tredje 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.16:

  • Sammanslagningen av listegenskaper i moduler kopplade av ömsesidiga beroenden har säkerställts, vilket är viktigt till exempel vid bearbetning av flaggor som cpp.staticLibraries;
  • Lade till automatisk detektering av GCC och IAR för Renesas mikrokontroller;
  • Lade till stöd för Xcode 11.4 på macOS;
  • Möjligheterna för clang-cl-stödmodulen har utökats;
  • Tillhandahöll automatisk detektering av MSVC, clang-cl och MinGW i profiler där platsen för verktygslådan inte är explicit definierad;
  • Det har förenklats att aktivera och konfigurera separat installerad felsökningsinformation (cpp.separateDebugInformation) genom sektionerna Application och DynamicLibrary i projektparametrarna;
  • Lade till stöd för Qt 5.14 för Android och uppdaterade verktyget qbs-setup-android;
  • Lade till stöd för JSON-filer genererade av moc-verktyget (Qt >= 5.15) till inställningarna för Qt.core.generateMetaTypesFile och Qt.core.metaTypesInstallDir;
  • Lade till stöd för den nya typdeklarationsmekanismen för QML som introducerades i Qt 5.15;
  • Lade till ConanfileProbe-inställning för att förenkla Qbs-integration med pakethanteraren Conan (för C/C++).

Källa: opennet.ru

Lägg en kommentar