Version de l'outil d'assemblage Qbs 1.17

Introduit libération des outils d'assemblage Qb 1.17. Il s'agit de la quatrième version depuis que la société Qt a quitté le développement du projet, préparé par la communauté intéressée à poursuivre le développement de Qbs. Pour construire Qbs, Qt est requis parmi les dépendances, bien que Qbs lui-même soit conçu pour organiser l'assemblage de tous les projets. Qbs utilise une version simplifiée du langage QML pour définir des scripts de construction de projet, ce qui vous permet de définir des règles de construction assez flexibles dans lesquelles des modules externes peuvent être connectés, des fonctions JavaScript peuvent être utilisées et des règles de construction arbitraires peuvent être créées.

Le langage de script utilisé dans Qbs est adapté pour automatiser la génération et l'analyse des scripts de construction par les IDE. De plus, Qbs ne génère pas de makefiles, et lui-même, sans intermédiaires tels que l'utilitaire make, contrôle le lancement des compilateurs et des éditeurs de liens, optimisant le processus de construction sur la base d'un graphe détaillé de toutes les dépendances. La présence de données initiales sur la structure et les dépendances dans le projet permet de paralléliser efficacement l'exécution des opérations dans plusieurs threads. Pour les grands projets constitués d'un grand nombre de fichiers et de sous-répertoires, les performances des reconstructions utilisant Qbs peuvent surpasser make de plusieurs fois - la reconstruction est presque instantanée et ne fait pas attendre le développeur.

Rappelons qu'en 2018 la société Qt était accepté décision d’arrêter de développer Qbs. Qbs a été développé en remplacement de qmake, mais il a finalement été décidé d'utiliser CMake comme système de build principal pour Qt à long terme. Le développement de Qbs se poursuit désormais en tant que projet indépendant soutenu par la communauté et les développeurs intéressés. L'infrastructure de la société Qt continue d'être utilisée pour le développement.

principal les innovations Qb 1.17 :

  • Ajout du support initial Qt 6.
  • Ajout du module capnp pour utiliser le protocole de sérialisation des données Cap'n Proto dans les applications C++.
  • Ajouté par possibilité de spécifier des variables de produit et de projet sur le côté droit des définitions de propriété moduleProvider (par exemple, "moduleProviders.mygenerator.chooseLettersFrom: project.beginning").
  • Ajout de la prise en charge des outils permettant de créer des projets C/C++ pour fonctionner sur du matériel sans système d'exploitation (bare-metal, avec le paramètre qbs.targetPlatform défini sur « none ») : KEIL (ARMCLANG, C166, C251), IAR (CR16, AVR32, M68K) et
    GCC (CR16, M68K, M32C, M32R, Super-H, V850, RISC-V, Xtensa).

  • Ajout de la prise en charge de l'environnement de développement Xcode 12.0 pour macOS.
  • Les modules Qt pour Android ont été nettoyés.
  • Prise en charge améliorée de la construction pour la plate-forme Android. Ajout d'une propriété packageType au module Android.sdk pour créer des packages « aab » (Android App Bundles) au lieu de « apk », ainsi qu'une propriété aaptName pour utiliser le nouveau aapt2 (Android Asset Packaging Tool). La prise en charge de la création d'applications Android pour les plates-formes ARMv5, MIPS et MIPS64 a été interrompue.

Source: opennet.ru

Ajouter un commentaire