Assembly Tools QBS 2.0 Issue

The QT Company has presented assembly tools QBS 2.0 for organizing the assembly of any projects. Although QBS requires QT as one of its dependencies, it uses a simplified version of the QML language to determine project assembly scenarios which allows for creating external modules and arbitrary assembly rules.

The language of scripts used in QBS is designed to optimize the assembly process based on a detailed analysis of all dependencies, without the need for intermediaries such as the MAKE utility. For large projects, re-assembly performance using QBS is faster than MAKE, and the re-completion process is almost instantaneous.

Previously, the QT Company decided to stop the development of QBS in 2018, with CMAKE chosen as the main assembly system for QT in the long run. However, the development of QBS continued as an independent community project using QT Company infrastructure.

The new version of QBS incorporates a significant change associated with the implementation of a new JavaScript base, replacing QTScript with QuickJS. QuickJS is a self-sufficient and compact JavaScript engine, created by Fabrice Bellard, that supports the ES2019 specification and noticeably increases performance compared to existing engines.

The transition to a new engine is not expected to lead to significant changes in the development of assembly scenarios, but more stringent requirements may uncover problems in existing projects that were unseen using QTScript.

/Reports, release notes, official announcements.