Organizational Use

If you are an organization using Chocolatey, we want your experience to be fully reliable.
Due to the nature of this publicly offered repository, reliability cannot be guaranteed.
Packages offered here are subject to distribution rights, which means they may need to reach out further to the internet to the official locations to download files at runtime.

Fortunately, distribution rights do not apply for internal use. With any edition of Chocolatey (including the free open source edition), you can host your own packages and cache or internalize existing community packages.

Disclaimer

Your use of the packages on this site means you understand they are
not supported or guaranteed in any way.
Learn more...

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).

Important bugfixes

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 ofqbs.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 theGroup 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.

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 typeParameters 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 parametercpp.linkWholeArchive can now be specified to force all the library's
objects into the target binary.

When pulling in library products, the new Depends parametercpp.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.

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.

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).

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.

Discussion for the Qbs Package

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.