Downloads:
38,610
Downloads of v 2.4.2:
20
Last Update:
02 Dec 2024
Package Maintainer(s):
Software Author(s):
- Qt Project
Tags:
qbs qt buildQbs
This is not the latest version of Qbs available.
- 1
- 2
- 3
2.4.2 | Updated: 02 Dec 2024
Downloads:
38,610
Downloads of v 2.4.2:
20
Software Author(s):
- Qt Project
Qbs 2.4.2
This is not the latest version of Qbs available.
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
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:
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
Option 1: Cached Package (Unreliable, Requires Internet - Same As Community)-
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
-
Open Source
-
Download the package:
Download - Follow manual internalization instructions
-
-
Package Internalizer (C4B)
-
Run: (additional options)
choco download qbs --internalize --version=2.4.2 --source=https://community.chocolatey.org/api/v2/
-
For package and dependencies run:
choco push --source="'INTERNAL REPO URL'"
- Automate package internalization
-
Run: (additional options)
3. Copy Your Script
choco upgrade qbs -y --source="'INTERNAL REPO URL'" --version="'2.4.2'" [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'" --version="'2.4.2'"
$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.4.2'
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.4.2'
end
See docs at https://docs.chef.io/resource_chocolatey_package.html.
cChocoPackageInstaller qbs
{
Name = "qbs"
Version = "2.4.2"
Source = "INTERNAL REPO URL"
}
Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.
package { 'qbs':
ensure => '2.4.2',
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.
Private CDN cached downloads available for licensed customers. Never experience 404 breakages again! Learn more...
This package was approved as a trusted package on 02 Dec 2024.
Qbs is a tool that helps simplify the build process for developing projects across multiple platforms.
Log in or click on link to see number of positives.
- qbs-windows-x86_64-2.4.2.zip (4cb658fb812b) - ## / 66
- qbs.2.4.2.nupkg (4e79c8216b3f) - ## / 66
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.5.0 | 35 | Thursday, December 5, 2024 | Approved | |
Qbs 2.4.2 | 20 | Monday, December 2, 2024 | Approved | |
Qbs 2.4.1 | 636 | Saturday, August 10, 2024 | Approved | |
Qbs 2.4.0 | 79 | 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 | 458 | 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 |
© 2017 The Qt Company Ltd.
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 forcpp.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:clatest 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 asysroot
property. - Added gRPC support to the
protobuf.cpp
module.
Android Support
- Removed support for NDK < r19.
- Added new
Android.sdk
propertiesversionCode
andversionName
.
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 topkg-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 theProcess
service. - Added
canonicalPath
function to theFileInfo
service. - Removed the need to add "import qbs" at the head of project files.
- The
Application
,DynamicLibrary
andStaticLibrary
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
propertylinkerVariant
to force use ofgold
,bfd
orlld
.
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'sSUBSTITUTES
feature.
Android Support
- The
AndroidApk
item was deprecated, a normalApplication
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 theRule
item no longer considers
target artifacts of product dependencies. The new propertyexplicitlyDependsOnFromDependencies
can be used for that purpose. - The
excludedAuxiliaryInputs
property of theRule
item has
been renamed toexcludedInputs
. The old name is now deprecated. - Added a new property type
varList
. - Added
FileInfo.suffix
andFileInfo.completeSuffix
. - The deprecated JS extensions
XmlDomDocument
andXmlDomElement
have been removed. UseXml.DomDocument
andXml.DomDocument
instead.
C/C++ Support
- For MSVC static libraries, compiler-generated PDB files are
now tagged asdebuginfo_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 thelex_yacc
module. - The
vcs
module now creates the header file even if no repository is present.
Autotest support
- Added an
auxiliaryInputs
property to theAutotestRunner
item for specifying run-time
dependencies of test executables. - The
AutotestRunner
item now has aworkingDirectory
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
andqbs.hostPlatform
properties which are scalar versions of
qbs.targetOS
andqbs.hostOS
.qbs.targetPlatform
is a "write-only" property that can be used
to set the OS/platform that is being targeted, whileqbs.targetOS
andqbs.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 therun
command. The only value currently supported
isignore-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
andproject
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 theqbs.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 ofcpp.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
, andwix
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 theFileTagger
item now have apriority
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 afileTagsFilter
. - Added new open mode
TextFile.Append
. - Added the
filePath
function to theTextFile
class. Process
andTextFile
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
andqbs.buildVariants
to allow product multiplexing byqbs.architecture
andqbs.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 typeParameter
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 theirExport
item.- The functions
loadExtension
andloadFile
have been deprecated and
will be removed in a future version. Use therequire
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
andexplicitlyDependsOn
tags
are now also matched against rules of dependencies, if these rules are
creating target artifacts. - Rules now have a property
requiresInputs
. If it isfalse
, the rule will
be run even if no artifacts are present that match its input tags. - Added a new property
relevantEnvironmentVariables
to theCommand
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 theld64
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 newqbs.architectures
property (see above). As a result,
thesetup-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.
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.