Veröffentlichung des Build-Tools . Dies ist die vierte Ausgabe, nachdem die Qt Company die Entwicklung des Projekts eingestellt hat, die von der Community erstellt wurde, die an der Fortsetzung der Qbs-Entwicklung interessiert ist. FĂŒr den Aufbau von Qbs sind Qt-AbhĂ€ngigkeiten erforderlich, obwohl Qbs darauf ausgelegt ist, den Aufbau beliebiger Projekte zu organisieren. Qbs verwendet eine vereinfachte Version der QML-Sprache zur Definition von Build-Szenarien, was es ermöglicht, recht flexible Build-Regeln festzulegen, bei denen externe Module eingebunden, JavaScript-Funktionen verwendet werden und benutzerdefinierte Build-Regeln erstellt werden können.
Die in Qbs verwendete Skriptsprache ist auf die Automatisierung der Generierung und Analyse von Build-Skripten in integrierten Entwicklungsumgebungen (IDEs) angepasst. DarĂŒber hinaus generiert Qbs keine Makefiles, sondern steuert direkt, ohne Zwischeninstanzen wie die Make-Utility, den Start von Compilern und Linkern und optimiert den Build-Prozess basierend auf einem detaillierten Graphen aller AbhĂ€ngigkeiten. Das Vorhandensein von Ausgangsdaten zur Struktur und zu den AbhĂ€ngigkeiten im Projekt ermöglicht eine effiziente Parallelisierung von AblĂ€ufen in mehreren Threads. FĂŒr groĂe Projekte mit einer Vielzahl von Dateien und Unterverzeichnissen kann die Leistung bei der erneuten Erstellung mit Qbs um ein Vielfaches schneller sein als bei Make â die erneute Erstellung erfolgt nahezu augenblicklich und zwingt den Entwickler nicht, Zeit mit Warten zu verbringen.
Wir erinnern daran, dass die Qt Company im Jahr 2018 die Entscheidung getroffen hat, die Entwicklung von Qbs einzustellen. Qbs entwickelte sich als Ersatz fĂŒr qmake, aber letztendlich wurde beschlossen, CMake als das primĂ€re Build-System fĂŒr Qt auf lange Sicht zu verwenden. Die Entwicklung von Qbs wird nun als unabhĂ€ngiges Projekt fortgesetzt, das von der Gemeinschaft und interessierten Entwicklern unterstĂŒtzt wird. Die Infrastruktur der Qt Company wird weiterhin fĂŒr die Entwicklung genutzt.
Haupt- Qbs 1.17:
- Erste UnterstĂŒtzung hinzugefĂŒgt .
- Modul capnp hinzugefĂŒgt zur Verwendung des Datenserisierungsprotokolls in C++-Anwendungen.
- Möglichkeit, die Variablen product und project auf der rechten Seite von Moduldefinitionseigenschaften anzugeben (z. B. âmoduleProviders.mygenerator.chooseLettersFrom: project.beginningâ).
- UnterstĂŒtzung fĂŒr Toolkits zum Erstellen von C/C++-Projekten hinzugefĂŒgt, die ohne Betriebssystem (bare-metal) auf Hardware laufen (unter Verwendung des Parameters qbs.targetPlatform mit dem Wert ânoneâ): KEIL (ARMCLANG, C166, C251), IAR (CR16, AVR32, M68K) und
GCC (CR16, M68K, M32C, M32R, Super-H, V850, RISC-V, Xtensa). - UnterstĂŒtzung fĂŒr die Entwicklungsumgebung Xcode 12.0 fĂŒr macOS hinzugefĂŒgt.
- Bereinigung der âQt for Androidâ-Module durchgefĂŒhrt.
- Verbesserte UnterstĂŒtzung fĂŒr den Build auf der Android-Plattform. Im Modul Android.sdk wurde die Eigenschaft packageType hinzugefĂŒgt, um âaabâ-Pakete (Android App Bundles) anstelle von âapkâ zu erstellen, sowie die Eigenschaft aaptName zur Verwendung des neuen aapt2 (Android Asset Packaging Tool). Die UnterstĂŒtzung fĂŒr den Aufbau von Android-Anwendungen fĂŒr ARMv5-, MIPS- und MIPS64-Plattformen wurde eingestellt.
Quelle: opennet.ru
