aboutsummaryrefslogtreecommitdiffstats
path: root/doc/reference/items/language/project.qdoc
blob: d2db644f615af4151fd0f7ce7950160651925f6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/****************************************************************************
**
** Copyright (C) 2017 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qbs.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/
/*!
    \contentspage list-of-language-items.html
    \previouspage Profile
    \nextpage Properties
    \qmltype Project
    \inqmlmodule QbsLanguageItems
    \ingroup list-of-items
    \keyword QML.Project

    \brief Represents a collection of products and properties.

    A Project item represents a collection of of products. In a
    non-trivial project, these products are typically defined in their own files and
    referenced in the main project file:
    \code
    Project {
        references: [
            "product1/product1.qbs",
            "product2/product2.qbs"
        ]
    }
    \endcode
    Any property \c prop attached to this item is available in sub-items as \c project.prop.

    While the root of the item hierarchy is always a Project, this kind of item
    can also appear further down the hierarchy. Such sub-projects are usually
    introduced to group products. See \l{SubProject} for details.

    \note If your project consists of only one product, the Project item can be
    omitted.
*/

/*!
    \qmlproperty path Project::buildDirectory
    \readonly

    The build directory of the top-level project.
*/

/*!
    \qmlproperty string Project::name

    The project name. Only relevant when displaying a project tree in an IDE,
    for example.

    \defaultvalue The basename of the file that defines the project.
*/

/*!
    \qmlproperty string Project::profile
    \readonly

    The top-level \l{Profile}{profile} for building the project. This property
    is set by \QBS when the project is being set up.
*/

/*!
    \qmlproperty bool Project::condition

    Whether the project is enabled. If \c false, no \l{Product}{products} or
    sub-projects will be collected.

    \defaultvalue \c true
*/

/*!
    \qmlproperty stringList Project::qbsSearchPaths

    A list of paths that are searched for imports and modules in addition to the ones listed
    in \c{preferences.qbsSearchPaths}. The value set here is merged with the value
    inherited from the parent project, if there is one. The result is inherited by
    all products in the project.

    \defaultvalue An empty list
*/

/*!
    \qmlproperty pathList Project::references

    A list of files from which to import products. This is equivalent to defining
    the respective \l{Product} items directly under this Project item.

    \defaultvalue An empty list
*/

/*!
    \qmlproperty path Project::sourceDirectory
    \readonly

    The directory where the file containing the top-level Project item is
    located.
*/

/*!
    \qmlproperty string Project::minimumQbsVersion

    The minimum version of \QBS that is needed to build this project.

    \defaultvalue \c "1.3.0"
*/