Qbs 1.20 released

The Qbs build tool version 1.20.1 is available together with a Visual Studio Code extension v1.0.5.

Qbs is a community-driven language-agnostic build automation system. It is fast and offers an easy-to-learn language based upon QML. 

What's new

About 127 contributions went into this release since version 1.19.0. We have
selected a few items below. Have a look into the complete 1.20.0 and 1.20.1 change logs if you are interested in more details.

General

  • We finished porting Qbs to Qt 6. Both CMake and Qbs builds now fully support building with Qt 6. The QtScript module, which is not shipped with Qt 6, has been updated to the recent dev branch and ported to C++17. When building with Qt 6, Qbs uses a bundled QtScript module added as a Git submodule. The  source tarballs do not include QtScript yet, but will in the future.
  • When invoking qbs build with a different set of properties compared to the previous invocation, Qbs prints the old set of properties.
  • We added a convenience command to qbs-config to add a profile in one go instead of setting properties separately. This dramatically improves Qt Creator's performance on startup when multiple Android Kits are present (QTCREATORBUG-25463).
  • The macOS Homebrew formula has been ported from qmake to CMake. We plan to deprecate the  qmake build at some point in the future.
  • We fixed incorrect handling of file updates on FreeBSD which happened due to low timer precision.

C/C++ Support

  • Added support for a bunch of COSMIC compilers: COLDFIRE (also known as M68K), HCS08, HCS12, STM8 and STM32.
  • Added support for the new Digital Mars toolchain (QBS-1636).
  • The new cpp.enableCxxLanguageMacro property was added for MSVC. It controls the /Zc:__cplusplus flag required for proper support of the new C++ standards (QBS-1655).
  • We now properly support the value "c++20" for cpp.cxxLanguageVersion with MSVC, resulting in the /std:c++latest flag (QBS-1656).
  • Fixed handling of the cpp.linkerWrapper property with MSVC (QBS-1653).
  • Fixed target linker flags on FreeBSD (QBS-1312).

Qt Support

  • We fixed support for QML tools that were moved to the /libexec directory in Qt 6.2 (QBS-1636).

Android Support

  • It is now possible to use dex compiler d8 instead of dx via the Android.sdk.dexCompilerName property.
  • We removed Ministro support, since the latest Qt version that supports it is Qt 5.7
  • Fixed linking with static STL (QBS-1654).
  • The default asset packaging tool was changed from aapt to aapt2, which was introduced in Build Tools in 26.0.2 and replaced aapt in gradle since version 3.0.0.
  • Stripping for release build has returned.

Try it


Qbs is available for download on the download page

Please report issues in our bug tracker.

Join our Discord server for live discussions.

You can use our mailing list for questions and discussions.

The documentation and wiki are also good places to get started.

Qbs is also available from a number of package repositories (Chocolatey, MacPorts, and Homebrew), and is updated on each release by the Qbs development team. It can also be installed through the native package management system on a number of Linux distributions. Please find a complete overview on repology.org.

Qbs 1.20.1 is also included in Qt Creator 5.0.1.

Contribute

If you are a happy user of Qbs, please tell others about it. But maybe you would like to contribute something. Everything that makes Qbs better is highly appreciated. Contributions may consist of reporting bugs or fixing them right away. But also new features are very welcome. Your patches will be automatically sanity-checked, built and verified on Linux, macOS and Windows by our CI bot.
Get started with instructions in the Qbs Wiki.
Thanks to everybody who made the 1.20 release happen:

  • Christian Kandeler
  • Denis Shienkov
  • Eike Ziller
  • Ivan Komissarov
  • Jan Blackquill
  • Mitch Curtis
  • Oswald Buddenhagen
  • Raphaël Cotty
  • Richard Weickelt

Blog Topics:

Comments