Qbs Manual

Appendix D: Licenses and Code Attributions

Licenses

GNU Lesser General Public License, Version 3

GNU General Public License Version 3, Annotated with The Qt Company GPL Exception 1.0

GNU Lesser General Public License, Version 2.1

The Qt Company LGPL Exception version 1.1

Third-Party Attibutions

Building Applications

Appendix A: Building Qbs

Supported Platforms

System Requirements

Documentation

Building Qbs with СMake

CMake Configure Options

Using ccache with CMake

Building Qbs with Qbs

Qbs Build Options

Using Docker

Linux Containers

Windows Containers

Building Release Packages

build

Synopsis

Description

Options

<@op>-</@op><@op>-</@op>all<@op>-</@op>products

<@op>-</@op><@op>-</@op>build<@op>-</@op>directory<@op>|</@op><@op>-</@op>d <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>changed<@op>-</@op>files <@op>&lt;</@op>file<@op>&gt;</@op><@op>[</@op><@op>,</@op><@op>&lt;</@op>file<@op>&gt;</@op><@op>.</@op><@op>.</@op><@op>.</@op><@op>]</@op>

<@op>-</@op><@op>-</@op>check<@op>-</@op>outputs

<@op>-</@op><@op>-</@op>check<@op>-</@op>timestamps

<@op>-</@op><@op>-</@op>clean<@op>-</@op>install<@op>-</@op>root

<@op>-</@op><@op>-</@op>command<@op>-</@op>echo<@op>-</@op>mode <@op>&lt;</@op>mode<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>dry<@op>-</@op>run<@op>|</@op><@op>-</@op>n

<@op>[</@op><@op>-</@op><@op>-</@op>file<@op>|</@op><@op>-</@op>f <@op>&lt;</@op>file<@op>&gt;</@op><@op>]</@op>

<@op>-</@op><@op>-</@op>force<@op>-</@op>probe<@op>-</@op>execution

<@op>-</@op><@op>-</@op>jobs<@op>|</@op><@op>-</@op>j <@op>&lt;</@op>n<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>job<@op>-</@op>limits <@op>&lt;</@op>pool1<@op>&gt;</@op>:<@op>&lt;</@op>limit1<@op>&gt;</@op><@op>[</@op><@op>,</@op><@op>&lt;</@op>pool2<@op>&gt;</@op>:<@op>&lt;</@op>limit2<@op>&gt;</@op><@op>.</@op><@op>.</@op><@op>.</@op><@op>]</@op>

<@op>-</@op><@op>-</@op>enforce<@op>-</@op>project<@op>-</@op>job<@op>-</@op>limits

<@op>-</@op><@op>-</@op>keep<@op>-</@op>going<@op>|</@op><@op>-</@op>k

<@op>-</@op><@op>-</@op>less<@op>-</@op>verbose<@op>|</@op><@op>-</@op>q

<@op>-</@op><@op>-</@op>log<@op>-</@op>level <@op>&lt;</@op>level<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>log<@op>-</@op>time

<@op>-</@op><@op>-</@op>more<@op>-</@op>verbose<@op>|</@op><@op>-</@op>v

<@op>-</@op><@op>-</@op>no<@op>-</@op>install

<@op>-</@op><@op>-</@op>products<@op>|</@op><@op>-</@op>p <@op>&lt;</@op>name<@op>&gt;</@op><@op>[</@op><@op>,</@op><@op>&lt;</@op>name<@op>&gt;</@op><@op>.</@op><@op>.</@op><@op>.</@op><@op>]</@op>

<@op>-</@op><@op>-</@op>settings<@op>-</@op>dir <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>show<@op>-</@op>progress

<@op>-</@op><@op>-</@op>wait<@op>-</@op>lock

Parameters

config:configuration<@op>-</@op>name

property:value

Examples

clean

Synopsis

Description

Options

<@op>-</@op><@op>-</@op>build<@op>-</@op>directory<@op>|</@op><@op>-</@op>d <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>dry<@op>-</@op>run<@op>|</@op><@op>-</@op>n

