/****************************************************************************
**
** This file is part of Qt Creator
**
** Copyright (c) 2011 Nokia Corporation and/or its subsidiary(-ies).
**
** Contact: Nokia Corporation (qt-info@nokia.com)
**
**
** GNU Free Documentation License
**
** 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.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
**
****************************************************************************/

// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************

/*!
    \contentspage index.html
    \previouspage creator-writing-program.html
    \page creator-project-managing.html
    \nextpage creator-project-creating.html

    \title Managing Projects

    To set up a project, you first have to decide what kind of an application
    you want to develop. Do you want a user interface based on:

    \list

        \o  Qt Quick

        \o  HTML5

        \if defined(qcmanual)
        \o  Qt widgets
        \endif

    \endlist

    For a Qt Quick or HTML5 project, you also have a choice of the language to
    implement the application logic: C++ or JavaScript.

    You can also create other kinds of projects, such as Qt console
    applications, shared or static C++ libraries, or subprojects.

    You can use wizards to create and import projects. The wizards prompt you
    to enter the settings needed for that particular type of project and create
    the necessary files for you. You can add your own custom wizards to
    standardize the way subprojects and classes are added to a project.

    The wizards set up projects to use the Qt build tool, qmake. It is a
    cross-platform system for build automation that helps simplify the build
    process for development projects across different platforms. qmake
    automates the generation of build configurations so that only a few lines
    of information are needed to create each configuration. For more
    information about qmake, see the
    \l{http://qt.nokia.com/doc/4.7/qmake-manual.html}{qmake Manual}.

    You can modify the build and run settings for qmake projects in the
    \gui Projects mode.

    Alternatively, you can use the CMake build automation system and set up the
    projects manually. In addition, you can import generic projects that do not
    use qmake or CMake. This allows you to use \QC as a code editor. For
    generic projects, \QC ignores your build system.

    \if defined(qcmanual)
    To develop applications for Symbian devices, you use qmake and the local
    Symbian compiler (on Windows) or qmake and a compilation service at
    Nokia Developer (on Linux and Mac OS) to build the applications for the
    Symbian devices target. The interface to the compilation service,
    Remote Compiler, is installed as a part of the \QSDK. For more information,
    see \l{Building with Remote Compiler}.
    \endif


    You can install mobile device \l{glossary-development-target}{targets}
    as part of the \QSDK. The build and  run settings for the
    installed targets are set up automatically. However, you might need to
    install and configure some additional software on the devices to be able to
    connect to them from the development PC.

    You can use sessions to store personal data, such as bookmarks and
    breakpoints that are usually not of interest to other developers working on
    the same projects. Sessions allow you to quickly switch between projects
    when you work on several projects.

    The following sections describe how to manage projects:

    \list
        \o  \l{Creating Projects}
        \o  \l{Opening Projects}
        \o  \l{Adding Libraries to Projects}
        \o  \l{Configuring Projects}
            \list
                \o \l{Specifying Build Settings}
                \list
                    \o \l{Adding Qt Versions}
                    \o \l{Adding Tool Chains}
                \endlist
                \o \l{Specifying Run Settings}
                \o \l{Specifying Editor Settings}
                \o \l{Specifying Code Style Settings}
                \o \l{Specifying Dependencies}
            \endlist
        \if defined(qcmanual)
        \o  \l{Connecting Maemo Devices}
        \o  \l{Connecting MeeGo Harmattan Devices}
        \o  \l{Connecting Generic Linux Devices}
        \o  \l{Connecting Symbian Devices}
        \endif
        \o  \l{Managing Sessions}
    \endlist

    For advanced options, see the following topics:

    \list
        \o \l{Adding New Custom Wizards}
        \o \l{Setting Up a CMake Project}
        \o \l{Setting Up a Generic Project}
    \endlist

*/
