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
Property | Type | Default | Description |
---|---|---|---|
patterns | stringList | none | The patterns to match against. Supports the usual wildcards '*', '?' and '[]'. Neither the list itself nor any of its elements may be empty. |
fileTags | list | empty list | Tags to attach to a product's files. These can then be matched by a rule. |