// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

/*!
    \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
*/
