Qbs 1.11 released
March 28, 2018 by Christian Kandeler | Comments
We are happy to announce version 1.11.0 of the Qbs build tool.
The long-existing list properties qbs.targetOS and qbs.toolchain have been complemented by their scalar counterparts qbs.targetPlatform and qbs.toolchainType, respectively. The new properties make it easier to specify the target platform on the command line and in profiles, while you should still use the existing ones in your project files for purposes such as conditional compilation.
Modules can now declare their own target artifacts using the new filesAreTargets property of the Group item. The next version of Qbs will add the ability to auto-generate such modules from your products. These modules can then be distributed along with the binaries so that other Qbs projects can make use of them by simply declaring a dependency on the module.
In addition to TextFile, we now also have BinaryFile for reading and writing binary files.
We have added the property cpp.rpathOrigin, which evaluates to
@loader_path on Darwin and
$ORIGIN on other Unix-like platforms.
You can now specify flags to be passed to the compiler frontend only when linking via the cpp.driverLinkerFlags property.
"c++17" is now properly supported for cpp.cxxLanguageVersion, emitting the
/std:c++17 flag when using an MSVC compiler that supports it.
The auto-detection mechanism for GCC-like compilers now considers typical MinGW prefixes, that is, file names such as
i686-w64-mingw32-gcc are picked up from the search path.
The syntax for specifying configuration names has always been rather confusing, which is why they are now passed using the new
config key. For instance, to build your project for two independent configurations called
release, you now write:
$ qbs config:debug config:release
As a result, all command-line parameters are now either options, option arguments or key-value pairs.
We have also dropped the requirement that property assignments have to appear after all options. This comes in particularly handy when amending earlier inputs using the shell history.
The item and module references were re-designed, resulting in much-improved readability.
Furthermore, we have added a how-to on the topic of pre-compiled headers, and provided missing documentation for our XML support and the Utilities functions.
Other New Features
The "run" functionality as used by the command of the same name now considers an executable's library dependencies, that is, it adds the paths they are located in to the respective environment variable (PATH on Windows, DYLD_LIBRARY_PATH/DYLD_FRAMEWORK_PATH on macOS and LD_LIBRARY_PATH on other Unix-like systems). This also works when running from Qt Creator.
The Open Source version is available on the download page, and you can find commercially licensed packages on the Qt Account Portal. 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.11.0 is also included in Qt Creator 4.6.0, which was released this week as well.
Subscribe to our newsletter
Try Qt 6.4 Now!
Download the latest release here: www.qt.io/download.
Qt 6 is the productivity platform for the future, with next-gen 2D & 3D UX and limitless scalability.
Explore Qt World
Check our Qt demos and case studies in the virtual Qt World
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
Näytä tämä julkaisu Instagramissa.
Want to build something for tomorrow, join #QtPeople today! We have loads of cool jobs you don't want to miss! http://qt.io/careers #builtwithQt #software #developers #coding #framework #tool #tooling #C++ #QML #engineers #sales #tech #technology #UI #UX #CX #Qt #Qtdev #global #openpositions #careers #job
Henkilön Qt (@theqtcompany) jakama julkaisu