<@op>-</@op><@op>-</@op>keep<@op>-</@op>going<@op>|</@op><@op>-</@op>k

<@op>-</@op><@op>-</@op>less<@op>-</@op>verbose<@op>|</@op><@op>-</@op>q

<@op>-</@op><@op>-</@op>log<@op>-</@op>level <@op>&lt;</@op>level<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>log<@op>-</@op>time

<@op>-</@op><@op>-</@op>more<@op>-</@op>verbose<@op>|</@op><@op>-</@op>v

<@op>-</@op><@op>-</@op>products<@op>|</@op><@op>-</@op>p <@op>&lt;</@op>name<@op>&gt;</@op><@op>[</@op><@op>,</@op><@op>&lt;</@op>name<@op>&gt;</@op><@op>.</@op><@op>.</@op><@op>.</@op><@op>]</@op>

<@op>-</@op><@op>-</@op>settings<@op>-</@op>dir <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>show<@op>-</@op>progress

Parameters

config:configuration<@op>-</@op>name

Examples

config-ui

Synopsis

Description

Options

<@op>-</@op><@op>-</@op>settings<@op>-</@op>dir <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>system

<@op>-</@op><@op>-</@op>help<@op>|</@op><@op>-</@op>h<@op>|</@op><@op>-</@op><@op>?</@op>

Examples

config

Synopsis

Description

Options

<@op>-</@op><@op>-</@op>settings<@op>-</@op>dir <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>list <@op>[</@op><@op>&lt;</@op>root<@op>&gt;</@op> <@op>.</@op><@op>.</@op><@op>.</@op><@op>]</@op>

<@op>-</@op><@op>-</@op>unset <@op>&lt;</@op>key<@op>&gt;</@op>

<@op>-</@op><@op>-</@op><@keyword>export</@keyword> <@op>&lt;</@op>file<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>import <@op>&lt;</@op>file<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>user

<@op>-</@op><@op>-</@op>system

<@op>-</@op><@op>-</@op>help<@op>|</@op><@op>-</@op>h<@op>|</@op><@op>-</@op><@op>?</@op>

Parameters

<@op>&lt;</@op>key<@op>&gt;</@op>

Examples

create-project

Synopsis

Description

Options

<@op>-</@op><@op>-</@op>blacklist <@op>&lt;</@op>blacklist<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>whitelist <@op>&lt;</@op>whitelist<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>flat

<@op>-</@op><@op>-</@op>help<@op>|</@op><@op>-</@op>h<@op>|</@op><@op>-</@op><@op>?</@op>

Examples

dump-nodes-tree

Synopsis

Description

Options

<@op>-</@op><@op>-</@op>build<@op>-</@op>directory<@op>|</@op><@op>-</@op>d <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>products<@op>|</@op><@op>-</@op>p <@op>&lt;</@op>name<@op>&gt;</@op><@op>[</@op><@op>,</@op><@op>&lt;</@op>name<@op>&gt;</@op><@op>.</@op><@op>.</@op><@op>.</@op><@op>]</@op>

<@op>-</@op><@op>-</@op>settings<@op>-</@op>dir <@op>&lt;</@op>directory<@op>&gt;</@op>

Parameters

config:configuration<@op>-</@op>name

Examples

generate

Synopsis

Description

Options

<@op>-</@op><@op>-</@op>generator<@op>|</@op><@op>-</@op>g <@op>&lt;</@op>generator<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>build<@op>-</@op>directory<@op>|</@op><@op>-</@op>d <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>[</@op><@op>-</@op><@op>-</@op>file<@op>|</@op><@op>-</@op>f <@op>&lt;</@op>file<@op>&gt;</@op><@op>]</@op>

<@op>-</@op><@op>-</@op>install<@op>-</@op>root <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>less<@op>-</@op>verbose<@op>|</@op><@op>-</@op>q

<@op>-</@op><@op>-</@op>log<@op>-</@op>level <@op>&lt;</@op>level<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>log<@op>-</@op>time

<@op>-</@op><@op>-</@op>more<@op>-</@op>verbose<@op>|</@op><@op>-</@op>v

