Le système de compilation Qbs pour Qt est abandonné
Qt 6 utilisera le système CMake, "étonnamment" simple à utiliser

Le , par dourouc05, Responsable Qt & Livres
Qt a eu une histoire trouble avec les systèmes de compilation, surtout pour des raisons historiques. Cela a fait que le système principal, pour le moment, est qmake, un outil ad hoc développé depuis les premiers jours de Qt, dont le principal défaut est d’être très spécifique à Qt (avec une syntaxe propriétaire) et donc pas facilement intégrable à tous les environnements (de développement, d’intégration continue, etc., surtout dans un contexte de compilation croisée). Il est possible depuis longtemps d’utiliser CMake (surtout depuis Qt 5), mais ce dernier n’est pas aussi bien géré par Qt Creator, par exemple. Pour Qt 6, les développeurs parlaient déjà depuis longtemps d’une nouvelle génération de système de compilation.

C’est pourquoi les développeurs de Qt travaillent depuis un certain temps sur Qbs, un système qui aurait pu remplacer qmake à terme, en exploitant la syntaxe QML (déjà à l’œuvre dans Qt Quick). Cependant, sa dernière version est planifiée pour avril 2019, avec un support jusque fin de l’année 2019. Les raisons derrière ce choix sont que Qbs apporte relativement peu de choses par rapport à CMake, mais qu’il faut le maintenir — un investissement conséquent qui ne se justifie donc pas. De plus, Qbs n’aide en rien à agrandir l’écosystème de Qt : d’une certaine manière, il le dilue plutôt, vu que bon nombre d’outils externes comprennent déjà les projets CMake.

La décision a été récemment annoncée. Qt Creator continuera à comprendre les projets Qbs, au moins jusqu’en 2019. Les développeurs travaillant sur Qbs auront donc plus de temps pour travailler sur d’autres outils, comme Qt Creator. Ce choix est aussi motivé par le fait que CMake est “étonnamment” efficace, au vu de la facilité à implémenter des besoins compliqués, en assez peu de temps. De plus, il apporte une cohérence supplémentaire entre Qt et KDE.

Le travail pour porter Qt Base (les principaux modules de Qt) vers CMake a déjà commencé. Peu de choses sont achevées, mais on dispose d’ores et déjà de scripts pour porter facilement les fichiers de projet qmake vers CMake, par exemple.

Sources : Deprecation of Qbs, [Development] Build system for Qt 6, [Development] wip/cmake status information.


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de archqt archqt - Membre averti https://www.developpez.com
le 09/11/2018 à 15:37
Vu le temps que ce système mettait à sortir, par contre dommage la syntaxe QML est assez lisible je trouve. Ensuite y a t il des gestionnaires de compilation qui utilisent des langages comme le python/javascript ? je trouve cela plus lisible que des fichiers de configuration ou du code bash
Avatar de LittleWhite LittleWhite - Responsable 2D/3D/Jeux https://www.developpez.com
le 09/11/2018 à 18:42
Bonjour,

Pour répondre à archqt, scons utilise le Python.

 
Responsable bénévole de la rubrique Qt : Thibaut Cuvelier -