Qbs 1.14.0 released
October 18, 2019 by Richard Weickelt | Comments
We are happy to announce version 1.14.0 of the Qbs build tool. This is the first version released by the Qbs community and it is mostly a maintenance release.
Qbs is a build automation tool designed for flexibility, speed and multi-platform development. It is particularly appreciated for its clean concept and easy-to-learn language. This can significantly reduce the effort an engineer has to spend on build automation, saving costs and time to market.
This is how simple and self-explaining a Qt Application project can look with Qbs:
CppApplication {
name: "HelloWorld-Qt"
Depends { name: "Qt.core" }
files: "main.cpp"
}
What's new
Below listed are the highlights. Have a look into the complete changelog.
C/C++ Support
- Visual Studio 2019 as well as clang-cl are now supported.
- Support for the embedded toolchains IAR, KEIL and SDCC has been added. This makes Qbs a compelling solution for projects targeting multiple bare-metal platforms. Try out the example projects. A big thanks to Denis Shienkov for making that happen.
Infrastructure
- Configuration files for Travis CI and build scripts have been added. This allows us to build and test every patch set on gerrit and provide instant feedback to contributors. Have a look at the build-qbs-with-qbs.sh shell script to see how to build and test Qbs properly.
- The Debian Docker image has been entirely redesigned to become a handy throw-away build and test environment. It now respects file permissions on the host when mounting the project directory and thanks to
docker-compose
, running the Docker image on command line becomes a no-brainer.
Try it
Qbs is available for download on the download page. Please post issues in our bug tracker. You can also find us on IRC in #qbs on chat.freenode.net, and on the mailing list. The documentation and wiki are also good places to get started.
Qbs is also available on a number of packaging systems (Chocolatey, MacPorts, Homebrew) and 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 including but not limited to Debian, Ubuntu, Fedora, and Arch Linux.
Qbs 1.14.0 is also included in Qt Creator 4.10.1, which was released only recently. Qt Creator 4.10.0 included an unreleased version of Qbs.
If you are a happy user of Qbs, don't forget to tell others about it.
Contribute
After the Qt Company has largely withdrawn from the further development, Qbs is maintained and developed within the Qt Project. We are a small community and therefore need your help. This can 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.
What's next
Since we are only few active developers, mostly devoting our spare time, we cannot keep up with the rate of new features that you have seen in the past. However, we are aiming for more future releases. The 1.15.0 release of Qbs is expected together with Qt Creator 4.11.
Blog Topics:
Comments
Subscribe to our newsletter
Subscribe Newsletter
Try Qt 6.8 Now!
Download the latest release here: www.qt.io/download.
Qt 6.8 release focuses on technology trends like spatial computing & XR, complex data visualization in 2D & 3D, and ARM-based development for desktop.
We're Hiring
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
> Qbs 1.14.0 released
GREAT!
> It is particularly appreciated for its clean concept
Yes!
Thanks for the new release :) I am happy that Qbs lives on, even with smaller steps.
A question I need to ask: Will Qbs be ever be ported away from Qt-Script to QQmlEngine or QJsEngine? (yes, some people want a Qbs version completely without Qt but I dont think that this will be possible with such low developer ressources)
I tried to start a port but at that time (about a year ago) the QQmlEngine just crashed if a not defined constructor was called.
Thanks for using Qbs.
Will Qbs be ever be ported away from Qt-Script to QQmlEngine or QJsEngine
Please refer to https://bugreports.qt.io/br.... Right now I don't see that happen. Qbs is prepared to build and bake QtScript into libqbscore if the Qt project pulls the plug in Qt6. But that would still mean a lot of work to port QtScript over to Qt6.
(yes, some people want a Qbs version completely without Qt but I dont think that this will be possible with such low developer ressources)
I think you are right. This was the goal when Qbs was supposed to become Qt's next build system. There was the expectation that Qbs can be bootstrapped without a prebuilt Qt. It looks like this attempt was aborted and left the Qbs codebase in a mixed state.
I tried to start a port but at that time (about a year ago) the QQmlEngine just crashed if a not defined constructor was called.
That would be also my preferred option. I haven't looked into that part of the codebase very much and don't know what the blockers are. If you could evaluate which functionality is missing in QML, I think that would be a great step forward. The Qt6 API is being shaped right now, so during the next 6 months or so would be the perfect time to look into this topic and to contribute missing functionality to QML.