generate
Synopsis
qbs generate [options] [[configuration-name] [property:value] ...]
Description
Invokes a project generator, for example to create project files for another build tool.
For more information, see Generators.
Options
--generator|-g <generator>
Uses the specified build system generator.
Possible values of <generator>
include:
clangdb
visualstudio2015
The available generators are listed if you run the qbs generate
command without passing a generator to it.
--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.
[--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>
.
--install-root <directory>
Installs into the specified <directory>
. If the directory does not exist, it will be created.
The default value is <build
dir>/install-root.
Use the special value @sysroot
to install into the sysroot
. That is, the value of the qbs.sysroot property.
--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
.
Note: This option is not available on a Windows host.
Parameters
configuration-name
Specifies the build configuration to use.
The debug
and release
configuration names imply the respective build variant. A debug build contains additional debug symbols that are needed for debugging the application but that can be left out from the release version. Generally, debug builds are used for testing and release builds for creating the final installation file.
The build variant can also be specified explicitly by using the qbs.buildVariant property.
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
Generates a project for Microsoft Visual Studio:
qbs generate -g visualstudio2015
Generates a Clang compilation database (clangdb):
qbs generate --generator clangdb