// Copyright (C) 2021 The Qt Company Ltd. // Copyright (C) 2019 Luxoft Sweden AB // Copyright (C) 2018 Pelagicore AG // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only /*! \page installation.html \title Installation \brief Discusses Qt Application Manager installation considerations, such as; support, prerequisites, code coverage data and system setup. \ingroup qtappman \ingroup qtappman-highlights \section1 Supported Platforms The application manager is tested regularly on multiple platforms. The following platforms are only supported for \b{development and testing} purposes. In addition these platforms only allow the application manager to work in \l{Single-Process vs. Multi-Process Mode}{single-process mode}: \list \li Windows \li macOS \li Android (the application manager cannot be deployed directly, but only as part of an Android APK package containing the System UI) \endlist These platforms can be used for \b{development and production} and will allow you to use the full feature set of the application manager: \list \li Linux desktop and embedded in \l{Single-Process vs. Multi-Process Mode} {single-process and multi-process mode} \note In multi-process mode, only the \b Intel, \b AMD (open source), and \b VMWare graphics drivers are supported due to the varying stability levels in Wayland drivers. While other drivers may work, they require either special QtWayland versions or specific firmware blobs for the GPU driver. \endlist \section1 Prerequisites To build the application manager with all its features, the following components are required: \list \li \b Qt 6.5.0 or higher. \li \b openssl \e{- Linux only and only if you need the installer functionality}. Qt needs to be built with openssl support. The required minimum version is defined by Qt. \li \b libyaml 1.6 or higher. \li \b libarchive 3.0 or higher \e{- if you need the installer functionality}. \endlist On Debian-based systems, this command installs the three required packages: \badcode apt-get install libyaml-dev libarchive-dev libssl-dev \endcode \note On platforms without \c pkg-config (for example, Windows or macOS) as well as on platforms that lack one of the prerequisites, the bundled versions of these libraries from the \c src/3rdparty folder are automatically used instead. Make sure you are aware of the licensing implications, since these bundled 3rdparty libs will be linked in as static libraries. \warning This option is not meant for production, but for development and testing environments only. \section1 Multi-process vs. Single-process By default, the application manager always tries to build in multi-process mode, but falls back to single-process mode, if certain multi-process mode dependencies are not available, such as: \list \li You are building for \b Linux. \li The \c QtWayland module is available. \li The \c QtDBus module is available. \endlist You can force the build mode via the respective \c --force-multi-process and \c --force-single-process command line options, as described below. \target build \section1 Build The application manager uses \c CMake for its build system. The basic installation steps are: \code mkdir && cd && cmake && cmake --build . && cmake --install . \endcode or \code mkdir && cd && /bin/qt-configure-module && cmake --build . && cmake --install . \endcode There are various options that can be given to \c CMake to tailor the build to suit your needs. With Qt's new CMake based build system, there are three ways to set configure options for Qt modules: \list 1 \li You can call \c cmake from a shell and specify the options as \c -DINPUT_