分组
将产品中的文件分组。 更多...
- 所有成员的列表,包括继承成员
- 分组是所有项列表的一部分。
属性
- condition : bool
- excludeFiles : pathList
- fileTags : stringList
- fileTagsFilter : stringList
- files : pathList
- filesAreTargets : bool
- name : string
- overrideTags : bool
- prefix : string
详细描述
该元素附加到产品上,用于将具有共同特征的文件分组。
例如
Application { Group { name: "common files" files: ["myclass.h", "myclass_common_impl.cpp"] } Group { name: "Windows files" condition: qbs.targetOS.includes("windows") files: "myclass_win_impl.cpp" } Group { name: "Unix files" condition: qbs.targetOS.includes("unix") files: "unixhelper.cpp" Group { name: "Linux files" condition: qbs.targetOS.includes("linux") files: "myclass_linux_impl.cpp" } Group { name: "FreeBSD files" condition: qbs.targetOS.includes("freebsd") files: "myclass_freebsd_impl.cpp" } } Group { name: "Files to install" qbs.install: true qbs.installDir: "share" files: "runtime_resource.txt" } }
在指定文件时,可以使用通配符 "*"
、"?"
和 "[]"
,它们具有与 Unix Shell 中相同的意义。默认情况下,只从父目录中直接选择匹配的文件,但您可以告诉 Qbs考虑整个目录树。还可以从列表中排除某些文件。在路径名展开上下文中使用的模式 "**"
将匹配所有文件和零个或多个目录以及子目录。例如
Group { name: "Word processing documents" files: ["*.doc", "*.rtf"] prefix: "**/" qbs.install: true qbs.installDir: "share" excludeFiles: "do_not_install_this_file.*" }
组也可以用于将属性附加到构建工件,如可执行文件或库。在以下示例中,应用软件安装到 "<install root>/bin"。
Application { Group { fileTagsFilter: "application" qbs.install: true qbs.installDir: "bin" } }
组也可能出现在模块中,这将导致根据该模块将相应的源添加到产品中,除非设置了filesAreTargets属性。
组可以是嵌套的。在这种情况下,子组将继承其父组的模块属性和文件标签以及其父组的前缀。子组的condition与父组的进行逻辑与操作。
属性文档
condition : bool |
确定组中的文件是否实际上是项目的组成部分。
默认:true
excludeFiles : pathList |
fileTagsFilter : 字符串列表 |
匹配artifact.fileTags的列表。在此组中设置的任何属性都将应用于文件标记与这里列出的相匹配产品的工作件。
将添加到匹配中的工作件的是组内fileTags属性指定的文件标记。
此属性与files互斥。
默认:空列表
files : 路径列表 |
filesAreTargets : 布尔值 |
如果此属性为true
且组位于模块中,则组中的文件不会成为依赖于该模块的产品源工作件。相反,它们将被处理为目标工作件,即它们将与依赖于模块的产品中的inputsFromDependencies文件标记列表匹配。
默认:false
name : 字符串 |
组的名称。在内部不使用;主要用于IDE。
默认:"组 x",其中 x 是产品中所有组之间的唯一编号。
overrideTags : 布尔值 |
确定如何处理同时在产品(或如果存在,则父组)的顶层和组中列出的文件上的标记。如果此属性为true
,则通过组设置的文件标记将替换通过产品或父组设置的标记。如果它是false
,则组标记添加到父标记中。
如果设置了fileTagsFilter,则忽略该属性。
默认:true
prefix : 字符串 |
要添加到所有文件的开头的字符串。允许使用斜杠,并具有目录含义。
默认:如果存在,则为父组的名称,否则为空。
©版权所有 2023 The Qt Company Ltd。本文件中包含的文档贡献是各自所有者的版权。本处提供的文档是根据自由软件基金会发布的GNU自由文档许可证第1.3版的条款提供的。Qt和相应标识是芬兰或其他国家/地区的Qt公司注册商标。所有其他商标均为其各自所有者的财产。