diff options
Diffstat (limited to 'doc/reference/items/language/depends.qdoc')
-rw-r--r-- | doc/reference/items/language/depends.qdoc | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/doc/reference/items/language/depends.qdoc b/doc/reference/items/language/depends.qdoc new file mode 100644 index 000000000..5d944cba6 --- /dev/null +++ b/doc/reference/items/language/depends.qdoc @@ -0,0 +1,136 @@ +/**************************************************************************** +** +** Copyright (C) 2016 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 artifact-item.html + \page depends-item.html + \nextpage export-item.html + \ingroup list-of-language-items + \ingroup list-of-items + + \title Depends Item + \brief Represents dependencies between products and modules. + + A \c Depends item can appear inside a \l{Product Item} or \l{Module Item}. + + For example, the following product will load the \c cpp module. In addition, it will try + to load modules that may or may not exist, and in the latter case use a fallback. + \code + Product { + Depends { name: "cpp" } + Depends { + name: "awesome_module" + versionAtLeast: "2.0" + required: false + } + Depends { + name: "adequate_module" + condition: !awesome_module.present + required: false + } + Depends { + name: "crappy_module" + condition: !awesome_module.present && !adequate_module.present + } + + // ... + } + \endcode + + + \section1 Depends Properties + + \table + \header + \li Property + \li Type + \li Default + \li Description + \row + \li condition + \li bool + \li true + \li Determines whether the dependency will actually be applied. + \row + \li versionAtLeast + \li string + \li undefined + \li The minimum value that the dependency's \c version property needs to have. If the + actual version is lower than that, loading the dependency will fail. + The value consists of integers separated by dots. + \row + \li versionBelow + \li string + \li undefined + \li A value that the dependency's \c version property must be lower than. If the + actual version is equal to or higher than that, loading the dependency will fail. + The value consists of integers separated by dots. + \row + \li productTypes + \li stringList + \li undefined + \li A list of product types. Any enabled product in the project that has a matching type + will become a dependency of the product containing the \c Depends item. + This property is mutually exclusive with the \c name and \c submodules properties. + The \c required and \c profiles properties are ignored if \c productTypes is set. + \row + \li required + \li bool + \li \c true + \li Setting this property to \c false creates a \e{soft dependency}, meaning that it is not + considered an error if the given module cannot be found. In such a case, an instance of + the respective module will be created, but only the \c present property will be + available for querying, and it will be set to \c false. + \row + \li name + \li string + \li undefined + \li The name of the dependent product or module. + \row + \li profiles + \li stringList + \li \c{[product.profile]} + \li If the dependency is on a product and that product is going to be built for more than + one profile, then you can specify here which instance of the product the dependency is on. + See the \c profiles property of the \c Product item for more information. + An empty list means a dependency on all instances of the product with the given name, + regardless of their profile. + \row + \li limitToSubProject + \li bool + \li \c false + \li If \c productTypes is set and this property is \c true, then only products that + are in the same sub-project as the product containing the \c Depends item are + considered. + \row + \li submodules + \li stringList + \li undefined + \li The submodules of \c module to depend on, if applicable. + \endtable + +*/ |