Version de l'outil d'assemblage Qbs 1.16

Introduit libération des outils d'assemblage Qb 1.16. Il s'agit de la troisième version depuis que la société Qt a quitté le développement du projet, préparé par la communauté intéressée par la poursuite du 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 build de projet, ce qui vous permet de définir des règles de build assez flexibles pouvant connecter des modules externes, utiliser des fonctions JavaScript et créer des règles de build personnalisé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.16 :

  • La fusion des propriétés de liste dans des modules connectés par des dépendances mutuelles a été assurée, ce qui est important, par exemple, lors du traitement d'indicateurs tels que cpp.staticLibraries ;
  • Ajout de la détection automatique de GCC et IAR pour les microcontrôleurs Renesas ;
  • Ajout de la prise en charge de Xcode 11.4 sur macOS ;
  • Les capacités du module de support clang-cl ont été étendues ;
  • Détection automatique fournie de MSVC, clang-cl et MinGW dans les profils où l'emplacement de la boîte à outils n'est pas explicitement défini ;
  • Il a été simplifié pour activer et configurer les informations de débogage installées séparément (cpp.separateDebugInformation) via les sections Application et DynamicLibrary dans les paramètres du projet ;
  • Ajout de la prise en charge de Qt 5.14 pour Android et mise à jour de l'utilitaire qbs-setup-android ;
  • Ajout de la prise en charge des fichiers JSON générés par l'utilitaire moc (Qt >= 5.15) aux paramètres Qt.core.generateMetaTypesFile et Qt.core.metaTypesInstallDir ;
  • Ajout de la prise en charge du nouveau mécanisme de déclaration de type pour QML introduit dans Qt 5.15 ;
  • Ajout du paramètre ConanfileProbe pour simplifier l'intégration de Qbs avec le gestionnaire de packages Conan (pour C/C++).

Source: opennet.ru

Ajouter un commentaire