Assigns file tags to files. More...


Detailed Description

This item assigns file tags to files. The FileTagger item can appear in Product items or Module items.

For every source artifact that has no file tag, Qbs will search for a FileTagger with a pattern that matches the file name of the source artifact. If a matching file tagger is found, then the file tags specified in the FileTagger item are assigned to the source artifact.

If there is more than one matching FileTagger, all file taggers with the same highest priority are taken into account and their file tags are accumulated.

The FileTagger item can be attached to a product or a module. In the latter case, its effect is the same as if it had been attached to all products having a dependency on the respective module. For instance, the cpp module of Qbs has, among others, the following file tagger:

FileTagger {
    patterns: "*.cpp"
    fileTags: ["cpp"]

As a result, the "cpp" tag is automatically attached to all files ending with ".cpp" in products depending on the cpp module. This causes them to be compiled, because a C++ compiler rule has "cpp" in its list of matching input tags.

File taggers are disabled if file tags are set explicitly in a product or group. For example, the "cpp" tag is not attached to the .cpp files in the following product:

Product {
    Depends { name: "cpp" }
    Group {
        files: "*.cpp"
        fileTags: "other"

Property Documentation

[since Qbs 1.0] fileTags : list

Tags to attach to a product's files. These can then be matched by a rule.

Default: An empty list

This property was introduced in Qbs 1.0.

[since Qbs 1.0] patterns : stringList

A list of patterns to match against. Supports the usual wildcards '*', '?' and '[]'.

Neither the list itself nor any of its elements may be empty.

This property was introduced in Qbs 1.0.

[since Qbs 1.10] priority : int

The priority of the FileTagger. A higher numerical value means a higher priority.

Default: 0

This property was introduced in Qbs 1.10.

© 2023 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.