Qbs Manual | resolve

Qbs 1.14.0

# resolve

## Synopsis

      qbs resolve [options] [[config:configuration-name] [property:value] ...]

## Description

Resolves a project in one or more configurations. Run this command to change the properties of an existing build.

## Options

### `--build-directory|-d <directory>`

Specifies a `<directory>` where build artifacts are stored.

The default value is the current directory unless `preferences.defaultBuildDirectory` is set.

Relative paths will be interpreted relative to the current directory.

You can use the following special values as placeholders:

- `@project` is expanded to the name of the project file excluding the extension `.qbs`.
- `@path` is expanded to the name of the directory containing the project file.

### `--dry-run|-n`

Performs a dry run. No commands will be executed and no permanent changes to the build graph will be done.

### `[--file|-f <file>]`

Uses `<file>` as the project file. If `<file>` is a directory and it contains a single file with the extension `.qbs`, that file will be used.

If this option is not given at all, the behavior is the same as for `-f <working-dir>`.

### `--force-probe-execution`

Forces re-execution of all Probe items' configure scripts, rather than using the cached data.

### `--less-verbose|-q`

Becomes more quiet by decreasing the log level by one. This option can be given more than once. Excessive occurrences have no effect.

If the option `--log-level` appears anywhere on the command line in addition to this option, its value is taken as the base for the decrease.

### `--log-level <level>`

Uses the specified log level.

Possible values of `<level>` are:

- `error`
- `warning`
- `info` (default value)
- `debug`
- `trace`

### `--log-time`

Logs the time that the operations involved in this command take.

This option is implied in log levels `debug` and higher.

This option is mutually exclusive with `--show-progress`.

### `--more-verbose|-v`

Becomes more verbose by increasing the log level by one. This option can be given more than once. Excessive occurrences have no effect.

If the option `--log-level` appears anywhere on the command line in addition to this option, its value is taken as the base for the increase.

### `--settings-dir <directory>`

Reads all settings (such as profile information) from the specified `<directory>`. If the directory does not exist, it will be created.

The default value is system-specific. For example:

- Linux: `$HOME/.config/QtProject/qbs`
- Windows: `%APPDATA%\QtProject\qbs`
- macOS: `$HOME/Library/Preferences/qbs`

### `--show-progress`

Shows how command execution is progressing.

This option is mutually exclusive with `--log-time`.

### `--no-fallback-module-provider`

If this option is set, then Qbs will not fall back to a pkg-config based module provider if a dependency is not found.

## Parameters

### `config:configuration-name`

Specifies the build configuration to use.

Qbs can build a project for one or multiple configurations at once, each having a different set of parameters. The `config` parameter has a special function: with each occurrence a new configuration instance begins and all subsequent parameters until the next `config` are assigned to this instance. Parameter assignments before the first occurrence of `config` are applied to all build configurations. Inside products and modules, the current active build configuration can be retrieved via qbs.configurationName.

In the following snippet, a profile `clang` is applied to all configurations while `cpp.optimization` is different for `debug` and `release`:

      profile:clang config:debug cpp.optimization:none config:release cpp.optimization:small

The value of `config` determines the name of the build folder and affects the default value of the qbs.buildVariant property. Qbs knows the `config` values `"debug"` and `"release"`, but in general any name can be chosen. When naming configurations created for special purposes, follow the rules for legal names generally used in programming languages:

- The first character must be a letter (a-z), an underscore (_), or a dollar sign ($).
- Subsequent characters may be letters, digits, underscores, or dollar signs.

### `property:value`

Property values set in project files or profiles can be overridden on the command line. The syntax is:

      <prefix>.<property-name>:<property-value>

For more information, see Overriding Property Values from the Command Line.

## Examples

Resolves the default configuration of the project in the current directory:

      qbs resolve