<@op>-</@op><@op>-</@op>settings<@op>-</@op>dir <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>show<@op>-</@op>progress

Parameters

config:configuration<@op>-</@op>name

property:value

Examples

help

Synopsis

Description

Options

Examples

install

Synopsis

Description

Options

<@op>-</@op><@op>-</@op>all<@op>-</@op>products

<@op>-</@op><@op>-</@op>build<@op>-</@op>directory<@op>|</@op><@op>-</@op>d <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>changed<@op>-</@op>files <@op>&lt;</@op>file<@op>&gt;</@op><@op>[</@op><@op>,</@op><@op>&lt;</@op>file<@op>&gt;</@op><@op>.</@op><@op>.</@op><@op>.</@op><@op>]</@op>

<@op>-</@op><@op>-</@op>check<@op>-</@op>outputs

<@op>-</@op><@op>-</@op>check<@op>-</@op>timestamps

<@op>-</@op><@op>-</@op>clean<@op>-</@op>install<@op>-</@op>root

<@op>-</@op><@op>-</@op>command<@op>-</@op>echo<@op>-</@op>mode <@op>&lt;</@op>mode<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>dry<@op>-</@op>run<@op>|</@op><@op>-</@op>n

<@op>[</@op><@op>-</@op><@op>-</@op>file<@op>|</@op><@op>-</@op>f <@op>&lt;</@op>file<@op>&gt;</@op><@op>]</@op>

<@op>-</@op><@op>-</@op>force<@op>-</@op>probe<@op>-</@op>execution

<@op>-</@op><@op>-</@op>install<@op>-</@op>root <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>jobs<@op>|</@op><@op>-</@op>j <@op>&lt;</@op>n<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>keep<@op>-</@op>going<@op>|</@op><@op>-</@op>k

<@op>-</@op><@op>-</@op>less<@op>-</@op>verbose<@op>|</@op><@op>-</@op>q

<@op>-</@op><@op>-</@op>log<@op>-</@op>level <@op>&lt;</@op>level<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>log<@op>-</@op>time

<@op>-</@op><@op>-</@op>more<@op>-</@op>verbose<@op>|</@op><@op>-</@op>v

<@op>-</@op><@op>-</@op>no<@op>-</@op>build

<@op>-</@op><@op>-</@op>products<@op>|</@op><@op>-</@op>p <@op>&lt;</@op>name<@op>&gt;</@op><@op>[</@op><@op>,</@op><@op>&lt;</@op>name<@op>&gt;</@op><@op>.</@op><@op>.</@op><@op>.</@op><@op>]</@op>

<@op>-</@op><@op>-</@op>settings<@op>-</@op>dir <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>wait<@op>-</@op>lock

Parameters

config:configuration<@op>-</@op>name

property:value

Examples

list-products

Synopsis

Description

Options

<@op>[</@op><@op>-</@op><@op>-</@op>file<@op>|</@op><@op>-</@op>f <@op>&lt;</@op>file<@op>&gt;</@op><@op>]</@op>

<@op>-</@op><@op>-</@op>build<@op>-</@op>directory<@op>|</@op><@op>-</@op>d <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>settings<@op>-</@op>dir <@op>&lt;</@op>directory<@op>&gt;</@op>

Parameters

config:configuration<@op>-</@op>name

Examples

resolve

Synopsis

Description

Options

<@op>-</@op><@op>-</@op>build<@op>-</@op>directory<@op>|</@op><@op>-</@op>d <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>dry<@op>-</@op>run<@op>|</@op><@op>-</@op>n

<@op>[</@op><@op>-</@op><@op>-</@op>file<@op>|</@op><@op>-</@op>f <@op>&lt;</@op>file<@op>&gt;</@op><@op>]</@op>

<@op>-</@op><@op>-</@op>force<@op>-</@op>probe<@op>-</@op>execution

<@op>-</@op><@op>-</@op>less<@op>-</@op>verbose<@op>|</@op><@op>-</@op>q

<@op>-</@op><@op>-</@op>log<@op>-</@op>level <@op>&lt;</@op>level<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>log<@op>-</@op>time

