生成

概要

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

描述

调用项目生成器,例如为其他构建工具创建项目文件。

更多信息,请参阅生成器

选项

--generator|-g <generator>

使用指定的构建系统生成器。

<generator>的可能值包括

  • clangdb
  • visualstudio2015
  • iarew8

如果在不传递生成器的情况下运行qbs generate命令,将会列出可用的生成器。

--build-directory|-d <directory>

指定一个存储构建目标文件的<directory>

默认值是当前目录,除非设置了preferences.defaultBuildDirectory

相对路径将被解释为相对于当前目录。

您可以使用以下特殊值作为占位符

  • @project扩展到不包括扩展名.qbs的项目文件名。
  • @path扩展到包含项目文件的目录名。

[--file|-f <file>]

使用<file>作为项目文件。如果<file>是一个目录且它包含一个扩展名为.qbs的单个文件,则将使用该文件。

如果没有给出此选项,则行为与-f <working-dir>相同。

--install-root <directory>

安装到指定的<directory>。如果目录不存在,它将被创建。

默认值是<build dir>/install-root。

使用特殊值@sysroot可以将安装到sysroot。这是qbs.sysroot属性的值。

--less-verbose|-q

通过降低日志级别之一变得更加安静。此选项可以给定多次。过多发生没有影响。

如果命令行上除了此选项外还有--log-level选项,则其值作为减少的基础。

--log-level <level>

使用指定的日志级别。

<level>的可能值为

  • 错误
  • 警告
  • info(默认值)
  • 调试
  • 跟踪

--log-time

记录此命令涉及的操作所需时间。

此选项在日志级别 debug(调试)及以上都默认开启。

此选项与 --show-progress 选项互斥。

--more-verbose|-v

通过增加日志级别来提高详细程度。此选项可以多次提供。过多的出现不会有影响。

如果命令行中除本选项外还出现了 --log-level 选项,它的值将被作为增加的基础。

--settings-dir <directory>

从指定的 <directory> 读取所有设置(如 配置文件 信息)。如果目录不存在,它将被创建。

默认值由系统决定。例如

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

--show-progress

显示命令执行的进度。

此选项与 --log-time 选项互斥。

参数

config:configuration-name

指定要使用的构建配置。

Qbs可以一次性构建一个或多个配置,每个配置有不同的参数集。`config` 参数有一个特殊功能:每出现一次,就会启动一个新的配置实例,随后直到下一个 `config` 参数的所有参数都将分配给该实例。`config` 出现之前的参数赋值将适用于所有构建配置。在产品和模块内部,可以通过 qbs.configurationName 获取当前活动的构建配置。

以下代码示例中,同心 clang 被应用于所有配置,而 cpp.optimization 对于 debugrelease 是不同的。

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

`config` 的值决定了构建文件夹的名称并影响 qbs.buildVariant 属性的默认值。Qbs 了解 `debug` 和 `release` 等值的 `config`,但通常可以选择任何名称。为特殊目的创建的配置命名时,请遵循在编程语言中通常使用的合法名称规则。

  • 第一个字符必须是字母(a-z)、下划线(_)或美元符号($)。
  • 后续字符可以是字母、数字、下划线或美元符号。

property:value

项目文件或配置文件中设置的属性值可以在命令行中被覆盖。语法是

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

有关更多信息,请参阅 从命令行覆盖属性值

示例

为 Microsoft Visual Studio 生成项目

qbs generate -g visualstudio2015

Clang 编译数据库(clangdb) 生成

qbs generate --generator clangdb

©2023 本文档中包含的 Qt 公司有限公司的文档贡献均为其各自的版权所有。提供的文档是根据自由软件基金会发布的、在GNU 自由文档许可证1.3版的条款授权使用的。Qt 及其相关标志是芬兰的 Qt 公司及/或其他国家/地区的商标。所有其他商标均为其各自所有者的财产。