安装

摘要

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

描述

将标记为可安装的所有文件安装到相应的位置。如果需要,首先构建项目,除非指定了 --no-build 选项。

有关更多信息,请参阅 安装文件

选项

--all-products

处理所有 组件,即使它们的 builtByDefault 属性为 false

--build-directory|-d <directory>

指定用于存储构建工件的位置 <directory>

默认值是当前目录,除非指定了 preferences.defaultBuildDirectory

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

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

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

--changed-files <file>[,<file>...]

假设由 <file> 指定的文件,以及仅这些文件已更改。

--check-outputs

强制转换器输出 工件 检查。

验证项目 规则 中声明的输出工件实际已创建。

--check-timestamps

强制时间戳检查。

从文件系统检索时间戳,而不是使用存储在构建图中的文件时间戳。

--clean-install-root

在安装之前删除安装基本目录。

--command-echo-mode <mode>

确定在执行命令时要显示哪种类型的输出。

<mode> 的可能值是

  • 静默
  • summary(默认值)
  • 命令行
  • 带有环境的命令行

--dry-run|-n

执行预演。不会执行任何命令,并且构建图不会进行永久性更改。

[--file|-f <file>]

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

若未指定此选项,行为与使用 -f <working-dir> 时相同。

--force-probe-execution

强制重新执行所有 探测 项目的配置脚本,而不是使用缓存的数据。

--install-root <目录>

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

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

使用特殊值 @sysroot 将其安装到 sysroot,即为 qbs.sysroot 属性的值。

--jobs|-j <n>

使用 <n> 个并发构建任务,其中 <n> 必须是一个大于零的整数。

默认值是逻辑核心的数量。

--keep-going|-k

在出现错误时尽可能继续运行。

--less-verbose|-q

通过降低日志级别来减少消息的输出。此选项可以多次给出。过多次数不会产生效果。

如果命令行中出现了此选项以外的 --log-level 选项,其值将作为降低的基础。

--log-level <级别>

使用指定的日志级别。

<级别> 的可能值包括:

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

--log-time

记录命令中涉及到的操作所花费的时间。

此选项包含在日志级别 debug 及更高级别中。

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

--more-verbose|-v

通过将日志级别提高来提高消息的输出。此选项可以多次给出。过多次数不会产生效果。

如果命令行中出现了此选项以外的 --log-level 选项,其值将作为提高的基础。

--no-build

在安装或运行项目前不重新构建项目。

--products|-p <名称>[,<名称>...]

仅考虑由 <名称> 指定以及它们的依赖项。

--settings-dir <目录>

从指定的 <目录> 读取所有设置(如 概要文件 信息)。如果该目录不存在,将会创建。

默认值与操作系统相关。例如

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

--wait-lock

无限期等待其他进程释放构建图锁。

此选项通常由生成器使用,这些生成器可能同时在同一项目上重新调用多个Qbs进程。

参数

config:configuration-name

指定要使用的构建配置。

Qbs可以一次性为一个或多个配置构建项目,每个配置都有自己的参数集。参数config有一个特殊功能:每次出现时,一个新的配置实例开始,直到下一次出现的所有后续参数都将分配给此实例。在第一次出现config之前的参数赋值适用于所有构建配置。在产品和模块内部,可以通过qbs.configurationName检索当前活动的构建配置。

在下面的代码片段中,对所有配置应用了配置clang,而cpp.optimizationdebugrelease不同。

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

config的值决定了构建文件夹的名称,并影响qbs.buildVariant属性的默认值。Qbs知道config的值“debug”和“release”,但通常可以任意选择。为特定用途创建配置时,应遵循编程语言中通常使用的合法名称规则。

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

property:value

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

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

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

示例

©2023 The Qt Company Ltd. 本文档中包含的贡献是各自所有者的版权。提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款许可的。Qt及其相关标志是The Qt Company Ltd在芬兰和其他国家的商标。所有其他商标均为其各自所有者的财产。