<@op>-</@op><@op>-</@op>more<@op>-</@op>verbose<@op>|</@op><@op>-</@op>v

<@op>-</@op><@op>-</@op>settings<@op>-</@op>dir <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>show<@op>-</@op>progress

<@op>-</@op><@op>-</@op>deprecation<@op>-</@op>warnings <@op>&lt;</@op>mode<@op>&gt;</@op>

Parameters

config:configuration<@op>-</@op>name

property:value

Examples

run

--setup-run-env-config

Synopsis

Description

Options

<@op>-</@op><@op>-</@op>all<@op>-</@op>products

<@op>-</@op><@op>-</@op>build<@op>-</@op>directory<@op>|</@op><@op>-</@op>d <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>changed<@op>-</@op>files <@op>&lt;</@op>file<@op>&gt;</@op><@op>[</@op><@op>,</@op><@op>&lt;</@op>file<@op>&gt;</@op><@op>.</@op><@op>.</@op><@op>.</@op><@op>]</@op>

<@op>-</@op><@op>-</@op>check<@op>-</@op>outputs

<@op>-</@op><@op>-</@op>check<@op>-</@op>timestamps

<@op>-</@op><@op>-</@op>clean<@op>-</@op>install<@op>-</@op>root

<@op>-</@op><@op>-</@op>command<@op>-</@op>echo<@op>-</@op>mode <@op>&lt;</@op>mode<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>dry<@op>-</@op>run<@op>|</@op><@op>-</@op>n

<@op>[</@op><@op>-</@op><@op>-</@op>file<@op>|</@op><@op>-</@op>f <@op>&lt;</@op>file<@op>&gt;</@op><@op>]</@op>

<@op>-</@op><@op>-</@op>force<@op>-</@op>probe<@op>-</@op>execution

<@op>-</@op><@op>-</@op>install<@op>-</@op>root <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>jobs<@op>|</@op><@op>-</@op>j <@op>&lt;</@op>n<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>keep<@op>-</@op>going<@op>|</@op><@op>-</@op>k

<@op>-</@op><@op>-</@op>less<@op>-</@op>verbose<@op>|</@op><@op>-</@op>q

<@op>-</@op><@op>-</@op>log<@op>-</@op>level <@op>&lt;</@op>level<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>log<@op>-</@op>time

<@op>-</@op><@op>-</@op>more<@op>-</@op>verbose<@op>|</@op><@op>-</@op>v

<@op>-</@op><@op>-</@op>no<@op>-</@op>build

<@op>-</@op><@op>-</@op>products<@op>|</@op><@op>-</@op>p <@op>&lt;</@op>name<@op>&gt;</@op><@op>[</@op><@op>,</@op><@op>&lt;</@op>name<@op>&gt;</@op><@op>.</@op><@op>.</@op><@op>.</@op><@op>]</@op>

<@op>-</@op><@op>-</@op>settings<@op>-</@op>dir <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>setup<@op>-</@op>run<@op>-</@op>env<@op>-</@op>config

<@op>-</@op><@op>-</@op>wait<@op>-</@op>lock

Parameters

config:configuration<@op>-</@op>name

property:value

Arguments

<@op>-</@op><@op>-</@op> <arguments>

Examples

session

Synopsis

Description

setup-android

Synopsis

Description

Options

<@op>-</@op><@op>-</@op>settings<@op>-</@op>dir <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>ndk<@op>-</@op>dir <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>sdk<@op>-</@op>dir <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>qt<@op>-</@op>dir <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>help<@op>|</@op><@op>-</@op>h<@op>|</@op><@op>-</@op><@op>?</@op>

Examples

setup-qt

Synopsis

Description

Options

<@op>-</@op><@op>-</@op>detect

<@op>-</@op><@op>-</@op>settings<@op>-</@op>dir <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>system

<@op>-</@op><@op>-</@op>help<@op>|</@op><@op>-</@op>h<@op>|</@op><@op>-</@op><@op>?</@op>

Examples

setup-toolchains

