FileTagger Item

This item maps file patterns to tags. It 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"
    }
}

FileTagger Properties

PropertyTypeDefaultDescription
patternsstringListnoneThe patterns to match against. Supports the usual wildcards '*', '?' and '[]'. Neither the list itself nor any of its elements may be empty.
fileTagslistempty listTags to attach to a product's files. These can then be matched by a rule.