Unpacking Software Livestream

Join our monthly Unpacking Software livestream to hear about the latest news, chat and opinion on packaging, software deployment and lifecycle management!

Learn More

Chocolatey Product Spotlight

Join the Chocolatey Team on our regular monthly stream where we put a spotlight on the most recent Chocolatey product releases. You'll have a chance to have your questions answered in a live Ask Me Anything format.

Learn More

Chocolatey Coding Livestream

Join us for the Chocolatey Coding Livestream, where members of our team dive into the heart of open source development by coding live on various Chocolatey projects. Tune in to witness real-time coding, ask questions, and gain insights into the world of package management. Don't miss this opportunity to engage with our team and contribute to the future of Chocolatey!

Learn More

Calling All Chocolatiers! Whipping Up Windows Automation with Chocolatey Central Management

Webinar from
Wednesday, 17 January 2024

We are delighted to announce the release of Chocolatey Central Management v0.12.0, featuring seamless Deployment Plan creation, time-saving duplications, insightful Group Details, an upgraded Dashboard, bug fixes, user interface polishing, and refined documentation. As an added bonus we'll have members of our Solutions Engineering team on-hand to dive into some interesting ways you can leverage the new features available!

Watch On-Demand
Chocolatey Community Coffee Break

Join the Chocolatey Team as we discuss all things Community, what we do, how you can get involved and answer your Chocolatey questions.

Watch The Replays
Chocolatey and Intune Overview

Webinar Replay from
Wednesday, 30 March 2022

At Chocolatey Software we strive for simple, and teaching others. Let us teach you just how simple it could be to keep your 3rd party applications updated across your devices, all with Intune!

Watch On-Demand
Chocolatey For Business. In Azure. In One Click.

Livestream from
Thursday, 9 June 2022

Join James and Josh to show you how you can get the Chocolatey For Business recommended infrastructure and workflow, created, in Azure, in around 20 minutes.

Watch On-Demand
The Future of Chocolatey CLI

Livestream from
Thursday, 04 August 2022

Join Paul and Gary to hear more about the plans for the Chocolatey CLI in the not so distant future. We'll talk about some cool new features, long term asks from Customers and Community and how you can get involved!

Watch On-Demand
Hacktoberfest Tuesdays 2022

Livestreams from
October 2022

For Hacktoberfest, Chocolatey ran a livestream every Tuesday! Re-watch Cory, James, Gary, and Rain as they share knowledge on how to contribute to open-source projects such as Chocolatey CLI.

Watch On-Demand

Downloads:

38,607

Downloads of v 2.5.0:

35

Last Update:

05 Dec 2024

Package Maintainer(s):

Software Author(s):

  • Qt Project

Tags:

qbs qt build

Qbs

  • 1
  • 2
  • 3

2.5.0 | Updated: 05 Dec 2024

Downloads:

38,607

Downloads of v 2.5.0:

35

Maintainer(s):

Software Author(s):

  • Qt Project

Tags:

qbs qt build

Qbs 2.5.0

Legal Disclaimer: Neither this package nor Chocolatey Software, Inc. are affiliated with or endorsed by Qt Project. The inclusion of Qt Project trademark(s), if any, upon this webpage is solely to identify Qt Project goods or services and not for commercial purposes.

  • 1
  • 2
  • 3

All Checks are Passing

3 Passing Tests


Validation Testing Passed


Verification Testing Passed

Details

Scan Testing Successful:

No detections found in any package files

Details
Learn More

Deployment Method: Individual Install, Upgrade, & Uninstall

To install Qbs, run the following command from the command line or from PowerShell:

>

To upgrade Qbs, run the following command from the command line or from PowerShell:

>

To uninstall Qbs, run the following command from the command line or from PowerShell:

>

Deployment Method:

NOTE

This applies to both open source and commercial editions of Chocolatey.

1. Enter Your Internal Repository Url

(this should look similar to https://community.chocolatey.org/api/v2/)


2. Setup Your Environment

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

2. Get the package into your environment

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://community.chocolatey.org/api/v2/. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Copy Your Script

choco upgrade qbs -y --source="'INTERNAL REPO URL'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:


choco upgrade qbs -y --source="'INTERNAL REPO URL'" 
$exitCode = $LASTEXITCODE

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0
}

Exit $exitCode

- name: Install qbs
  win_chocolatey:
    name: qbs
    version: '2.5.0'
    source: INTERNAL REPO URL
    state: present

See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.


chocolatey_package 'qbs' do
  action    :install
  source   'INTERNAL REPO URL'
  version  '2.5.0'
end

See docs at https://docs.chef.io/resource_chocolatey_package.html.


cChocoPackageInstaller qbs
{
    Name     = "qbs"
    Version  = "2.5.0"
    Source   = "INTERNAL REPO URL"
}

Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.


package { 'qbs':
  ensure   => '2.5.0',
  provider => 'chocolatey',
  source   => 'INTERNAL REPO URL',
}

Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.


4. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

NOTE

Private CDN cached downloads available for licensed customers. Never experience 404 breakages again! Learn more...

Package Approved

This package was approved as a trusted package on 05 Dec 2024.

Description

Qbs is a tool that helps simplify the build process for developing projects across multiple platforms.


tools\chocolateyinstall.ps1
$qbsVersion = '2.5.0'

$ErrorActionPreference = 'Stop'

