Qbs
doc.qt.io
What it is
Qbs is a build automation tool for managing software projects across multiple platforms. Projects can use it regardless of programming language, toolkit, or libraries, and its declarative model lets them describe build tasks and dependencies without setting the build order. The manual lists correct, fast incremental builds and an extensible architecture among its features. Qbs documents built-in support for Windows, Linux, macOS, Android, iOS, tvOS, watchOS, QNX, and FreeBSD, plus cross-compilation. It can be used with Qt Creator and Visual Studio Code through the Qbs session feature, and it can generate Clang compilation databases. Project generation for Visual Studio, IAR Embedded Workbench, and Keil uVision is available but described as experimental. Binaries are available for Windows, macOS, Linux, and FreeBSD, or Qbs can be built locally from source. The Qbs plan costs nothing. Its library and tools are available under commercial licenses, LGPL version 3, and GPL version 2. The Makefile generator will not create a Makefile if the source, build, or install root directory contains spaces; other UNIX-like systems may work but are not regularly tested or officially supported.
Spec sheet
- What it does
- Qbs is a build automation tool for managing software projects across multiple platforms.Read 11 Oct 2026 · doc.qt.io
- Build features
- The manual lists correct and fast incremental builds and an extensible architecture among Qbs's features.Read 11 Oct 2026 · doc.qt.io
- Build model
- Qbs uses a declarative approach that lets projects describe build tasks and dependencies rather than build order.Read 11 Oct 2026 · doc.qt.io
- Build parallelism
- By default, Qbs uses all available CPU cores for build parallelization, and users can specify a concurrent job count.Read 11 Oct 2026 · doc.qt.io
- Compilation database
- Qbs can generate Clang compilation databases.Read 11 Oct 2026 · doc.qt.io
- Generator limitation
- The Makefile generator refuses to generate a Makefile if the source, build, or install root directory contains spaces.Read 11 Oct 2026 · doc.qt.io
- IDE integrations
- Qbs can be used with Qt Creator and Visual Studio Code, which support Qbs projects through the Qbs session feature.Read 11 Oct 2026 · doc.qt.io
- Installation
- Qbs binaries are available for Windows, macOS, Linux, and FreeBSD, and can also be built locally from source.Read 11 Oct 2026 · doc.qt.io
- Licensing
- The Qbs library and tools are available under commercial licenses, LGPL version 3, and GPL version 2.Read 11 Oct 2026 · doc.qt.io
- Project generators
- Qbs can generate projects for Visual Studio, IAR Embedded Workbench, and Keil uVision; the manual describes this option as experimental.Read 11 Oct 2026 · doc.qt.io
- Project scope
- Qbs can be used for software projects regardless of programming language, toolkit, or libraries used.Read 11 Oct 2026 · doc.qt.io
- Target platforms
- Qbs documents built-in support for Windows, Linux, macOS, Android, iOS, tvOS, watchOS, QNX, and FreeBSD, as well as cross-compilation.Read 11 Oct 2026 · doc.qt.io
- Unsupported platforms
- Other UNIX and Unix-like platforms may work, but are not regularly tested or officially supported.Read 11 Oct 2026 · doc.qt.io
Plans and prices
Strong points and limits
Strong points
- Declarative task and dependency model
- Built-in support for multiple target platforms
- Supports cross-compilation
- Generates Clang compilation databases
- Free under several licensing options
Limits
- Some project generators are experimental
- Makefile generator rejects root directories containing spaces
- Other UNIX-like platforms are not officially supported
Who it suits
Qbs suits software projects that need declarative build automation across languages and target platforms. It may also suit users who need cross-compilation or IDE integration.
Qbs in depth
Read the full write-up
Qbs is a cross-platform build automation system for software projects in any programming language, toolkit, or library. It is best for developers who want build logic expressed as relationships between tasks and who work in Qt Creator or Visual Studio Code. Its no-cost licensing and wide target coverage are compelling, but experimental generators and a path restriction in its Makefile output can affect toolchain choices.
Overview
Qbs describes what a project must build and how its tasks depend on one another instead of forcing users to encode a build order. That declarative model can keep dependency structure clearer in projects that span languages or use varied libraries and toolkits. The manual also emphasizes correct, fast incremental builds and an extensible architecture, useful properties for large or frequently changing codebases.
Builds use all available CPU cores by default, and a concurrent job count can be set when a workstation or CI environment needs tighter resource control. Qbs supports build-as-code, build caching, and artifact packaging, so it can cover both compilation orchestration and the production of distributable outputs.
The Qbs library and tools are available under commercial licenses, LGPL version 3, and GPL version 2. That range can accommodate different distribution models, but teams must choose terms that fit their own product and obligations.
Key features
Declarative project model: Projects state tasks and dependencies rather than a prescribed sequence. This suits teams seeking a maintainable description of relationships, while those committed to traditional ordered scripts may find the model a larger change.
Incremental and parallel builds: Qbs advertises correct, fast incremental work and parallelizes across available cores. Setting the job count gives CI operators and shared machines a way to limit contention.
IDE integrations: Qt Creator and Visual Studio Code support Qbs projects through the Qbs session feature. Developers already using either editor get a direct workflow; teams centered on another IDE should confirm that their preferred environment fits.
Project generation: Qbs can generate projects for Visual Studio, IAR Embedded Workbench, and Keil uVision. The manual calls this capability experimental, so it is better treated as a convenience to evaluate than as an unquestioned foundation for a production process.
Compilation databases: Qbs can emit Clang compilation databases, helping tooling that consumes compiler-command metadata.
Extensible outputs: Build caching and artifact packaging extend Qbs beyond simple compilation, allowing build results to be reused and packaged within the same system.
Pricing
Qbs costs nothing under the Qbs plan. It is open source, and the library and tools are offered under commercial licenses, LGPL version 3, and GPL version 2. There are no paid tiers, seat charges, quotas, trial periods, or renewal terms to weigh; the practical decision is which license is appropriate for the project.
Platforms
Qbs runs on Android, iOS, Linux, macOS, and Windows. Its documented built-in targets also include tvOS, watchOS, QNX, and FreeBSD, with cross-compilation support for projects that build on one system for another.
Binary packages are available for Windows, macOS, Linux, and FreeBSD, and Qbs can be built locally from source. Other UNIX and Unix-like systems may work, but they are not regularly tested or officially supported, making those environments a less predictable choice.
The Makefile generator refuses to create a Makefile when the source, build, or install root directory contains spaces. Projects that depend on Makefile generation should keep those paths free of spaces or select another output route.
Who it's for
Qbs is a strong fit for multi-platform teams that want one build description across varied languages and toolkits, especially when Qt Creator or Visual Studio Code is already central to development. Its target breadth, cross-compilation support, incremental behavior, and packaging features also suit projects that need repeatable builds across desktop, mobile, embedded, and other documented targets.
It is less suitable when a project requires a fully mature generator workflow for Visual Studio, IAR, or Keil, or when officially supported operation on an untested UNIX-like system is essential. The Makefile path rule is another reason to look elsewhere if directory naming cannot be controlled.
Pros and cons
Pros
Declarative task and dependency descriptions work across programming languages, toolkits, and libraries.
Correct incremental builds and default all-core parallelism can reduce rebuild time, with configurable concurrency for constrained machines.
Documented targets span Windows, Linux, macOS, Android, iOS, tvOS, watchOS, QNX, FreeBSD, and cross-compilation.
Qt Creator and Visual Studio Code integrations, compilation-database generation, caching, and artifact packaging support a broad development workflow.
Free, open-source distribution with commercial, LGPL 3, and GPL 2 licensing options.
Cons
Visual Studio, IAR Embedded Workbench, and Keil uVision project generation is experimental, so generated projects may not be dependable as the primary workflow.
The Makefile generator rejects source, build, or install roots containing spaces.
Other UNIX and Unix-like platforms are not regularly tested or officially supported.
Alternatives
Choose Build Automation Software to compare Qbs with a broader set of build tools.
Nx is the better fit for teams wanting a freemium option with web and self-hosted platforms, a free Hobby plan capped at 50,000 monthly-reset credits, five contributors, and ten concurrent CI connections.
fastlane suits mobile-focused workflows spanning Android and iOS, with Linux, macOS, and Windows support and MIT-licensed open-source distribution.
Bazel is an alternative open-source build and test tool for Linux, macOS, and Windows.
FASTBuild is another no-cost open-source option for Linux, macOS, and Windows, with commercial use and redistribution permitted under its license terms.
Gradle provides an open-source build system for Linux, macOS, Windows, and API-based environments.
Pants offers a no-charge Apache License 2.0 build tool for Linux, macOS, and Windows.
qmake is worth considering for Qt Community Edition projects on iOS, Linux, macOS, or Windows, with LGPL or GPL open-source use and limited access to some Qt capabilities.
Shake is a BSD-licensed open-source alternative for Linux, macOS, and Windows, installed with Haskell Stack.
Verdict
Choose Qbs when you need a free, extensible build system that expresses dependencies declaratively across many targets and integrates with Qt Creator or Visual Studio Code. Look elsewhere when experimental project generators, unsupported UNIX-like environments, or the Makefile generator's no-spaces rule conflict with your delivery pipeline.
Verdict
Qbs covers a broad range of targets and offers declarative builds, IDE integrations, and compilation database generation. Note that project generation is experimental, and the Makefile generator has a directory-name restriction.
Where Specifiction places it
- Build Automation Software#23 of 427.6