Synopsis

Description

Options

<@op>-</@op><@op>-</@op>settings<@op>-</@op>dir <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>system

<@op>-</@op><@op>-</@op>detect

<@op>-</@op><@op>-</@op>type <@op>&lt;</@op>toolchain type<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>help<@op>|</@op><@op>-</@op>h<@op>|</@op><@op>-</@op><@op>?</@op>

Examples

shell

Synopsis

Description

Options

<@op>-</@op><@op>-</@op>build<@op>-</@op>directory<@op>|</@op><@op>-</@op>d <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>[</@op><@op>-</@op><@op>-</@op>file<@op>|</@op><@op>-</@op>f <@op>&lt;</@op>file<@op>&gt;</@op><@op>]</@op>

<@op>-</@op><@op>-</@op>products<@op>|</@op><@op>-</@op>p <@op>&lt;</@op>name<@op>&gt;</@op><@op>[</@op><@op>,</@op><@op>&lt;</@op>name<@op>&gt;</@op><@op>.</@op><@op>.</@op><@op>.</@op><@op>]</@op>

<@op>-</@op><@op>-</@op>settings<@op>-</@op>dir <@op>&lt;</@op>directory<@op>&gt;</@op>

Parameters

config:configuration<@op>-</@op>name

property:value

Examples

status

Synopsis

Description

Options

<@op>-</@op><@op>-</@op>build<@op>-</@op>directory<@op>|</@op><@op>-</@op>d <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>settings<@op>-</@op>dir <@op>&lt;</@op>directory<@op>&gt;</@op>

Parameters

config:configuration<@op>-</@op>name

Examples

update-timestamps

Synopsis

Description

Options

<@op>-</@op><@op>-</@op>build<@op>-</@op>directory<@op>|</@op><@op>-</@op>d <@op>&lt;</@op>directory<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>less<@op>-</@op>verbose<@op>|</@op><@op>-</@op>q

<@op>-</@op><@op>-</@op>log<@op>-</@op>level <@op>&lt;</@op>level<@op>&gt;</@op>

<@op>-</@op><@op>-</@op>more<@op>-</@op>verbose<@op>|</@op><@op>-</@op>v

<@op>-</@op><@op>-</@op>products<@op>|</@op><@op>-</@op>p <@op>&lt;</@op>name<@op>&gt;</@op><@op>[</@op><@op>,</@op><@op>&lt;</@op>name<@op>&gt;</@op><@op>.</@op><@op>.</@op><@op>.</@op><@op>]</@op>

<@op>-</@op><@op>-</@op>settings<@op>-</@op>dir <@op>&lt;</@op>directory<@op>&gt;</@op>

Parameters

config:configuration<@op>-</@op>name

property:value

Examples

show-version

Synopsis

Description

Options

Command and JavaScriptCommand

Command

JavaScriptCommand

Properties

Common Properties

Command Properties

JavaScriptCommand Properties

Configuring Profiles and Preferences

Setting Up Toolchain Profiles

Global Preferences

Managing Profiles and Preferences

Custom Modules and Items

File System Layout

Custom Modules

Custom Items

Making Qbs Aware of Custom Modules and Items

Project-specific Modules and Items

Making Custom Modules and Items Available Across Projects

Generators

Generating Microsoft Visual Studio Projects

Generating IAR Embedded Workbench Projects

KEIL uVision Projects

Generating Clang Compilation Databases

Generating Makefiles

Targets

Pre-defined Variables

Spaces in Directory Names

Platform-specific Differences in Format

Limitations

How-tos

How do I build a Qt-based project?

How do I make my app build against my library?

Choosing Between Dynamic and Statically-built Qt Projects

How do I build release with debug information?

How do I separate and install debugging symbols?

How do I use precompiled headers?

How do I make use of rpaths?

How do I make sure my generated sources are getting compiled?

How do I run my autotests?

How do I use ccache?

How do I create a module for a third-party library?

How do I create application bundles and frameworks on iOS, macOS, tvOS, and watchOS?

How do I build against libraries that provide pkg-config files?

