La prochaine génération de systèmes de compilation pour Qt s'avance
Sortie de Qbs 1.11 avec une syntaxe retravaillée

Le , par dourouc05, Responsable Qt
Qbs est le futur du système de compilation de Qt. Il utilise le langage QML pour décrire la compilation complète d’un projet, au lieu d’une syntaxe ad-hoc, comme c’est souvent le cas (par exemple avec qmake).

Cette nouvelle version continue d’améliorer la syntaxe de description des projets. Par exemple, les propriétés qbs.targetOS et qbs.toolchain sont maintenant dédoublées avec qbs.targetPlatform et qbs.toolchainType : l’idée est que les nouvelles propriétés sont utilisées exclusivement en écriture (depuis la ligne de commande ou un fichier Qbs), tandis que les anciennes sont utilisées pour des comparaisons. Ainsi, au lieu d’écrire du code comme
qbs.targetPlatform === "macos" || qbs.targetPlatform === "ios" || qbs.targetPlatform === "tvos" || qbs.targetPlatform === "watchos", on pourra se limiter à
qbs.targetOS.contains("darwin"

Les modules peuvent maintenant définir leurs propres artefacts de compilation avec la propriété filesAreTargets de l’item Group. La prochaine version de Qbs devrait ajouter la possibilité de générer automatiquement ces groupes depuis des produits.

La nouvelle propriété cpp.rpathOrigin correspond à @loader_path pour macOS et à $ORIGIN pour les systèmes Unix. Des drapeaux peuvent être passés lors de l’édition des liens par cpp.driverLinkerFlags. La valeur c++17 est parfaitement gérée pour cpp.cxxLanguageVersion, en émettant le paramètre correspondant selon le compilateur.

La syntaxe pour le passage des noms de configuration en ligne de commande a été revue pour être moins confuse. Ils utilisent maintenant la clé config. Ainsi, pour compiler un projet pour les configurations debug et release, on peut utiliser la ligne de commande qbs config:debug config:release.

Télécharger Qbs 1.11.

Source : Qbs 1.11 released.


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


 Poster une réponse

Avatar de stef-13013 stef-13013 - Membre habitué https://www.developpez.com
le 11/04/2018 à 9:13
Je bosse régulièrement avec Qt (appli Desktop osx/windows)

Quand un projet prend de l'importance en taille, il est vrai que qmake (qui fait quand même du bon boulot) montre des limites.

Sachant qu'aujourd'hui CMake est petit-à-petit devenu un standard (même VS l'accepte pour dire ) n'est-il pas un peu "risqué" de se lancer dans un nouveau "build tool" ?
(Déjà qmake à l'époque avait du mal à s'imposer)

Ok, cmake peut se révéler parfois un peu aride, ok Qbs est mieux adapté à l'environnement Qt, mais bon ...

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