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 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
|
/****************************************************************************
**
** 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$
**
****************************************************************************/
/*!
\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, modules and module providers 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.
For the details about how to add custom items, see the \l{Custom Modules and Items} page.
\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"
*/
/*!
\qmlproperty stringList Project::qbsModuleProviders
The list of \l{Module Providers} to use for this project.
Providers contribute to the \l{Product::}{qbsSearchPaths} in the order specified here, so
modules generated by providers specified earlier are prioritized.
Currently, this order also corresponds with the actual execution order of the providers, but
this should not be relied upon.
\sa Product::qbsModuleProviders
\since Qbs 1.21
*/
|