How do I apply C/C++ preprocessor macros to only a subset of the files in my product?

How do I disable a compiler warning?

How do I make the state of my Git repository available to my source files?

How do I limit the number of concurrent jobs for the linker only?

How do I add QML files to a project?

How do I define a reusable Group of files that can be included in other Qbs files?

How do I access properties of a base type?

How do I print the value of a property?

How do I debug Qbs scripts?

How do I sign an application for an Apple platform?

Qbs Manual

Version 3.3.0

Installing Files

Installing

Windows

macOS

Linux and FreeBSD

BinaryFile Service

Related Declarations

BinaryFile.OpenMode

Available operations

Constructor

atEof

close

filePath

size

resize

pos

seek

read

write

Environment Service

Available Operations

currentEnv

getEnv

putEnv

unsetEnv

File Service

Available Operations

copy

exists

directoryEntries

lastModified

makePath

move

remove

FileInfo Service

Available Operations

baseName

canonicalPath

cleanPath

completeBaseName

completeSuffix

fileName

fromNativeSeparators

fromWindowsSeparators

isAbsolutePath

joinPaths

path

relativePath

suffix

toNativeSeparators

toWindowsSeparators

pathListSeparator

pathSeparator

executableSuffix

Host Service

Available Operations

architecture

os

platform

osVersion

osBuildVersion

osVersionParts

osVersionMajor

osVersionMinor

osVersionPatch

nullDevice

Process Service

Available Operations

Constructor

close

closeWriteChannel

errorString

exec

exitCode

getEnv

kill

readLine

atEnd

readStdErr

readStdOut

setCodec

setEnv

setWorkingDirectory

start

terminate

waitForFinished

workingDirectory

write

writeLine

PropertyList Service

Available operations

Constructor

clear

isEmpty

format

readFromFile

readFromObject

readFromString

toObject

toJSON

toString

toXMLString

writeToFile

TemporaryDir Service

Available Operations

Constructor

isValid

path

remove

TextFile Service

Related Declarations

TextFile.OpenMode

Available operations

Constructor

atEof

close

filePath

readAll

readLine

setCodec

truncate

write

writeLine

Utilities Service

Available Operations

cStringQuote

getHash

rfc1034Identifier

versionCompare

Xml Service

XML DOM Document Node Operations

Constructor

createCDATASection

createElement

createTextNode

documentElement

load

save

setContent

toString

XML DOM Node Operations

Constructor

appendChild

attribute

clear

data

firstChild

hasAttribute

hasAttributes

hasChildNodes

insertAfter

insertBefore

isCDATASection

isElement

isText

lastChild

nextSibling

parentNode

previousSibling

removeChild

replaceChild

setAttribute

setData

setTagName

tagName

text

General Services

Available Operations

require

Extensions to JavaScript Built-in Objects

Array.containsAll

Array.containsAny

Array.uniqueConcat

Console API

console.debug

console.error

console.info

console.log

console.warn

Appendix C: The JSON API

Packet Format

Messages

The hello Message

Resolving a Project

Building a Project

Cleaning a Project

Installing a Project

Canceling an Operation

Adding, Removing and Renaming Source Files

Adding Dependencies

The get<@op>-</@op>run<@op>-</@op>environment Message

The get<@op>-</@op>generated<@op>-</@op>files<@op>-</@op><@keyword>for</@keyword><@op>-</@op>sources Message

Closing a Project

Closing the Session

Progress Messages

The task<@op>-</@op>started Message

The task<@op>-</@op>progress Message

The <@keyword>new</@keyword><@op>-</@op>max<@op>-</@op>progress Message

Messages for Users

The log<@op>-</@op>data Message

The warning Message

The protocol<@op>-</@op>error Message

Project Data

TopLevelProjectData

PlainProjectData

ProductData

GroupData

ArtifactData

ModulePropertiesData

Other Custom Data Types

FilePath

Location

ErrorInfo

DataMode

LogLevel

Environment

Language Introduction

The Obligatory Hello World Example

Reusing Project File Code

Modules

Different Properties for a Single File

Selecting Files by Properties

