aboutsummaryrefslogtreecommitdiffstats
path: root/doc/reference/items/project.qdoc
blob: 91a5489997b13649ee4bfd7f11e5c01dbcd8aade (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
/****************************************************************************
**
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the Qt Build Suite.
**
** 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 Digia.  For licensing terms and
** conditions see http://qt.digia.com/licensing.  For further information
** use the contact form at http://qt.digia.com/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Digia gives you certain additional
** rights.  These rights are described in the Digia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
****************************************************************************/
/*!
    \contentspage list-of-items.html
    \previouspage product-item.html
    \page project-item.html
    \nextpage properties-item.html
    \ingroup list-of-items

    \title Project Item
    \brief Represents a collection of products and properties.

    A \c 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 \c Project, this kind of item can also
    appear further down the hierarchy. Such sub-projects are ususally introduced to group products.
    See the \l{SubProject Item} for details.

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

    \table
        \header
            \li Property
            \li Type
            \li Default
            \li Description
        \row
            \li buildDirectory
            \li path
            \li n/a
            \li The build directory of the top-level project. This property is read-only.
        \row
            \li name
            \li string
            \li basename of the file the project is defined in
            \li The project name. Only relevant for e.g. displaying a project tree in an IDE.
        \row
            \li profile
            \li string
            \li n/a
            \li The top-level profile for building the project. This property is read-only and
                is set by \QBS when the project is being set up.
        \row
            \li condition
            \li bool
            \li true
            \li Whether the project is enabled. If false, no products or sub-projects will be
                collected.
        \row
            \li qbsSearchPaths
            \li stringList
            \li empty
            \li These paths are searched for imports and modules in addition to the ones listed
                in \c{preferences.qbsSearchPaths}.
                All products in the project inherit this value by default.
        \row
            \li references
            \li path list
            \li empty
            \li A list of files from which to import products. This is equivalent to defining
                the respective \c Product items directly under this \c Project item.
        \row
            \li sourceDirectory
            \li path
            \li n/a
            \li The directory where the file containing the top-level \c Project item is located.
                This property is read-only.
    \endtable
*/