~bzoltan/kubuntu-packaging/decouple_cmake_plugin

« back to all changes in this revision

Viewing changes to src/shared/qbs/doc/reference/items/filetagger.qdoc

  • Committer: Timo Jyrinki
  • Date: 2013-11-15 12:25:23 UTC
  • mfrom: (1.1.28)
  • Revision ID: timo.jyrinki@canonical.com-20131115122523-i2kyamsu4gs2mu1m
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/****************************************************************************
 
2
**
 
3
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
 
4
** Contact: http://www.qt-project.org/legal
 
5
**
 
6
** This file is part of the Qt Build Suite.
 
7
**
 
8
** Commercial License Usage
 
9
** Licensees holding valid commercial Qt licenses may use this file in
 
10
** accordance with the commercial license agreement provided with the
 
11
** Software or, alternatively, in accordance with the terms contained in
 
12
** a written agreement between you and Digia.  For licensing terms and
 
13
** conditions see http://qt.digia.com/licensing.  For further information
 
14
** use the contact form at http://qt.digia.com/contact-us.
 
15
**
 
16
** GNU Lesser General Public License Usage
 
17
** Alternatively, this file may be used under the terms of the GNU Lesser
 
18
** General Public License version 2.1 as published by the Free Software
 
19
** Foundation and appearing in the file LICENSE.LGPL included in the
 
20
** packaging of this file.  Please review the following information to
 
21
** ensure the GNU Lesser General Public License version 2.1 requirements
 
22
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
 
23
**
 
24
** In addition, as a special exception, Digia gives you certain additional
 
25
** rights.  These rights are described in the Digia Qt LGPL Exception
 
26
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
 
27
**
 
28
****************************************************************************/
 
29
/*!
 
30
    \contentspage list-of-items.html
 
31
    \previouspage export-item.html
 
32
    \page filetagger-item.html
 
33
    \nextpage group-item.html
 
34
    \ingroup list-of-items
 
35
 
 
36
    \title FileTagger Item
 
37
    \brief Maps file patterns to tags.
 
38
 
 
39
    This item maps file patterns to tags. It can be attached to a product or a module.
 
40
    In the latter case, its effect is the same as if it had been attached to all products having
 
41
    a dependency on the respective module. For instance, the cpp module of Qbs has, among others,
 
42
    the following file tagger:
 
43
    \code
 
44
    FileTagger {
 
45
        pattern: "*.cpp"
 
46
        fileTags: ["cpp"]
 
47
    }
 
48
    \endcode
 
49
 
 
50
    As a result, the "cpp" tag is automatically attached to all files ending with ".cpp" in
 
51
    products depending on the cpp module. This causes them to be compiled, because a C++
 
52
    compiler rule has "cpp" in its list of matching input tags.
 
53
 
 
54
    File taggers are disabled if file tags are set explicitly in a product or group.
 
55
    For example, the "cpp" tag is not attached to the cpp files in the following product:
 
56
 
 
57
    \code
 
58
    Product {
 
59
        Depends { name: "cpp" }
 
60
        Group {
 
61
            files: "*.cpp"
 
62
            fileTags: "other"
 
63
        }
 
64
    }
 
65
    \endcode
 
66
 
 
67
    \section1 FileTagger Properties
 
68
 
 
69
    \table
 
70
    \header
 
71
        \li Property
 
72
        \li Type
 
73
        \li Default
 
74
        \li Description
 
75
    \row
 
76
        \li pattern
 
77
        \li string
 
78
        \li none
 
79
        \li The pattern to match against. Supports the usual wildcards '*', '?' and '[]'.
 
80
    \row
 
81
        \li fileTags
 
82
        \li list
 
83
        \li empty list
 
84
        \li Tags to attach to a product's files. These can then be matched by a rule.
 
85
    \endtable
 
86
*/