Freigabe des Qbs 1.17-Montagetools

Eingereicht von Freigabe von Montagewerkzeugen Qbs 1.17. Dies ist die vierte Veröffentlichung, seit die Qt Company die Entwicklung des Projekts aufgegeben hat, vorbereitet von der Community, die an der Weiterentwicklung von Qbs interessiert ist. Um Qbs zu erstellen, ist Qt unter den Abhängigkeiten erforderlich, obwohl Qbs selbst darauf ausgelegt ist, die Montage beliebiger Projekte zu organisieren. Qbs verwendet eine vereinfachte Version der QML-Sprache, um Projekt-Build-Skripte zu definieren, die es Ihnen ermöglicht, ziemlich flexible Build-Regeln zu definieren, die externe Module verbinden, JavaScript-Funktionen verwenden und benutzerdefinierte Build-Regeln erstellen können.

Die in Qbs verwendete Skriptsprache wurde angepasst, um die Generierung und Analyse von Build-Skripten durch IDEs zu automatisieren. Darüber hinaus generiert Qbs keine Makefiles und steuert selbst, ohne Zwischenhändler wie das Make-Dienstprogramm, den Start von Compilern und Linkern und optimiert den Build-Prozess basierend auf einem detaillierten Diagramm aller Abhängigkeiten. Durch das Vorhandensein erster Daten zur Struktur und den Abhängigkeiten im Projekt können Sie die Ausführung von Vorgängen in mehreren Threads effektiv parallelisieren. Bei großen Projekten, die aus einer großen Anzahl von Dateien und Unterverzeichnissen bestehen, kann die Wiederherstellungsleistung mit Qbs die Leistung von make um ein Vielfaches übertreffen – die Wiederherstellung erfolgt nahezu augenblicklich und erfordert für den Entwickler keine Wartezeiten.

Erinnern wir uns daran, dass es im Jahr 2018 die Qt Company gab akzeptiert Entscheidung, die Entwicklung von Qbs einzustellen. Qbs wurde als Ersatz für qmake entwickelt, letztendlich entschied man sich jedoch, CMake langfristig als Haupt-Build-System für Qt zu verwenden. Die Entwicklung von Qbs wurde nun als unabhängiges Projekt fortgesetzt, das von der Community und interessierten Entwicklern unterstützt wird. Die Infrastruktur der Qt Company wird weiterhin für die Entwicklung genutzt.

Haupt- Innovationen Qbs 1.17:

  • Erstunterstützung hinzugefügt Qt 6.
  • Capnp-Modul hinzugefügt, um das Datenserialisierungsprotokoll zu verwenden Cap'n Proto in C++-Anwendungen.
  • Hinzugefügt von Möglichkeit, Produkt- und Projektvariablen auf der rechten Seite der moduleProvider-Eigenschaftsdefinitionen anzugeben (z. B. „moduleProviders.mygenerator.chooseLettersFrom: project.beginning“).
  • Unterstützung für Tools zum Erstellen von C/C++-Projekten hinzugefügt, um auf Hardware ohne Betriebssystem zu arbeiten (Bare-Metal, mit dem qbs.targetPlatform-Parameter auf „none“ gesetzt): 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.
  • Die Qt für Android-Module wurden bereinigt.
  • Verbesserte Build-Unterstützung für die Android-Plattform. Dem Android.sdk-Modul wurde eine packageType-Eigenschaft hinzugefügt, um „aab“-Pakete (Android App Bundles) anstelle von „apk“ zu erstellen, sowie eine aaptName-Eigenschaft, um das neue aapt2 (Android Asset Packaging Tool) zu verwenden. Die Unterstützung für die Erstellung von Android-Anwendungen für die Plattformen ARMv5, MIPS und MIPS64 wurde eingestellt.

Source: opennet.ru

Kommentar hinzufügen