Property Types

Overriding Property Values from the Command Line

File Tags and Taggers

Rules

Module Providers

Lookup Based on Module Name

Provider Eagerness

Selecting Module Providers

Parameterizing Module Providers

How Qbs Uses Module Providers

Multiplexing

Introduction

Features

Declarative Paradigm

Well-Defined Language

Platform and Programming Language Independence

Correct and Fast Incremental Builds

Extensible Architecture

IDE Integration

Qt Creator

Visual Studio Code

Build Process

Appendix B: Migrating from Other Build Systems

Migrating from qmake

CONFIG

console

ordered

qt

DEFINES

DESTDIR

HEADERS, SOURCES, FORMS, RESOURCES, OTHER_FILES

ICON

INCLUDEPATH

LIBS

OUT_PWD

PWD

_PRO_FILE_

_PRO_FILE_PWD_

QMAKE_ASSET_CATALOGS

QMAKE_BUNDLE_DATA

QMAKE_BUNDLE_EXTENSION

QMAKE_{C,CXX,OBJECTIVE}_CFLAGS{_DEBUG,_RELEASE}

QMAKE_FRAMEWORK_BUNDLE_NAME

QMAKE_FRAMEWORK_VERSION

QMAKE_INFO_PLIST

QMAKE_LFLAGS

QMAKE_{MACOSX,IOS,TVOS,WATCHOS}_DEPLOYMENT_TARGET

QMAKE_RPATHDIR

QMAKE_SONAME_PREFIX

QML_IMPORT_PATH

QT

QTPLUGIN

RC_FILE

TARGET

TEMPLATE

app

lib

subdirs

message(), warning(), error(), log()

biplist

cppscanner

dmgbuild

ds_store

ds_store

mac_alias

mac_alias

QuickJS

Building for Android

Creating Android Application Packages

Building for INTEGRITY

Building for iOS

Building User Interfaces

Creating App Bundles

Multiple Architectures and Build Variants

Building for Linux

Building for macOS

Building User Interfaces

Creating App Bundles

Multiple Architectures and Build Variants

Building macOS Disk Images

Building for QNX

Building for tvOS

Building User Interfaces

Creating App Bundles

Multiple Architectures and Build Variants

Building for VxWorks

Building for watchOS

Building User Interfaces

Creating App Bundles

Multiple Architectures and Build Variants

Building for Windows

Windows Resources

Universal Windows Platform

Building Windows Installers

Qt Modules

Creating Dependencies to Qt Modules

List of Submodules

Managing Qt Versions

Introduction

Multiple Qt Builds

Reference

Running Applications

Setup

Using the Shell

Special Property Values

base

exportingProduct

filePath

importingProduct

module

original

outer

path

product

project

Console Application

C++20 Modules

Named Modules

Module Partitions

Modules and Libraries

Import std module

Static Library

Dynamic Library

Convenience Items

Autotest

Project Properties

Config Module

Configurable Library

Version Header

Tutorial

Usage

Node.js

Windows Installer XML Toolset

Inno Setup

BSD

TypeScript

Compiler Options

Homebrew

ccache

ccache documentation about precompiled headers

Chocolatey

JSON Compilation Database Format Specification

Adopt the @2x Naming Convention

DYLD documentation

dmgbuild - Settings

Qt Licensing

nanopb

protoc

Qt Account

GNU General Public License, version 2

MacPorts

Qt SDK

Qt Creator

Android.ndk

Relevant File Tags

Android.sdk

Relevant File Tags

AppleApplicationDiskImage

QML.AppleApplicationDiskImage

AppleDiskImage

QML.AppleDiskImage

Application

QML.Application

ApplicationExtension

QML.ApplicationExtension

Artifact

QML.Artifact

AutotestRunner

QML.AutotestRunner

Setting Properties for individual Tests

Relevant Job Pools

BinaryProbe

QML.BinaryProbe

ConanfileProbe

QML.ConanfileProbe

Examples

Using ConanfileProbe with Conan Module Provider

Including Files Generated by Conan

Setting Module Properties in Products

Setting Up a Profile

