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

/*!
    \page packaging-recommendations.html
    \title Qt Packaging Recommendations

    Distributions might want to package multiple different Qt versions. By
    taking the example of a Linux distribution, we recommend the following
    approach:

    \list

    \li Configure Qt to install executables to \c{/usr/qt6/bin}.

    \li Create symlinks with version suffixes in \c{/usr/bin} to user-facing
        applications that reside in \c{/usr/qt6/bin}. For example, create the
        symlink \c{/usr/bin/designer6} that points to \c{/usr/qt6/bin/designer}.

    \endlist

    User-facing applications are Qt tools that are supposed to be started by the
    user. This includes qmake, Qt Designer, Qt Linguist, and others. Other
    tools, such as moc, rcc, and uic are usually not manually invoked by the
    user but from the build system of user projects.

    In Qt's build system, tools that we consider as user-facing are marked as
    such, and that information can be extracted and used as follows.

    Configure Qt with the CMake arguments:
    \badcode
    -DCMAKE_INSTALL_PREFIX=/usr
    -DINSTALL_BINDIR=/usr/qt6/bin
    -DINSTALL_PUBLICBINDIR=/usr/bin
    \endcode

    This will create a file called \c{user_facing_tool_links.txt} in Qt's build
    directory. It contains on each line the path of a user-facing tool in
    \c{INSTALL_BINDIR} and, separated by one space, the path to the versioned
    link in \c{INSTALL_PUBLICDIR}.

    This file can be used to create all versioned symlinks:
    \badcode
    xargs ln -s < user_facing_tool_links.txt
    \endcode
*/
