Build-System Qbs 1.21 führt neuen Provider für qbspkgconfic ein

Mit dem Update des Build-Systems der Qt Company führt die Community unter anderem die Möglichkeit ein, Provider vorab zu definieren und Module zu priorisieren.

In Pocket speichern vorlesen Druckansicht

(Bild: Artur Szczybylo/Shutterstock.com)

Lesezeit: 2 Min.

Die Qt Company hat Version 1.21 des Build-Systems Qbs veröffentlicht. Die Community hat offenbar über 100 Beiträge seit dem letzten Release verarbeitet, darunter ein neues Property für Modul Provider sowie Support für C++23.

Die Community führt mit qbsModulProviders ein neues Property für Element Product und Project ein, das es erlaubt, zu definieren, welcher Provider ausgeführt werden soll. Bisher suchte Qbs bei einem fehlenden Modul nach einem Provider, der dieses Modul anhand des Modulnamens erzeugen konnte. Fehlte beispielsweise "Qt.core", suchte das Build-System schrittweise nach Providern mit den Namen "Qt.core" oder "Qt" – solange bis es fündig geworden ist.

Dieser Prozess schränkte offenbar die Möglichkeiten zur Verwendung von Providern ein – es war laut Blogbeitrag nicht möglich, mehr als einen Provider für ein bestimmtes Framework wie Qt oder Boost zu nutzen. Neben der Option zum Festlegen, welchen Provider Qbs verwenden soll, ist es mit dem Update möglich, Module zu priorisieren, die von verschiedenen Providern generiert wurden.

Qbs erhält mit dem Update einen neuen Provider für qbspkgconfic, der eine interne C++-Bibliothek zum Lesen von .pc-Dateien verwendet. Der ursprünglich gewählte "Fallback"-Provider, der auf dem pkg-config-Tool basierte, sorgte offenbar für Probleme. Er kam zum Einsatz, wenn ein gesuchtes Modul von keinem anderen Anbieter erzeugt wurde. Offenbar versuchte er, auch für Nicht-C++-Projekte ein Modul mit pkg-config zu generieren und unterstützte keine Pakete mit Sonderzeichen im Namen.

Der neue Provider ermöglicht Qbs Zugriff auf die Informationen über Abhängigkeiten zwischen pkg-config-Paketen (die über das CLI nicht verfügbar sind) und kann Module mit entsprechenden Abhängigkeiten erzeugen. Darüber hinaus soll er merklich schneller arbeiten, da Forking für den pkg-config-Prozess vermieden wird.

Das Update bringt darüber hinaus Unterstützung für C++23. Nähere Informationen zu Qbs 1.21 finden sich im Beitrag auf dem offiziellen Qt-Blog. Das Build-System ist auf der Download-Seite von Qt verfügbar, und der Sourcecode des Projekts findet sich auf GitHub.

(mdo)