ConfigBuild

ConfigInstall

CppApplication

QML.CppApplication

CppLibrary

QML.CppLibrary

CppStd

QML.CppStd

Depends

QML.Depends

Dependency Parameters

DynamicLibrary

QML.DynamicLibrary

Export

QML.Export

Exporter.cmake

Relevant File Tags

Exporter.pkgconfig

Relevant File Tags

Exporter.qbs

Relevant File Tags

FileTagger

QML.FileTagger

FrameworkProbe

QML.FrameworkProbe

Group

QML.Group

Typical Uses of Groups by Example

Wildcards

Attaching Module Properties to Source Files

Attaching Module Properties to Generated Files

Groups in Modules

Grouping Related Items

IncludeProbe

QML.IncludeProbe

InnoSetup

QML.InnoSetup

InstallPackage

QML.InstallPackage

JavaClassCollection

QML.JavaClassCollection

JavaJarFile

QML.JavaJarFile

JobLimit

QML.JobLimit

Library

QML.NativeBinary

LibraryProbe

QML.IncludeProbe

LoadableModule

QML.LoadableModule

Module

QML.Module

Accessing Product and Module Properties

Accessing Properties of the Current Module

Properties of the Dependent Modules

Accessing Properties of the Dependent Product

Special Property Values

Dependency Parameters

ModuleProvider

QML.ModuleProvider

ObjectLibrary

QML.ObjectLibrary

Parameter

QML.Parameter

Parameters

QML.Parameters

PathProbe

QML.PathProbe

PkgConfigProbe

QML.PkgConfigProbe

Plugin

QML.Plugin

Probe

QML.Probe

Product

QML.Product

Multiplexing Properties

Read-Only Properties

Profile

QML.Profile

Project

QML.Project

Properties

QML.Properties

PropertyOptions

QML.PropertyOptions

Qt

Qt.android_support

Qt.core

Relevant File Tags

Qt.dbus

Relevant File Tags

Qt.declarative

Qt.gui

Relevant File Tags

Qt.plugin_support

Qt.qml

Relevant File Tags

Qt.quick

Relevant File Tags

Qt.scxml

Relevant File Tags

Qt.shadertools

Relevant File Tags

Example

QtApplication

QML.QtApplication

QtGuiApplication

QML.QtGuiApplication

QtLupdateRunner

QML.QtLupdateRunner

Relevant File Tags

Rule

inputs and outputs

QML.Rule

A Simple Example

The inputs and outputs Variables

Rules and Product Types

A Complete Example

Sanitizers.address

Scanner

QML.Scanner

StaticLibrary

QML.StaticLibrary

SubProject

QML.SubProject

XPCService

QML.XPCService

archiver

autotest

bundle

Dependency Parameters

Relevant File Tags

Main bundles

capnproto.cpp

Relevant File Tags

Dependencies

codesign

Relevant File Tags

conan

Prerequisites

Example

config.build

config.install

cpp

Setting Up the Run Environment

Dependency Parameters

Relevant File Tags

Relevant Job Pools

cpufeatures

dmg

Appearance Properties

License Properties

Relevant File Tags

flatbuf.c

Relevant File Tags

Dependencies

flatbuf.cpp

Relevant File Tags

Dependencies

freedesktop

Example usage

Relevant File Tags

ib

Relevant File Tags

ico

Relevant File Tags

innosetup

Relevant File Tags

installpaths

java

Relevant File Tags

lex_yacc

Relevant File Tags

nodejs

nsis

Relevant File Tags

pkgconfig

protobuf.cpp

Relevant File Tags

Dependencies

protobuf.nanopb

Relevant File Tags

protobuf.objc

Relevant File Tags

qbs

Installation Properties

Multiplexing Properties

qbspkgconfig

qnx

texttemplate

Example

Placeholder Syntax

Relevant File Tags

typescript

vcs

wix

Relevant File Tags

xcode

Command-Line Interface

List of Built-in Services

List of All Items

Target Platforms

List of Convenience Items

List of Language Items

List of Module Providers

List of Modules

List of Probes