Freigabe des Qbs 1.16-Montagetools

Eingereicht von Freigabe von Montagewerkzeugen Qbs 1.16. Dies ist die dritte 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.16:

  • Die Zusammenführung von Listeneigenschaften in Modulen, die durch gegenseitige Abhängigkeiten verbunden sind, wurde sichergestellt, was beispielsweise bei der Verarbeitung von Flags wie cpp.staticLibraries wichtig ist;
  • Automatische Erkennung von GCC und IAR für Renesas-Mikrocontroller hinzugefügt;
  • Unterstützung für Xcode 11.4 unter macOS hinzugefügt;
  • Die Fähigkeiten des clang-cl-Unterstützungsmoduls wurden erweitert;
  • Automatische Erkennung von MSVC, clang-cl und MinGW in Profilen bereitgestellt, in denen der Speicherort des Toolkits nicht explizit definiert ist;
  • Es wurde vereinfacht, separat installierte Debugging-Informationen (cpp.separateDebugInformation) über die Abschnitte „Application“ und „DynamicLibrary“ in den Projektparametern zu aktivieren und zu konfigurieren;
  • Unterstützung für Qt 5.14 für Android hinzugefügt und das Dienstprogramm qbs-setup-android aktualisiert;
  • Unterstützung für vom Dienstprogramm moc (Qt >= 5.15) generierte JSON-Dateien zu den Einstellungen Qt.core.generateMetaTypesFile und Qt.core.metaTypesInstallDir hinzugefügt;
  • Unterstützung für den neuen Typdeklarationsmechanismus für QML hinzugefügt, der in Qt 5.15 eingeführt wurde;
  • ConanfileProbe-Einstellung hinzugefügt, um die Qbs-Integration mit dem Paketmanager zu vereinfachen Conan (für C/C++).

Source: opennet.ru

Kommentar hinzufügen