Qbs

Blog Documentation Get Qbs Community
  • Qbs Manual
  • Command-Line Interface
  • clean
  • Qbs 2.4.0
  • clean

    Synopsis

    qbs clean [options] [config:configuration-name]

    Description

    Removes build artifacts for the specified build configuration.

    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.

    --keep-going|-k

    Keeps going when errors occur, if at all possible.

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

    --products|-p <name>[,<name>...]

    Takes only the products specified by <name> and their dependencies into account.

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

    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.

    Examples

    Removes the build artifacts in the current directory for the default build configuration:

    qbs clean