Developpez.com - Rubrique Qt

Le Club des Développeurs et IT Pro

Sortie de Qbs 1.9

L'outil de compilation se perfectionne avec la paramétrisation des dépendances et le multiplexage des produits

Le 2017-09-08 00:14:04, par dourouc05, Responsable Qt & Livres
ncez “cubes” avec votre plus bel accent anglais) est annoncé comme le prochain outil de compilation par défaut avec Qt, il devrait remplacer QMake à l’horizon de Qt 6. La différence majeure par rapport à QMake est la manière de décrire le projet : Qbs utilise QML, le même langage que Qt Quick. La version 1.9 vient de sortir et, selon ses développeurs, elle pose les bases nécessaires à une utilisation à plus grande échelle.
Une énorme amélioration apportée est la paramétrisation des dépendances, à l’aide des composants Depends et Parameter(s). Depends sert à indiquer les dépendances entre deux produits de compilation : l’un doit être compilé avant l’autre, puisqu’il sert lors de sa compilation. Principalement, un exécutable principal dépend d’une ou plusieurs bibliothèques. Cependant, les dépendances peuvent être nettement plus générales : il faut donc un moyen de les contrôler, mais pas uniquement du côté de la dépendance. Les paramètres servent justement à cela : contrôler la compilation d’un produit depuis le produit qui en a besoin. Par exemple, sous macOS, si le produit A dépend de la bibliothèque partagée C sous la forme d’un paquet (A n’utilise pas directement C) et le produit B dépend également de C, mais en tant que liaison dynamique, A et B doivent pouvoir exprimer leurs besoins différents.
Parmi les grandes nouveautés, le multiplexage des produits est largement généralisé par rapport à l’implémentation précédente. Il était déjà utilisé pour créer des paquets Android pour plusieurs architectures. Cependant, il fallait suivre une architecture du projet assez rigide, ce qui posait notamment problème à Qt Creator. La nouvelle version effectue le multiplexage non sur des profils de compilation, mais bien des propriétés quelconques.
Qbs 1.9 simplifie également le déploiement d’applications pour macOS, avec la possibilité de créer des images disques (fichiers DMG) avec une apparence personnalisée. Les difficultés étaient nombreuses, étant donné que le format DMG n’est que partiellement documenté ; certaines parties datent de Mac OS Classic.
Télécharger Qbs 1.9. Qbs 1.9 est intégré à Qt Creator 4.4.
Plus de détails : Qbs 1.9 released.
  Discussion forum
1 commentaire
  • air-dex
    Membre expert
    J'ai eu l'occasion de tester la bête. Qbs est puissant (en même temps avec QML derrière ce n'est pas très compliqué non plus), Qbs est prometteur, mais il reste encore à mon avis beaucoup de travail à faire dessus. Qbs veut remplacer qmake, mais les toolchains Qt ont besoin dudit qmake. C'est louche et autant garder qmake alors.

    Qbs est également sous-documenté et il y a peu de tutoriels sur lui, notamment sur des choses avancées comme l'extension de Qbs (via des composants Qbs perso par exemple). Perso j'ai déjà tâté le terrain avec un petit projet personnel (génération de documentation Doxygen via Qbs), et j'ai pu me rendre compte qu'il y avait encore beaucoup de choses à faire sur ce point.

    Il faudra également que la Qt Company porte tous les petits exemples de base de Qt sous Qbs, ce qui représente là aussi un peu de travail.