/****************************************************************************
**
** Copyright (C) 2020 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Creator documentation.
**
** 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.
**
****************************************************************************/

// **********************************************************************
// 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-targets.html
    \page creator-project-qmake.html
    \nextpage creator-tool-chains.html

    \title Adding Qt Versions

    \QC allows you to have multiple versions of Qt installed on your development
    PC and use different versions to build your projects. For example,
    \l{glossary-device}{device} manufacturers provide special Qt versions for
    developing applications for their devices.

    \section1 Registering Installed Qt Versions

    \QC automatically detects the Qt versions that are registered by
    your system or by installers. To view detailed information for each Qt
    version, select it in the list and select \uicontrol Details in the
    \uicontrol {Qt version for} section.

    \image qtcreator-qt-versions.png "Qt Versions tab in Kit options"

    To remove invalid Qt versions, select \uicontrol {Clean Up}.

    You can link to a Qt that you installed using the Qt Maintenance Tool to
    automatically register the installed Qt versions. The mechanism does not
    handle Qt versions installed by the system using some other package manager,
    such as your Linux distribution, brew on \macos, or Chocolatey on Windows,
    nor a self-built Qt.

    To link to a Qt installation:

    \list 1
        \li Select \uicontrol Tools > \uicontrol Options > \uicontrol Kits >
            \uicontrol {Qt Versions} > \uicontrol {Link with Qt}.
            \image qtcreator-link-with-qt.png "Choose Qt Installation dialog"
        \li In the \uicontrol {Qt installation path} field, enter the path to
            the directory where you installed Qt.
        \li Select \uicontrol {Link with Qt} to automatically register Qt
            versions and kits in the Qt installation directory.
        \li Select \uicontrol {Restart Now} to restart \QC.
    \endlist

    To remove the automatically detected Qt versions from the list, select
    \uicontrol {Link with Qt} > \uicontrol {Remove Link}.

    If a Qt version is still not listed under \uicontrol Auto-detected, select
    \uicontrol {Add} to add it manually.

    You specify the Qt version to use for each \l{glossary-buildandrun-kit}
    {kit} for building and running your projects
    in \uicontrol Tools > \uicontrol Options > \uicontrol Kits.

    \section1 Setting Up New Qt Versions

    To add a Qt version:

        \list 1

            \li Select \uicontrol Tools > \uicontrol Options > \uicontrol Kits >
                \uicontrol {Qt Versions} > \uicontrol Add.

            \li Select the qmake executable for the Qt version that you want to
                add.

            \li Select the Qt version to view and edit it.

            \li In the \uicontrol{Version name} field, edit the name that \QC
                suggests for the Qt version.

            \li In the \uicontrol{qmake location} field, you can change the qmake
                location.

            \li If the Qt version is for QNX, enter the path to your installed QNX SDK in the
                \uicontrol{QNX SDK} field.

        \endlist

    To remove a Qt version that you added manually, select it in the
    \uicontrol Manual list and then select \uicontrol Remove.

    \section1 Registering Documentation

    By default, \QC registers only the latest available version of the documentation for each
    installed Qt module.

    To register the documentation sets of all installed Qt versions, choose
    \uicontrol{All} from the \uicontrol{Register documentation} list.
    To register no Qt documentation at all, choose \uicontrol{None}.
    The default behavior is \uicontrol{Highest Version Only}.

    \section1 Troubleshooting Qt Installations

    If \QC detects problems in the installation of a Qt version, it displays
    warnings and errors beside the name of the Qt version in the list. Select
    the Qt version to see more information about the issue and suggestions for
    fixing it.

    To determine whether a particular Qt version is installed correctly, \QC
    calls \c {qmake -query} and checks that the directories referenced in the
    output exist. When \QC complains about the installation of a self-built Qt
    version, try running \c {make install} in the build directory to actually
    install Qt into the configured location. If you installed Qt using the Qt
    installer, run the Qt maintenance tool to check for updates or to reinstall
    the Qt version.

    \section1 Minimum Requirements
    If your build of Qt is incomplete but you still want to use QMake as build
    system, you need to ensure the following minimum requirements to be able to use that setup with \QC.
    \list 1
        \li qmake is an executable that understands the \c -query command line
            argument.
        \li The \c bin and \c include directories have to exist. \QC fetches
            these directories by running \c{qmake -query}.
        \li The \c mkspecs directory should be complete enough to parse .pro
            files.
    \endlist

    If your Qt version has no \c libQtCore.so, \QC is unable to detect the ABI.

*/

