/****************************************************************************
**
** Copyright (C) 2015 The Qt Company Ltd.
** Contact: http://www.qt.io/licensing
**
** This file is part of Qbs.
**
** 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 http://www.qt.io/terms-conditions. For further information
** use the contact form at http://www.qt.io/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 or version 3 as published by the Free
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
** LICENSE.LGPLv3 included in the packaging of this file.  Please review the
** following information to ensure the GNU Lesser General Public License
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, The Qt Company gives you certain additional
** rights.  These rights are described in The Qt Company 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}. 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.
        \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.
        \row
            \li minimumQbsVersion
            \li string
            \li "1.3.0"
            \li The minimum version of qbs that is needed to build this project.
    \endtable
*/
