Qbs

Blog Documentation Get Qbs Community
  • Qbs Manual
  • QbsLanguageItems
  • FileTagger
  • Qbs 2.4.0
  • FileTagger

    Assigns file tags to files. More...

    Properties

    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

    fileTags : list [since Qbs 1.0]

    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.


    patterns : stringList [since Qbs 1.0]

    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.


    priority : int [since Qbs 1.10]

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

    Default: 0

    This property was introduced in Qbs 1.10.