The new version of Qbs 1.9 release has been announced for general availability. The build tool comes with some new features and enhancements as well as bug fixes.
Qbs is a build tool billed to replace qmake as the official build tool for Qt Creator when developing Qt based Application software or app is a program or group of programs designed to run on computing devices which perform a group of functions, tasks, or activities for the end-user. These programs usually consist of system software and application software. System software interacts with computers at a basic level performing low-level. Application software resides above system software directly interacting with the... More. It is said that it provides much faster build times while reducing build engineering complexity and decreasing time to market.
What’s new About the Qbs 1.9 Release?
Qbs 1.9 release comes with dependency parameterization. This basically means that Depends items can now be parameterized. This allows the developer to set special module parameters for one particular product dependency. This new feature introduces the item type as Parameter which is designed to be used to declare parameters in a module. There is another item type called Parameters (in plural) used to allow products to set default values for parameters in export items.
These help to create and manage dependencies between two or more products. This allows dependencies to be injected as inputs to the rules.
Qbs allows abstraction of the dependency concepts where the relationship between the two products can be defined in ways not possible before where it was only the dependency product that could define it and not the dependent.
This works in a different context than using libraries where the products may have different or unique requirements.
Also included in Qbs 1.9 release as a new feature is the product multiplexing. It replaces the previously implemented profile multiplexing functionality in order to support multi-architecture Android APKs.
The new one supports a wider scope of use cases. Its primary functions are to allow the creation of multi-architecture Android APKs, the creation of multi-architecture binaries and multi-variant frameworks. The latter is where a single framework can contain both a release and debug build of a library especially on Apple platforms. It also supports the easy extension of the multiplexing to more areas using QML and not the core build engine.
This release introduces the ability to build macOS disk images with custom backgrounds and icon layouts. The custom background and icon layout relies on several undocumented proprietary file formats. This makes it difficult to build the dmg correctly. Most custom tools use complicated hacks to deal with this issue.
It is also available when you download Qt Creator 4.4.x which was released on the same day. It is also available with Chocolatey, MacPorts, and Homebrew packaging systems. Linux distributions such as Debian, Ubuntu, and Arch Linux among others also provide it under their respective native package management systems.