$qbsBaseUrl = "https://download.qt.io/official_releases/qbs/$qbsVersion"
$checksumType = 'md5'
$checksums = @{}
ForEach ($line in (New-Object Net.WebClient).DownloadString("$qbsBaseUrl/${checksumType}sums.txt").Split(`
        "`n", [System.StringSplitOptions]::RemoveEmptyEntries)) {
    $items = $line.Split(" ", [System.StringSplitOptions]::RemoveEmptyEntries)
    $checksums.Add($items[1], $items[0])
}

$qbs64 = "qbs-windows-x86_64-$qbsVersion.zip"

Install-ChocolateyZipPackage `
    -PackageName 'qbs' `
    -UnzipLocation "$(Split-Path -parent $MyInvocation.MyCommand.Definition)" `
    -Url64bit "$qbsBaseUrl/$qbs64" `
    -Checksum64 $checksums[$qbs64] `
    -ChecksumType64 $checksumType

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Add to Builder Version Downloads Last Updated Status
Qbs 2.4.2 20 Monday, December 2, 2024 Approved
Qbs 2.4.1 636 Saturday, August 10, 2024 Approved
Qbs 2.4.0 77 Monday, July 29, 2024 Approved
Qbs 2.3.1 964 Friday, May 17, 2024 Approved
Qbs 2.3.0 37 Monday, May 6, 2024 Approved
Qbs 2.2.2 807 Wednesday, February 7, 2024 Approved
Qbs 2.2.1 3566 Sunday, December 17, 2023 Approved
Qbs 2.1.2 168 Wednesday, October 18, 2023 Approved
Qbs 2.1.1 138 Monday, August 21, 2023 Approved
Qbs 2.1.0 193 Friday, July 28, 2023 Approved
Qbs 2.0.2 633 Sunday, June 25, 2023 Approved
Qbs 2.0.1 142 Monday, May 15, 2023 Approved
Qbs 2.0.0 78 Wednesday, May 10, 2023 Approved
Qbs 1.23.1 2117 Saturday, August 20, 2022 Approved
Qbs 1.21.0 3269 Friday, January 7, 2022 Approved
Qbs 1.20.1 762 Thursday, October 7, 2021 Approved
Qbs 1.20.0 185 Friday, September 17, 2021 Approved
Qbs 1.19.2 731 Monday, July 26, 2021 Approved
Qbs 1.19.1 178 Thursday, June 17, 2021 Approved
Qbs 1.19.0 229 Tuesday, May 11, 2021 Approved
Qbs 1.18.2 134 Tuesday, May 4, 2021 Approved
Qbs 1.18.0 529 Wednesday, December 23, 2020 Approved
Qbs 1.17.0 1001 Wednesday, September 2, 2020 Approved
Qbs 1.16.0 665 Tuesday, May 5, 2020 Approved
Qbs 1.15.0 551 Wednesday, December 18, 2019 Approved
Qbs 1.14.1 324 Monday, November 11, 2019 Approved
Qbs 1.14.0 277 Friday, October 11, 2019 Approved
Qbs 1.13.1 1032 Wednesday, May 29, 2019 Approved
Qbs 1.13.0 286 Thursday, May 2, 2019 Approved
Qbs 1.12.1 958 Friday, September 21, 2018 Approved
Qbs 1.12.0 601 Thursday, July 19, 2018 Approved
Qbs 1.11.1 679 Friday, May 4, 2018 Approved
Qbs 1.11.0 2148 Wednesday, March 28, 2018 Approved
Qbs 1.10.1 1113 Thursday, February 15, 2018 Approved
Qbs 1.10.0 462 Friday, December 8, 2017 Approved
Qbs 1.9.1 1401 Thursday, October 5, 2017 Approved
Qbs 1.9.0 512 Wednesday, September 6, 2017 Approved
Qbs 1.8.1 410 Wednesday, July 5, 2017 Approved
Qbs 1.8.0 791 Tuesday, May 30, 2017 Approved
Qbs 1.7.2 3353 Thursday, April 27, 2017 Approved
Qbs 1.7.1 1251 Thursday, January 26, 2017 Approved
Qbs 1.7.0 625 Thursday, December 15, 2016 Approved
Qbs 1.6.1 571 Wednesday, November 9, 2016 Approved
Qbs 1.6.0 500 Friday, August 26, 2016 Approved
Qbs 1.5.2 429 Thursday, July 7, 2016 Approved
Qbs 1.5.1 454 Monday, June 13, 2016 Approved
Qt build suite 1.5.0 457 Thursday, May 12, 2016 Approved
Qt build suite 1.4.5 449 Thursday, March 17, 2016 Approved
Qt build suite 1.4.4 405 Tuesday, December 15, 2015 Approved
Qt build suite 1.4.3 398 Tuesday, October 27, 2015 Approved
Qt build suite 1.4.2 401 Monday, August 24, 2015 Approved
Qt build suite 1.4.1 445 Friday, July 10, 2015 Approved

qbs 2.5.0

Language

  • Product items can now contain Scanner items.
  • Group items can now contain other items, namely Depends, FileTagger, Rule, and Scanner.
  • Group items can now act like Properties items. Top-level properties can be set
    via the product and module prefixes, respectively.
  • The conditions of Properties items can now overlap, allowing more than one such item
    to contribute to the value of list properties.
  • The "else case" semantics for Properties items is now deprecated. Instead, Properties items
    can be marked as containing fallback values by giving them a condition with the special value
    undefined.
  • The conditions of Properties items now default to true.
  • Introduced the special module variable for Module items, which acts like product
    in Product items.
  • Resolving values of path properties in Export items relative to the exporting product's location
    is now deprecated.

C/C++ Support

  • Added support for C++20 modules.

Android support

  • Added new properties Android.sdk.d8Desugaring and Android.sdk.extraResourcePackages.

Qt Support

  • Added new property Qt.core.translationsPath.
  • Adapted to changes in framework releases (QBS-1816).

Other

  • Added experimental WebAssembly support via emscripten.
  • The freedesktop module now supports localization and deployment of more than one icon.
  • The JSON API now supports renaming files.

Contributors

  • Aaron McCarthy
  • Christian Kandeler
  • Danya Patrushev
  • Ivan Komissarov
  • Leon Buckel
  • Roman Telezhynskyi

qbs 2.4.2

General

  • Fixed possible crash when exiting Qbs Session (QBS-1803).
  • Fixed possible "undefined" value passed to the filterFunction in ProcessCommandExecutor.

JSON API

  • Undefined module properties are omitted now.

Docker

  • Linux images now contain GNU Debugger.

CI

  • CI now collects and prints coredumps on Mac and Linux on test failure.

Contributors

  • Christian Kandeler
  • Ivan Komissarov

qbs 2.4.1

General

  • Fix LibraryProbe to take into account libraries both with and without the "lib" prefix. This
    fixes the Conan provider for MinGW.
  • Conan module provider no longer sets platform to "none" for baremetal toolchains (QBS-1795).

CI

  • CI now covers Conan tests for all platforms. Conan is also included in Linux images now.
  • GDB is now included in Linux images.

Contributors

  • Christian Kandeler
  • Ivan Komissarov
    qbs 2.4.0

General

  • Added a Conan module provider (QBS-1665).
  • Added a flatbuffers module (QBS-1666).
  • Rules trying to create artifacts outside the build directory is now a hard error (QBS-1268).
  • More details are now printed when a command times out (QBS-1750).
  • Updated the bundled quickjs library.

Language

  • The pkg-config based fallback provider was removed.
  • It is no longer allowed to attach a QML id to a module item.

Apple support

  • Fixed symlinks for multi-arch binaries on Apple platforms (QBS-1797).

C/C++ Support

  • Added new cpp.importPrivateLibraries property that controls whether to automatically import
    external libraries from dependencies.

Documentation

  • Added more tutorials.

Contributors

  • Christian Kandeler
  • Ivan Komissarov
  • Kai Dohmen
  • Raphael Cotty

qbs 2.3.1

Language

  • Fixed look-up of qbs properties in module providers via probes (QBS-1742).

Apple support

  • Fixed codesign module when multiplexing over build variants (QBS-1775).

Qt support

  • Fixed retrieving minimum macOS/iOS versions for Qt 6.7.1.

CI

  • Fixed release jobs.
  • Fixed macOS 14.2 job.
  • Updated GitHub actions to recent versions to avoid warnings.

Contributors

  • Christian Kandeler
  • Ivan Komissarov

qbs 2.3.0

General

  • Added an LSP language server that provides support for following symbols and completion
    in IDEs (QBS-395).
  • Module properties are now directly available within groups in modules (QBS-1770).
  • Added possibility to export products to CMake via the new Exporter.cmake module.
  • Deprecated the pkgconfig-based fallback module provider.
  • If a project needs to be re-resolved, we now print the reason.
  • Added some tutorials.
  • Wildards handling was rewritten to track changes more accurate.
  • Module 'validate' scripts are no longer run for erroneous product in IDE mode.
  • Add example how to use Exporters.

C/C++ Support

  • Private dependencies of products are not traversed more than once anymore (QBS-1714).

Language

  • Module properties are now accessible for groups in modules (QBS-1770).
  • Fixed pathList properties in Probes (QBS-1785).
  • The qbspkgconfig.mergeDependencies property was removed.
  • ModuleProviders now support the 'allowedValues' property of the PropertyOptions item
    (QBS-1748).

Apple

  • Adapted darwin support to Xcode 15.3.

CI

  • Changed Linux Docker images from Focal to Jammy.
  • Updated compilers and linters to recent versions.
  • Added clang-format job to check code style.
  • The project.withExamples property was removed.

Contributors

  • Christian Kandeler
  • Dmitrii Meshkov
  • Ivan Komissarov
  • Raphael Cotty
  • Richard Weickelt

qbs 2.2.2

General

  • Fixed name collision check for multi-part modules (QBS-1772).
  • Fixed potential assertion when attaching properties on non-present modules (QBS-1776).

C/C++

  • Fixed handling assember flags with MSVC (QBS-1774).

Qt

  • Fixed the qbspkgconfig Qt provider for the case when there is no Qt (QBS-1777).

Other

  • Make protobuf usable without qbspkgconfig again (QBS-1663).
  • Add support for the definePrefix option to qbspkgconfig.

Contributors

  • Björn Schäpers
  • Christian Kandeler
  • Ivan Komissarov

qbs 2.2.1

Language

  • Fixed JavaScript Date() constructor on Windows (QBS-1768).

C/C++ support

  • Worked around crash in cl.exe when retrieving built-in defines (QBS-1743).

CI

  • Fixed building release packages.

Contributors

  • Christian Kandeler
  • Ivan Komissarov

qbs 2.2.0

General

  • Improved speed of project resolving by employing multiple CPU cores, if available.
  • Improved speed of probes execution on macOS.
  • Object and array (var and varList) properties are now immutable in Probe items.

Language

  • Modules can now contain Parameters items.
  • ModuleProviders can now contain PropertyOptions items.

C/C++ support

  • Allow "mold" as value for cpp.linkerVariant.
  • The systemIncludePaths property is now handled correctly for clang-cl.

Apple support

  • Updated dmgbuild tool. This fixes bug that additional licenses are not shown in
    the combobox in the resulting DMG image.

Qt support

  • Only create qbs modules for those Qt modules that products actually need.
  • Users can now opt out of using RPATH when linking on Linux.

Other

  • Protobuf module now requires pkg-config or built-in runtime.
  • Protobuf module now requires C++17 on all platforms.
  • Capnproto module: the outputDir property is now mutable.
  • Added support for Groups to the VisualStudio generator.
  • pkgconfig module provider: mergeDependencies property is deprecated.

Contributors

  • Christian Kandeler
  • Dmitrii Meshkov
  • Ivan Komissarov
  • Nick Karg
  • Serhii Olendarenko
  • Thiemo van Engelen
  • Thorbjørn Lindeijer

qbs 2.1.2

General

  • Fixed handling JS floating-point values for x86.
  • Fixed scope pollution and potential crash when assigning to provider properties (QBS-1747).
  • Fixed potential access to freed JSValues (QBS-1751).

Qt

  • Fixed building against Qt with "profiling" build variant (QBS-1758).

Apple

  • Fixed bundle module with Xcode-less profiles.
  • Fixed ApplicationExtension with Xcode-less profiles.

Infrastructure

  • Added CI job to be able to test XCode-less profiles on macOS.

Contributors

  • Christian Kandeler
  • Dmitry Shachnev
  • Ivan Komissarov

qbs 2.1.1

General

  • Fixed Probe lookup in multiplexed products.
  • Fixed excessively slow module merging in some circumstances.
  • Fixed building QuickJS on x86 systems.

Contributors

  • Christian Kandeler
  • Ivan Komissarov

qbs 2.1.0

General

  • Improved speed and correctness of project resolving.
  • Fixed possible segmentation fault when quitting a session.
  • Fixed regression in BinaryFile (QBS-1740).
  • Added possibility to import and export Qbs settings in the JSON format (QBS-1685).

Modules

  • Dependencies are no longer merged by default in the qbspkgconfig module provider (QBS-1710).
  • Protobuf modules now export the desired c++ version (c17 on macOS, c14 otherwise).

Apple Support

  • Updated dmgbuild to the upstream.

Documentation

  • Added documentation for the path, filePath, product and project variables.
  • Added sample codesign settings to the Cocoa Touch Application example.

Build System

  • Updated Qt static Docker image to Qt 6.5.0 and Qbs 1.24.

Contributors

  • Andrey Filipenkov
  • Christian Kandeler
  • Denis Shienkov
  • Ivan Komissarov
  • Marc Mutz
  • Raphael Cotty
  • Thiemo van Engelen

qbs 2.0.2

General

  • Fixed handling of non-string exceptions (QBS-1734).
  • Fixed Utilities.versionCompare() for four-segment versions numbers (QBS-1733).

Qt Support

  • Added special handling for unclean paths in prl files (QBS-1732).
  • Fixed support for static plugins and Qt >= 6.5 (QBS-1732).

Contributors

  • Christian Kandeler
  • Ivan Komissarov
  • Leon Buckel

qbs 2.0.1

General

  • Fixed crash when importing missing JavaScript file (QBS-1730).

C/C++ Support

  • Fixed building applications with mingw toolchain and Qt6 (QBS-1724).

Apple Support

  • Added support for Xcode 14.3.
  • Fixed codesigning on macOS (QBS-1722).
  • Fixed detecting Xcode via xcode-select tool.

Qt Support

  • Fixed support for Qt 6.3 on iOS.
  • Fixed install-qt.sh to properly support Qt for iOS.
  • Do not setup Qt in qbspkgconfig when cross compiling (QBS-1717).

Build System

  • Fixed qbsbuildconfig module.
  • Fixed build with Qt6.5.
  • Updated CI to test via Qt 6.5 on macOS and Windows.
  • Updated CI to test via Xcode 14.2 on macOS.

Contributors

  • Björn Schäpers
  • Christian Kandeler
  • Ivan Komissarov
  • Kai Dohmen

qbs 2.0.0

General

  • Switched JavaScript engine from QtScript to QuickJS
  • Removed the long-deprecated loadFile() and loadExtension() functions
  • Removed the qmake project files

Qt support

  • Adapt to androiddeployqt on Windows no longer accepting tool paths without suffix in 6.4 (QTBUG-111558)

BareMetal support

  • Added support for HPPA architectures

Other modules

  • Renamed "name" to "appName" in the freedesktop module to prevent clash with built-in property

Infrastructure

  • Added USBSAN CI job

Contributors

  • Christian Kandeler
  • Ivan Komissarov
  • Orgad Shaneh
  • Pino Toscano

qbs 1.24.1

C/C++ Support

Fix macros and include paths retrieval for IAR

Build System

Add fix for cmake >= 3.18

Contributors

  • Denis Shienkov
  • Eike Ziller

qbs 1.24.0

General

  • Users can now control if and when warnings for deprecated properties are emitted.
  • Added FileInfo.executableSuffix().

Qt Support

  • Minimum windows version is now 10.0, like for cmake and qmake.

Contributors

  • Christian Kandeler
  • Ivan Komissarov
  • Petr Mikhalicin
  • Raphael Cotty

qbs 1.23.2

Qt Support

  • Set _ENABLE_EXTENDED_ALIGNED_STORAGE for MSVC

Documentation

  • Fix installation with cmake

Contributors

  • Christian Kandeler
  • Ivan Komissarov
  • Marius Gripsgard

qbs 1.23.1

C/C++ Support

  • Added support for c17 and c2x values in cpp.cLanguageVersion.
  • Added support for cpp.cLanguageVersion for the MSVC toolchain.
  • Fix passing linker scripts to iar and keil toolchains (QBS-1704).

Qt Support

  • Adapted to new location of qscxmlc in Qt 6.3.
  • Adapted to new location of qhelpgenerator in Qt 6.3.
  • Fixed setting up Qt 6.3 with qbspkgconfig.
  • Added QtScript module to the source tarballs (QBS-1703).

Other modules

  • Fixed protobuf linking on macOS 11.
  • Fixed handling empty variables in qbspkgconfig (QBS-1702)

Contributors

  • Christian Kandeler
  • Ivan Komissarov
  • Orgad Shaneh

qbs 1.23.0

C/C++ Support

  • Added new module Sanitizers.address for simple cross-platform ASan configuration.

Qt Support

  • Add the now-required /permissive- flag for MSVC automatically.

Android Support

  • Support use of cmdline-tools in addition to SDK tools.
  • Consider .jar files also in the product itself, not just in dependencies.

Contributors

  • Christian Kandeler
  • Dmitry Shachnev
  • Ivan Komissarov
  • Max Bespalov
  • Orgad Shaneh

qbs 1.22.1

General

  • Adapted to changes in Xcode 13.3 (QBS-1693).
  • Re-added several bugfixes from 1.21.1 that got lost in 1.22.0.

Qt Support

  • Fixed building against static Qt 6 (QBS-1692).

Android Support

  • Fixed wrong include path being added to the command line (QBS-1691).

Documentation

  • Fixed outdated use of "product" in Export items (QBS-1694).

qbs 1.22.0

General

  • A new Host service was introduced, providing information about the host system that
    used to be available from the qbs module, but did not really belong there.
    In addition, some more qbs module properties have moved to the FileInfo service.
  • The product variable in Export items now points to the importing product, rather than
    the exporting one.
  • Probes are now also available in ModuleProvider items.

C/C++ Support

  • Added support for the Open Watcom toolchain.
  • Reduced unneeded re-linking on Linux by ignoring changes to weak symbols in library
    dependencies by default.

Qt Support

  • Android multi-arch packages are supported again wth Qt >= 6.3.
  • We now use cpp.systemIncludePaths for Qt headers, so that building Qt applications
    no longer triggers warnings from Qt headers unrelated to the user code.

Infrastructure

  • Added coverage for Digital Mars compiler.
  • Added coverage for static Qt builds.

Contributors

  • Christian Kandeler
  • Denis Shienkov
  • Ivan Komissarov
  • Jan Blackquill
  • Leena Miettinen
  • Marius Gripsgard
  • Mitch Curtis
  • Raphael Cotty

qbs 1.21.0

General

  • A new qbsModuleProviders property was added to Project and Product items which allows
    to specify which providers will be run (QBS-1604).
  • Added a new library for reading *.pc files which allows to avoid launching multiple pkg-config
    processes and also gives QBS more information about dependencies between *.pc files (QBS-1615).
  • A new qbspkgconfig provider was added which will replace the fallback provider (QBS-1614).
    This new provider uses the built-in library and is capable of setting Qt libraries as well.
  • capnproto and protobuf modules can now use runtime provided by the qbspkgconfig provider.
  • A new ConanfileProbe.verbose property was added which can be useful to debug problems with
    Conan.
  • Qbs no longer migrates the "profiles/" dir from earlier Qbs versions (QTCREATORBUG-26475).
    Old directories might be cleaned up manually.
  • FileInfo now always uses high-precision timer on all OSes.
  • Fixed a problem with overriding stringList properties in ModuleProviders from command-line.

C/C++ Support

  • Added support for c++23.
  • Add Elbrus E2K architecture for the GCC toolchain (QBS-1675).
  • COSMIC cpp module now avoids using relative file paths as much as possible.
  • Some refactoring was done in the cpp modules to share more code.

Android Support

  • Added Android.ndk.buildId property which allows to overwrite the default value (sha1) for
    the --build-id linker flag.
  • Fixed reading *.prl files with Qt >= 6.0.
  • Fixed rcc path with Qt >= 6.2.

Documentation

  • Added a new page with the list of ModuleProviders.
  • Qt provider now has its own page.
  • Clarified that application won't be runnable by default, unless env or rpaths are set correctly.

Infrastructure

  • Added standalone job for building documentation.
  • Xcode version was bumped to 12.5.1.
  • Added OpenSUSE Leap docker image.
  • Added Android tests with different NDK versions.
  • Fixed QMake build with Qt 6.

Contributors

  • Christian Kandeler
  • Christian Stenger
  • Davide Pesavento
  • Denis Shienkov
  • Ivan Komissarov
  • Kai Dohmen
  • Orgad Shaneh
  • Raphaël Cotty
  • Richard Weickelt
  • Thorbjørn Lindeijer

qbs 1.20.1

General

  • Fixed target linker flags on FreeBSD (QBS-1312).
  • Fixed file time precision on FreeBSD.
  • Added additional logging to the Qt module provider when no qmakes were found.
  • Some fixes to CMake build.
  • Fixed incorrect usage of the qmlcachegen binary (QBS-1676).

Android Support

  • Added stripping for release builds.
  • Fix generation of aab packages.

qbs 1.20.0

General

  • CMake and Qbs builds now fully support building with Qt6.
  • Qbs now prints the old properties set when refusing to build a project with
    changed properties.
  • Added convenience command to qbs-config to add a profile in one go instead of
    setting properties separately (QTCREATORBUG-25463).
  • Added profiling timer for module providers.

C/C++ Support

  • Added support for the COSMIC COLDFIRE (also known as M68K) compiler (QBS-1648).
  • Added support for the COSMIC HCS08 compiler (QBS-1641).
  • Added support for the COSMIC HCS12 compiler (QBS-1640).
  • Added support for the COSMIC STM8 compiler (QBS-1639).
  • Added support for the COSMIC STM32 compiler (QBS-1638).
  • Added support for the new Digital Mars toolchain (QBS-1636).
  • The new cpp.enableCxxLanguageMacro property was added for the MSVC toolchain
    that controls the /Zc:__cplusplus required for proper support of the new
    C++ standards (QBS-1655).
  • Added support for the "c20" language version for the MSVC toolchain
    which results in adding the /std:c
    latest flag (QBS-1656).

Qt Support

  • Consider "external" modules
  • Fix support for qml binaries that were moved to the libexec directory in Qt 6.2 (QBS-1636).

Android Support

  • Added option to use dex compiler d8 instead of dx.
  • Ministro support was removed.
  • Fix link with static stl on Android (QBS-1654)
  • The default Android Asset Packaging Tool was change from aapt to aapt2.

Apple Support

  • Qbs now uses embedded build specs from Xcode 12.4 when bundle.useXcodeBuildSpecs is true
    instead of older specs from Xcode 9.2.

Important Bug Fixes

  • Fix handling cpp.linkerWrapper with the MSVC toolchain (QBS-1653).

Infrastructure

  • Windows-only tests are moved to a separate tst_blackbox_windows binary.
  • Qbs was updated to 1.18.2 in Docker images as well as in GitHub actions jobs.
  • Added Qbs build and tests with the MinGW toolchain.
  • Added CMake build with Qt6 on Linux.

Contributors

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

qbs 1.19.2

Important Bug Fixes

  • codesign: Fix checking if product is a framework (QBS-1649)
  • codesign: Add additional signing flags at end of command (QBS-1651)
  • codesign: Add new codesign.timestampAlgorithm property (QBS-1651)

qbs 1.19.1

C/C++ Support

  • Fix system include support with MSVC >= 19.29.30037

Qt Support

  • Fix possible command line length issue with qmlimportscanner when cross-compiling (QBS-1633).

Apple platforms

  • Fix stripping debug symbols in multiplexed products when cpp.separateDebugInformation
    is false (QBS-1647)

qbs 1.19.0

General

  • New codesign module was added to implement code signing for Apple, Android and Windows
    platforms (QBS-899, QBS-1546).
  • It is now possible to build Qbs with Qt 6.
  • Project files update API depending on the Qt.gui module was removed. This allows to enable
    project files update API unconditionally when building Qbs.
  • Convenience items such as Application, DynamicLibrary and StaticLibrary now properly install
    artifacts when multiplexing.

C/C++ Support

  • Qbs now supports multiple MSVC compiler versions installed in one Visual Studio installation
    (QBS-1498). Also, multiple compiler versions are properly detected by qbs setup-toolchains.
  • It is now possible to specify Windows SDK version for the MSVC and clang-cl toolchains via the
    new cpp.windowsSdkVersion property.
  • baremetal: Fix generation of compiler listing files with custom extension for the SDCC compiler.
  • baremetal: Fix generation of compiler listing files for the ARMCC compiler.
  • baremetal: Fix detection for Keil toolchains.
  • baremetal: Add support for HCS08 architectures to SDCC and IAR toolchains (QBS-1631, QBS-1629).
  • baremetal: Add support for HCS12 architectures to GCC and IAR toolchains (QBS-1630, QBS-1550).

Qt Support

  • Fix possible command line length issue with qmlimportscanner (QBS-1633).
  • Fix accessing binaries from libexec for Qt 6.1 and above (QBS-1636).

Android Support

  • Added a workaround for the Qt.Network module dependencies for 5.15.0 < Qt < 5.15.3 (QTBUG-87288)
  • Fix aapt command invocation on Windows.
  • Added support for ndk 22.1.7171670.

Documentation

  • Added How-To about codesigning on Apple platforms.
  • Cocoa Touch Application example is brought up-to date to use modern Apple practices.
  • Added example how to use the cpp.linkerVariant property.
  • Added missing documentation for the cpp.toolchainInstallPath property.
  • Added missing documentation for the supported 'bare-metal' architectures.

Important Bug Fixes

  • Added support for Xcode 12.5 (QBS-1644).
  • Fix support for Python 3.9 for building Apple DMG images (QBS-1642).

Infrastructure

  • Ubuntu Focal image was updated to use Qt 5.15.2 and Qbs 1.17.1.
  • Added automated tests for Qt 6 for macOS, Linux and Windows.
  • Added a self-hosted runner to run 'bare-metal' tests on Windows.

Contributors

  • Andrey Filipenkov
  • Denis Shienkov
  • Christian Kandeler
  • Jan Blackquill
  • Jake Petroules
  • Ivan Komissarov
  • Max Bespalov
  • Mitch Curtis
  • Orgad Shaneh
  • Raphaël Cotty
  • Richard Weickelt

qbs 1.18.2

C/C++ Support

  • qbs-setup-toolchains is now able to detect clang-cl properly
  • The Library and Include probes take more paths into account on Linux to better
    support containerization systems such as Flatpak.
  • Xcode autodetection now uses xcode-select to find Xcode on the system.

Protocol Buffers Support (Protobuf Module)

  • A missing nanopb generator file extension on windows has been added.
  • The problem that property _libraryName was incorrect when protobuf was not
    found has been fixed.

Android Support

  • An assertion when building Android applications using additional java classes
    with native methods has been fixed (QBS-1628).

Qt Support

  • A problem related to handling Qt6EntryPoint in the Qt module provider has been
    fixed.

Infrastructure

  • A Qt4 docker image for basic testing has been added.

Contributors

  • Christian Kandeler
  • Eike Ziller
  • Ivan Komissarov
  • Jan Blackquill
  • Kai Dohmen
  • Raphaël Cotty
  • Richard Weickelt

qbs 1.18.0

General

  • capnp: The outputDir property is now public and read-only.
  • setup-toochains: Include the Xcode version into the profile name
    profile when auto-detection an Xcode installation.
  • innosetup module: Add support for InnoSetup v6
  • JSON API: Use the full display name of multiplexed products
    in the dependencies array. This allows clients to for example to
    properly update the search path for multiplexed dynamic libraries.

Language

  • Deprecate the product variable inside Export items in favor of a new
    exportingProduct variable. It will be removed in Qbs 1.20 (QBS-1576).
  • Qbs now checks string and stringList values according to the
    allowedValues property in the PropertyOptions item.

Protocol Buffers Support (Protobuf Module)

  • The deprecated protocBinary property has been removed. Use compilerPath
    instead.
  • A nanopb submodule has been added.
  • The outputDir property is now public and read-only.

C/C++ Support

  • baremetal: cpp.generateCompilerListingFiles has been implemented for
    KEIL ARM Clang
  • baremetal: cpp.enableDefinesByLanguage does now work with SDCC as well.

Qt Support

  • Moc is now disabled when building aggregate products.

Android Support

  • Support for the new directory layout of Qt6 has been added (QBS-1609).
  • Input file generation for androiddeployqt has been improved (QBS-1613).
  • Debugging experience of multi-architecture Android projects with Qbs and
    Qt Creator has been improved. Binaries are now generated in a directory
    layout that Qt Creator expects and debug information is no longer stripped
    away.

Documentation

  • baremetal: A new WiFi access point example for the ESP8266 MCU using the
    GCC toolchain has been added.
  • baremetal: A new example for Nordic's pca10001 board has been
    added. It supports GCC, KEIL and IAR.
  • baremetal: The stm32f103 example supports IAR as well.
  • A howto has been added showing how to easily disable compiler
    warnings.
  • Instructions for building Qbs with CMake have been added (QBS-1618).

Important Bug Fixes

  • Qt modules could not be used in Export item when building for Android
    (QBS-1576).
  • Variable substitution in Info.plist files was broken for
    '@VAR@' syntax (QBS-1601).
  • CppApplication failed to build for Android when using Qt > 5.14.0
    and multiplexing over multiple architectures (QBS-1608).
  • Moc output was broken when including Boost project header files (QBS-1621).

Contributors

  • Alberto Mardegan
  • André Pönitz
  • Christian Kandeler
  • Christian Stenger
  • Cristian Adam
  • Denis Shienkov
  • Eike Ziller
  • Ivan Komissarov
  • Jochen Ulrich
  • Kai Dohmen
  • Mitch Curtis
  • Orgad Shaneh
  • Raphaël Cotty
  • Richard Weickelt

qbs 1.17.1

Important bugfixes

  • Android: Fix support for Qt 5.15 (QBS-1580).
  • Android: Allow exporting of Qt modules in Export items (QBS-1576)
  • Darwin: Fix ios-simulator builds with XCode 12

Contributors

  • Raphaël Cotty
  • Ivan Komissarov

qbs 1.17.0

General

  • The lookup order in PathProbe changed to [environmentPaths,
    searchPaths, platformEnvironmentPaths, platformSearchPaths].
  • The pathPrefix and platformPaths properties have been removed from the
    PathProbe item. They were deprecated since Qbs 1.13.
  • The protocBinary property in the protobuf module has been renamed to
    compilerPath.
  • A new module capnp for Cap'n Proto in C++ applications has been added.
    Cap'n Proto is a serialization protocol similar to protobuf.
  • The qbs-setup-android tool got a --system flag to install profiles
    system-wide similar to qbs-setup-qt and qbs-setup-toolchains.

Language

  • The product and project variables are now available on the
    right-hand-side of moduleProvider expressions and the default scope is
    product (QBS-1587).

C/C++ Support

  • Lots of improvements have been made on toolchain support for
    bare-metal devices in general. Bare-metal targets can be selected by
    setting qbs.targetPlatform to 'none'.
  • KEIL: The ARMCLANG, C166 and C251 toolchains are now supported.
  • IAR: National's CR16, Microchip's AVR32, NXP's M68K, Renesas'
    M8/16C/M32C/R32C/SuperH targets and RISC-V targets are now supported.
  • GCC: National's CR16, NXP M68K, Renesas M32C/M32R/SuperH/V850 as well
    as RISC-V and Xtensa targets are now supported.
  • MSVC: Module definition files can now be used to provide the linker
    with information about exports and attributes (QBS-571).
  • MSVC: "/external:I" is now used to set system include paths (QBS-1573).
  • MSVC: cpp.generateCompilerListingFiles is now supported to generate
    assembler listings.
  • Xcode: macOS framework paths on the command line are now automatically
    deduplicated (QBS-1552).
  • Xcode: Support for Xcode 12.0 has been added (QBS-1582).

Qt Support

  • The Qt for Android modules have been cleaned up. Support for ARMv5, MIPS and
    MIPS64 targets has been removed (QBS-1496).
  • Initial support for Qt6 has been added.

Android Support

  • A packageType property has been added to the Android.sdk module which
    allows to create Android App bundles (aab) instead of apk packages
    only.
  • A aaptName property has been added to the Android.sdk module which
    allows to use aapt2 (QBS-1562) since aapt has been deprecated.

Documentation

  • New bare-metal examples have been added and existing examples have
    been ported to more toolchains.
  • A new how-to about cpp.rPaths has been added (QBS-1204).
  • Various minor improvements have been made.

Important Bug Fixes

  • Building Qt for Android applications as static libraries has been
    fixed (QBS-1545).
  • Trailing slashes are no longer removed from Visual Studio environment
    variables (QBS-1551).
  • The MSVC cpp module did not use the cpp.distributionIncludePaths
    property (QBS-1572).
  • The visual studio generator has been fixed to work with Visual Studio
    16.6 (QBS-1569).
  • Fixed extraction of build information from CONFIG and QT_CONFIG
    variables in Qt installations (QBS-1387).
  • The version number is no longer appended to .so files on Android
    (QBS-1578).
  • Compiler defines are now correctly passed to moc when processing
    header files (QBS-1592).

Contributors

  • Alberto Mardegan
  • Christian Gagneraud
  • Christian Kandeler
  • Christian Stenger
  • Denis Shienkov
  • Ivan Komissarov
  • Jake Petroules
  • Jochen Ulrich
  • Mitch Curtis
  • Oliver Wolff
  • Raphaël Cotty
  • Richard Weickelt
  • Sergey Zhuravlev

qbs 1.16.0

General

  • A new freedesktop module helps UNIX application developers to follow the
    freedesktop.org guidelines.
  • The Android module now allows resourcesDir, sourcesDir and assetsDir to be
    specified as relative paths.
  • A new ConanfileProbe allows better and more flexible integration of Qbs and
    the Conan package manager.
  • A new hostArchitecture property has been added to the qbs module.

Language

  • List properties in modules are now merged according to inter-module
    dependencies. This is important when flags like cpp.staticLibraries are
    contributed by multiple modules with dependencies between each other.
    (QBS-1517).
  • Dependency matching of multiplexed products is now less strict and does not
    require all multiplex properties to match. For instance, if product A is
    multiplexed over qbs.architecture and qbs.buildVariant while product B is only
    multiplexed over one of these axes, then Qbs no longer fails (QBS-1515).

C/C++ Support

  • The Renesas RL78 architecture is now supported in GCC and IAR and the
    toolchains are auto-detected by qbs-setup-toolchains.
  • The Renesas RX as well as the RH850, V850, 78K are now supported in IAR and
    the toolchains are auto-detected by qbs-setup-toolchains.
  • The MPLAB X32 GCC-based toolchain is now auto-detected on Windows.
  • Multiple occurrences of static libraries on the linker command line are now
    pruned and the last instance always wins when using GCC or LLVM-based
    toolchains. This avoids problems with excessively long linker command lines
    (QBS-1273).
  • Clang-cl and MSVC toolchains use the compiler frontend instead of the linker
    when linking. The old behavior can be restored by setting cpp.linkerMode to
    "manual". This allows to use sanitizers with clang-cl by passing
    "-fsanitise=xxx" via cpp.driverFlags (QBS-1522).
  • The clang-cl toolchain now uses "link.exe" as the default linker.
    "lld-link.exe" can be explicitly selected by setting cpp.linkerVariant to
    "lld" (QBS-1522).
  • The MSVC, clang-cl and MinGW toolchains are now automatically detected if the
    profile does not set an explicit installation location, for instance because
    no profile was given.
  • Installation of separate debug information can now be enabled and configured
    by simply setting the installDebugInformation and debugInformationInstallDir
    properties in the Application and Library convenience items. This works for
    toolchains based upon GCC, MSVC or clang-cl.
  • Xcode version 11.4 is now supported on macOS.

Qt Support

  • Qbs now supports Qt 5.14 for Android which comes as a multi-architecture
    package. The qbs-setup-android tool has been updated accordingly (QBS-1497).
  • JSON metatype files generated by moc (Qt >= 5.15) are supported by setting
    Qt.core.generateMetaTypesFile and Qt.core.metaTypesInstallDir (QBS-1531).
  • Pure debug builds of Qt (>= 5.14) with MinGW are now properly supported. They
    don't have the 'd' suffix (QTBUG-80792).
  • The QML type declaration mechanism introduced in Qt 5.15 is now supported by
    the Qt.qml module (QBS-1531).
  • Generated qmltypes files are now named according to the product's targetName
    property (QTBUG-82710).

Documentation

  • The how-to chapter has been extended with sections about debugging Qbs files
    and about building separate debug information in C++ projects.
  • The item and module reference documentation has been improved for the
    cpp.libraryPaths, cpp.dynamicLibraries (QBS-1516), qbs.toolchainType and
    qbs.toolchain properties as well as the Export item and the Library
    convenience item.
  • Documentation for various path probes has been added (QBS-1187).
  • The README was extended and a CONTRIBUTING file has been added which provides
    useful information for potential contributors. This is important for people
    looking at our github mirror.

Infrastructure

  • The Debian Docker image has been removed.
  • We are now using ccache and clcache in our CI pipelines to shrink the build
    time.
  • Clang-tidy is now used to identify potential problems in the code base and a
    lot of action was taken upon a lot of findings.
  • A Docker image for testing Qbs with Android and Qt has been added.

Important Bug Fixes

  • Fix nullpointer access and heap-use-after-free error (QBS-1485).
  • Select the right instance when Depends.profiles is used on a dependency with
    an aggregator product (QBS-1513).
  • Fix crash when specifying a non-existing profile in Depends.profiles
    (QBS-1514).
  • Try harder to detect GCC toolchains in qbs-setup-toolchains (QBS-1524).
  • Code signing for Core Foundation Bundles on macOS has been fixed.
  • Automatic artifact scanning now prefers artifacts from product dependencies if
    multiple candidates are found. This improves dependency tracking in complex
    projects (QBS-1532).
  • The grpcIncludePath property in the probufcpp module has been fixed
    (QBS-1542).
  • Qbs does no longer crash when accessing a property of a non-existent module in
    "IDE mode".

Contributors

  • Alberto Mardegan
  • Björn Schäpers
  • BogDan Vatra
  • Christian Kandeler
  • Christian Stenger
  • Denis Shienkov
  • Ivan Komissarov
  • Jochen Ulrich
  • Joerg Bornemann
  • Leon Buckel
  • Marius Sincovici
  • Maximilian Goldstein
  • Mitch Curtis
  • Oliver Wolff
  • Orgad Shaneh
  • Raphaël Cotty
  • Richard Weickelt

qbs 1.15.0

General

  • Added a session command which offers a JSON-based API for interaction with
    other tools via stdin/ stdout. This allows for proper Qbs support in IDEs that
    do not use Qt or even C++.

Language

  • Probes are now evaluated before Profile items and can be used to create
    profiles on project level.
  • AutotestRunner got a separate job pool.
  • Added a timeout property to Command, JavaScriptCommand and AutotestRunner.
    This allows to identify and kill stuck commands.

C/C++ Support

  • Ensure proper support of Xcode 11.
  • Linker map files can be generated with all toolchains.
  • Bare metal toolchains can now generate listing files.
  • Improve the command line output filtering of bare metal toolchains.
  • Added support for clang in mingw mode on Windows.
  • Added msp430 support to GCC and IAR.
  • Added STM8 support to IAR and SDCC.
  • Added IDE project generators for IAR Embedded Workbench for ARM, AVR, 8051,
    MSP430, and STM8 architectures.
  • Added IDE project generators for KEIL uVision v4 for ARM and 8051
    architectures.
  • Added more bare metal project examples for various target platforms.
  • The IAR, KEIL and SDCC toolchains are now found automatically in various.
    locations by the setup-toolchains command and by probes if no installPath is
    set in the profile.

Infrastructure

  • Automated build and testing on Ubuntu, macOS and Windows.
  • Added Ubuntu bionic Docker image which replaces Debian stretch.
  • Updated Qt in the Ubuntu and Windows Docker images to 5.12.
  • When building Qbs, Qt libraries can now be bundled on Linux, macOS and
    Windows.

Contributors

  • Alberto Mardegan
  • Christian Kandeler
  • Denis Shienkov
  • Ivan Komissarov
  • Jochen Ulrich
  • Joerg Bornemann
  • Richard Weickelt

qbs 1.14.1

Important bugfixes

  • Qt support: Fix static builds on Windows (QBS-1465).
  • Qt support: Fix static builds with Qt >= 5.13.1.
  • Darwin: Adapt to Xcode 11.

qbs 1.14.0

Language

  • The PathProbe item was extended to support looking for multiple files and filtering candidate
    files.

C/C++ Support

  • Added support for Visual Studio 2019.
  • Added support for clang-cl.
  • Various improvements for bare-metal toolchains, including new example projects and support for
    the SDCC toolchain.

Qt Support

  • Added the Qt.android_support.extraLibs property.

Other modules

  • The pkgconfig module now has a sysroot property.
  • Added gRPC support to the protobuf.cpp module.

Android Support

  • Removed support for NDK < r19.
  • Added new Android.sdk properties versionCode and versionName.

Infrastructure

  • Added configuration files for Travis CI.
  • Various fixes and improvements in the Debian Docker image; updated to to Qt 5.11.3.

Contributors

  • BogDan Vatra
  • Christian Kandeler
  • Christian Stenger
  • Davide Pesavento
  • Denis Shienkov
  • hjk
  • Ivan Komissarov
  • Joerg Bornemann
  • Richard Weickelt

qbs 1.13.1

Important bugfixes

  • Qt support: Plugins are no longer linked into static libraries when building against
    a static Qt (QBS-1441).
  • Qt support: Fixed excessively long linker command lines (QBS-1441).
  • Qt support: Host libraries are now looked up at the right location (QBS-1445).
  • Qt support: Fixed failure to find Qt modules in Qt Creator when re-parsing a project that
    hasn't been built yet.
  • macOS: Properties in bundle.infoPlist are no longer overridden (QBS-1447).
  • iOS: Fixed generation of default Info.plist (QBS-1447).

qbs 1.13.0

General

  • Added a lot more documentation.
  • The --show-progress command line option is now supported on Windows.

Language

  • Introduced module providers.
  • The Depends item now falls back to pkg-config to locate dependencies whose names do not
    correspond to a qbs module.
  • Added the concept of job pools for limiting concurrent execution of commands by type.
  • Added support for rules without output artifacts.
  • Added atEnd function to the Process service.
  • Added canonicalPath function to the FileInfo service.
  • Removed the need to add "import qbs" at the head of project files.
  • The Application, DynamicLibrary and StaticLibrary items now have properties for more
    convenient installation of target binaries.

C/C++ Support

  • Added recursive dependency scanning of GNU ld linkerscripts.
  • Added new cpp property linkerVariant to force use of gold, bfd or lld.

Qt Support

  • It is no longer required to call setup-qt before building Qt projects.
  • Introduced the property Qt.core.enableBigResources for the creation of "big" Qt resources.
  • Static builds now pull in the default set of plugins as specified by Qt, and the user can
    specify the set of plugins by type.
  • Files can be explicitly tagged as mocable now.

Other modules

  • Added protobuf support for C++ and Objective-C.
  • Introduced the texttemplate module, a facility similar to qmake's SUBSTITUTES feature.

Android Support

  • The AndroidApk item was deprecated, a normal Application item can be used instead.
  • Building Qt apps is properly supported now, by making use of the androiddeployqt tool.

Autotest support

  • Introduced the autotest module.

qbs 1.12.2

Important bugfixes

  • The Visual Studio 2017 Build Tools are properly supported now.
  • Android NDK r18 is properly supported now.
  • Removed invalid assertion that prevented deriving from the Properties item.
  • Fixed build error on some BSD hosts (QBS-1395).
  • setup-qt fixes:
    • The QtWebkit module is now properly detected (QBS-1399).
    • The case of the qtmain library being called "qt5main" is properly handled now (QBS-767).
    • Building against a Qt that was built with sanitizing support
      works out of the box now (QBS-1387).

qbs 1.12.1

Important bugfixes

  • Lifted the restriction that the -march option cannot appear in cpp.*Flags (QBS-1018).
  • All required header files get installed now (QBS-1370).
  • Fixed rpaths not ending up on the command line under certain circumstances (QBS-1372).
  • Fixed possible crash when scanning qrc files (QBS-1375).
  • Fixed spurious re-building of .pc and .qbs module files.
  • Fixed possible crash on storing a build graph after re-resolving.
  • Fixed possible assertion on input artifacts with alwaysUpdated == false.

qbs 1.12.0

General

  • Added new module Exporter.qbs for creating qbs modules from products.
  • Added new module Exporter.pkgconfig for creating pkg-config metadata files.
  • Introduced the concept of system-level qbs settings.
  • Added a Makefile generator.
  • All command descriptions now contain the product name.

Language

  • The explicitlyDependsOn property of the Rule item no longer considers
    target artifacts of product dependencies. The new property explicitlyDependsOnFromDependencies
    can be used for that purpose.
  • The excludedAuxiliaryInputs property of the Rule item has
    been renamed to excludedInputs. The old name is now deprecated.
  • Added a new property type varList.
  • Added FileInfo.suffix and FileInfo.completeSuffix.
  • The deprecated JS extensions XmlDomDocument and XmlDomElement
    have been removed. Use Xml.DomDocument and Xml.DomDocument instead.

C/C++ Support

  • For MSVC static libraries, compiler-generated PDB files are
    now tagged as debuginfo_cl to make them installable.
  • The cxxLanguageVersion property can now be set to different values in different modules,
    and the highest value will be chosen.

Qt Support

  • Amalgamation builds work properly now in the presence of "mocable" files.
  • Fixed some redundancy on the linker command line.

Other modules

  • Added support for %option outfile and %output to the lex_yacc module.
  • The vcs module now creates the header file even if no repository is present.

Autotest support

  • Added an auxiliaryInputs property to the AutotestRunner item for specifying run-time
    dependencies of test executables.
  • The AutotestRunner item now has a workingDirectory property.
    By default, the respective test executable's location is used.

Important bug fixes

  • Disabled products no longer cause their exported dependencies to get pulled into
    the importing product (QBS-1250).

qbs 1.11.1

Important bugfixes

  • Speed up run environment setup (QTCREATORBUG-20175).
  • Fix qbs command line generated by the Visual Studio project generator (QBS-1303).
  • Install all required header files when building Qbs with qmake.
  • Fix undefined behavior in the qbscore library where a reference to a temporary object was stored.

qbs 1.11.0

General

  • Added qbs.targetPlatform and qbs.hostPlatform properties which are scalar versions of
    qbs.targetOS and qbs.hostOS. qbs.targetPlatform is a "write-only" property that can be used
    to set the OS/platform that is being targeted, while qbs.targetOS and qbs.hostOS should
    continue to be used to read the OS/platform that is being targeted.
    qbs.targetOS is also now read-only.
  • The "run" functionality as used by the command-line 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 (e.g. PATH on Windows).

Language

  • Modules can now declare target artifacts using the new filesAreTargets property of the
    Group item.
  • The Module.setupRunEnvironment script now has a new parameter config. Users can set it via the
    --setup-run-env-config option of the run command. The only value currently supported
    is ignore-lib-dependencies, which turns off the abovementioned injection of library
    dependencies' paths into the run environment.
  • Module.setupBuildEnvironment and Module.setupRunEnvironment now have access to the product
    and project variables. With regards to accessing module properties, these script now behave
    like rules, rather than normal properties.
  • Added the BinaryFile service for reading and writing binary data files.
  • The SubProject item now has a condition property.

C/C++ Support

  • Added property cpp.rpathOrigin which evaluates to @loader_path on Darwin and $ORIGIN
    on other Unix-like platforms.
  • Added the qbs.toolchainType property, which is a scalar version of the qbs.toolchain
    property and is used to set the current toolchain.
  • Added cpp.driverLinkerFlags for flags to be passed to the compiler driver only when linking.
  • We now properly support "c++17" as a possible value of cpp.cxxLanguageVersion.
  • The auto-detection mechanism for GCC-like compilers now considers typical mingw prefixes.

Qt Support

  • Added the Qt.scxml.generateStateMethods property to back the --statemethods option.

Command-line interface

  • Configuration names are now passed as "config:<name>".
  • Options do not have to precede property assignments anymore.
  • Referencing a non-existing product in a property override now results in an error.

Documentation

  • Major overhaul of the module and item reference for improved readability.
  • Added a how-to on the topic of pre-compiled headers.
  • Added documentation for the built-in XML support.
  • Added documentation for qbs.Utilities.
  • Added documentation on how to target specific platforms.

Important bug fixes

  • Fixed some inconsistencies related to item ids (QBS-1016, QBS-1262).
  • Fixed slow project resolving on macOS (QBS-1277).
  • Fixed problems with qtquickcompiler support in Qt 5.11 (QBS-1299).
  • Fixed race conditions in multi-configuration builds (QBS-1308).

Other

  • The InnoSetup, nsis, and wix modules' rules now have a dependency on installable artifacts
    of dependencies.
  • Introduced the ico module for creating .ico and .cur files.

qbs 1.10.1

Important bugfixes

  • Fix assertion on project loading (QBS-1275).
  • Fix crash when the "original" value is misused (QBS-1255).
  • Fix qtquickcompiler support for qml files in subdirectories (QBS-1261).
  • Fix constant rebuilding after moving an external header file (QBS-1285).
  • Fix GCC support for "bare metal" systems (QBS-1263, QBS-1265).
  • Fix using ids in Depends items (QBS-1264).
  • Fix access to module instances in dependency parameters (QBS-1253).
  • Fix race condition when creating Inno Setup, NSIS, or WiX installers.
  • Fix release builds for Android with NDK r12 and above (QBS-1256).
  • Fix parametrized dependencies in Export and Module items (QBS-1287).

qbs 1.10.0

General

  • Added the vcs module to provide VCS repository information.
    Git and Subversion are supported initially.
  • Added initial support for the Universal Windows Platform.
  • Improved a lot of error messages.

Language

  • Profiles can now be defined within a project using the Profile item.
  • Groups without a prefix now inherit the one of the parent group.
  • Both the Module and the FileTagger item now have a priority property, allowing them to
    override conflicting instances.
  • It is now possible to add file tags to generated artifacts by setting the new fileTags property
    in a group that has a fileTagsFilter.
  • Added new open mode TextFile.Append.
  • Added the filePath function to the TextFile class.
  • Process and TextFile objects in rules, commands and configure scripts are now
    closed automatically after script execution.

C/C++ Support

  • Added the cpufeatures module for abstracting compiler flags related to CPU features such as SSE.
  • Added property cpp.discardUnusedData abstracting linker options that strip unneeded symbols
    or sections.
  • Added property cpp.variantSuffix for making binary names unique when multiplexing products.
  • Added property cpp.compilerDefinesByLanguage providing the compiler's pre-defined macros.

Android

  • The deprecated apkbuilder tool is no longer used.

Qt

  • Added support for the Qt Quick compiler.
  • Added support for qmlcachegen.

Command-line interface

  • Removed some non-applicable options from a number of tools.
  • The run command can now deploy and run Android apps on devices, and deploy and run iOS and
    tvOS apps on the simulator.
  • Added new command list-products.

Documentation

  • Added porting guide for qmake projects.
  • Added in-depth descriptions of all command-line tools.
  • Added "How-to" for creating modules for third-party libraries.
  • Added a man page.

qbs 1.9.1

Important bugfixes

  • Lower the response file threshold on Windows to fix build failures with mingw (QBS-1201).
  • Fix explicitly specified build variant being ignored for Darwin targets (QBS-1202).
  • Fix building for the AVR architecture (QBS-1203).

qbs 1.9.0

General

  • Setting module property values from the command line can now
    be done per product.
  • Introduced new properties qbs.architectures and qbs.buildVariants
    to allow product multiplexing by qbs.architecture and qbs.buildVariant,
    respectively.
  • When rebuilding a project, the environment, project file and property
    values are taken from the existing build graph.

Language

  • Depends items can now be parameterized to set special module parameters
    for one particular product dependency. The new item type Parameter
    is used to declare such parameters in a module. The new item type
    Parameters is used to allow products to set default values for
    such parameters in their Export item.
  • The functions loadExtension and loadFile have been deprecated and
    will be removed in a future version. Use the require function instead.

Custom Rules and Commands

  • Artifacts corresponding to the explicitlyDependsOn property
    are now available under this name in rules and commands.
  • A rule's auxiliaryInputs and explicitlyDependsOn tags
    are now also matched against rules of dependencies, if these rules are
    creating target artifacts.
  • Rules now have a property requiresInputs. If it is false, the rule will
    be run even if no artifacts are present that match its input tags.
  • Added a new property relevantEnvironmentVariables to the Command class.
    Use it if the command runs an external tool whose behavior can be
    influenced by special environment variables.

C/C++ Support

  • Added the cpp.link parameter to enable library dependencies to be
    excluded from linking.
  • When pulling in static library products, the new Depends parameter
    cpp.linkWholeArchive can now be specified to force all the library's
    objects into the target binary.
  • When pulling in library products, the new Depends parameter
    cpp.symbolLinkMode can now be specified to control how the library
    is linked into the target binary on Apple platforms: specifically,
    whether the library is linked as weak, lazy, reexported, and/or
    upward (see the ld64 man page for more information).
  • The property cpp.useCxxPrecompiledHeader, as well as the variants for the
    other languages, now defaults to true.
  • The property cpp.cxxLanguageVersion now gets mapped to MSVC's /std option,
    if applicable.

Apple

  • Added support for building macOS disk images.

Android

  • Product multiplexing is no longer done via profiles, but via architecture,
    employing the new qbs.architectures property (see above). As a result,
    the setup-android command now sets up only one profile, rather than
    one for each architecture.
  • Added support for NDK Unified Headers.

Documentation

  • Added a "How-to" section.

qbs 1.8.1

Important bug fixes:
* Qbs-specific build errors are now correctly linked
in Qt Creator's issues pane (QBS-1151).
* Fixed automatic base profile assignment for
MSVC Qt installations (QBS-1141)
* Various QNX fixes (QBS-1136, QBS-1137, QBS-1138, QBS-1139, QBS-1143).

Behavior changes:
* Users now get early error messages if they forget
the "modules", "products" or "projects" prefix
in command line property overrides such as
"modules.cpp.enableExceptions:false".

qbs 1.8.0

Features:
* General:
* It is no longer strictly required to provide a profile.
* Sub-second timestamp resolutions are now supported on Unix
systems.
* Added a convenient replacement for
product.moduleProperty("module", "property"), namely
product.module.property.
* The loadFile and loadExtension functions are deprecated in
favor of the new require function, which accepts arguments of either
form accepted by the deprecated functions.
* Added new tool qbs-create-project to set up a new qbs
project from an existing source tree.
* FileTagger items can now have conditions.
* Probe items can now appear directly under a Project item.
* Cpp module:
* Added support for QNX and the QCC toolchain
* Added the cpp.useRPathLink property to control whether
to use the -rpath-link linker option.
* Provided the means to easily combine source files for the C
language family in order to support "amalgamation builds".
* Introduced cpp.treatSystemHeadersAsDependencies.
* Qt modules:
* Introduced property Qt.core.combineMocOutput.
* Introduced Qt.core.enableKeywords for simple disabling of
the "signals", "slots" and "emit" symbols.
Important bug fixes:
* Improved scalability of parallel builds on Linux by starting
Process commands via a dedicated launcher process.
Behavior changes:
* The base directory for source files changed from the product
source directory to the parent directory of the file where the files are
listed.

qbs 1.7.2

Important bug fixes:
* macOS: Fixed App Extension builds on older versions of Xcode/macOS
* Windows: Fixed handling of files on network shares
* Fixed syntax error in Qt module that occurred with static Qt builds
* Several fixes for the Visual Studio generator (QBS-1077, QBS-1100)

qbs 1.7.1

Important bug fixes:
* Fixed race condition in qmake build (QBS-1091)
* Qt Creator no longer leaves empty build directories
behind after cancelled project loading (QTCREATORBUG-17543)
* Fixed an exception crossing the API boundary

qbs 1.7.0

Features:
* Added a generator for Visual Studio projects.
* The Group item is now nestable.
* Stricter type checking for properties.
* Added support for generating qrc files.
* Added full support for the QtScxml module.
* Introduced cpp.soVersion.
* Added support for building Inno Setup packages.
* Tentative support for Visual Studio 2017.
* We now assume UTF-8 encoding for project files.
* In Scanner items, input.fileName now contains
a filename rather than the full path.
* Warnings encountered during project resolving are now stored
and re-displayed when the project is loaded.
* Documentation was improved in several places, most
notably for the Rule item.
* Support for the deprecated Transformer item was removed.
Important bug fixes:
* Long paths on Windows are handled (QBS-1068).
* Cyclic module dependencies are detected (QBS-1044).
* The libqbscore soname now includes the minor version,
so that it will not stay the same across ABI changes
(QBS-1002).

qbs 1.6.1

Features:
* Added cpp.linkerWrapper property.
Important bug fixes:
* Fixed a number of bugs evaluating module properties (QBS-845, QBS-1005).
* Fixed x86_64 > x86 cross compiling (QBS-1028).
* Fixed dynamic rules with generated inputs (QBS-1029).

qbs 1.6.0

  • Added lex_yacc module.
  • Introduced property cpp.systemRunPaths.
  • Introduced the ability to check a module's version in a Depends item.
  • Introduced cpp.driverFlags, which allows specifying flags to be
    passed to the compiler driver (in any mode), but never the system linker.
  • Introduced cpp.linkerMode property to allow selection of the
    correct linker (C driver, C++ driver, or system linker) based on the
    objects being linked.
  • Added automatic escaping of arguments passed to the
    cpp.linkerFlags and cpp.platformLinkerFlags properties using the -Wl
    or -Xlinker syntaxes. To revert to the old behavior,
    Project.minimumQbsVersion can be set to a version lower than 1.6.
  • Each build configuration now requires a unique name, which
    is specified on the command line in the same place that qbs.buildVariant
    used to be specified. This allows building for multiple configurations
    with the same variant.

This package has no dependencies.

Discussion for the Qbs Package

Ground Rules:

  • This discussion is only about Qbs and the Qbs package. If you have feedback for Chocolatey, please contact the Google Group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or Qbs, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.
comments powered by Disqus