diff options
Diffstat (limited to 'doc/installerfw-getting-started.qdoc')
-rw-r--r-- | doc/installerfw-getting-started.qdoc | 133 |
1 files changed, 100 insertions, 33 deletions
diff --git a/doc/installerfw-getting-started.qdoc b/doc/installerfw-getting-started.qdoc index e77012f95..1a86953a7 100644 --- a/doc/installerfw-getting-started.qdoc +++ b/doc/installerfw-getting-started.qdoc @@ -1,7 +1,7 @@ /**************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ +** Copyright (C) 2024 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. ** @@ -32,22 +32,17 @@ \title Getting Started - Qt Installer Framework is developed as part of the Qt project. The - framework itself uses Qt. However, it can be used to install all kind of - applications, including (but not limited to) applications built with Qt. + You can use the Qt Installer Framework to create installation programs for + all kinds of applications, including (but not limited to) applications built + with Qt. \section1 Supported Platforms You can use the Qt Installer Framework to create installers for all - platforms supported by \l[QtDoc]{Supported Platforms}{desktop Qt}. + platforms supported by \l{https://doc.qt.io/qt-6/supported-platforms.html}{desktop Qt}. - The installers have been tested on the following platforms: - - \list - \li Microsoft Windows 7, and later - \li Ubuntu Linux 16.04, and later - \li macOS 10.12, and later - \endlist + If you use Linux, install also + \l {https://doc.qt.io/qt-6/linux-requirements.html} {Platform Plugin dependencies}. \section1 Building from Sources @@ -57,61 +52,133 @@ \section2 Supported Compilers - The Qt Installer Framework can be compiled with Microsoft Visual Studio - 2013 and newer, GCC 4.7 and newer, and Clang 3.1 and newer. Currently, the - tested combination for Windows is Qt 5.12.4 with MSVC 2015. + You can compile the Qt Installer Framework with Microsoft Visual Studio + 2019 and newer, GCC 9 and newer, and Clang 13.0.0 and newer. Currently, the + tested combination for Windows is Qt 6.6.0 with MSVC 2019 (Windows 10). \section2 Configuring Qt If you use a statically built Qt to build the Qt Installer Framework you do not have to deliver Qt libraries, which enables you to distribute - installers as one file. Please read SSL Import and Export Restrictions - from http://doc.qt.io/qt-5/ssl.html if you are statically linking against - OpenSSL libraries. + installers as one file. For more information about statically linking + against OpenSSL libraries, see \l{http://doc.qt.io/qt-6/ssl.html}{SSL + Import and Export Restrictions}. - The supported Qt version is 5.12.7. + The supported Qt version is 6.6.0. + + Get Qt sources: + \code + \l{https://wiki.qt.io/Building_Qt_6_from_Git}{Get Qt sources from git}. + Call init-repository with --module-subset=qt5compat, qtbase, qtdeclarative, qttools, qttranslations + \endcode \section3 Configuring Qt for Windows - We recommend that you use the following options when you configure Qt for - Windows: + Use the following configuration options for Windows: \code configure -prefix %CD%\qtbase -release -static -static-runtime -accessibility -no-icu -no-sql-sqlite -no-qml-debug -nomake examples -nomake tests \endcode - Build Qt: + \section3 Configuring Qt for Linux + + Use the following configuration options for Linux: + \code - nmake (or 'mingw32-make') module-qtbase module-qtdeclarative module-qttools module-qttranslations module-qtwinextras + configure -prefix $PWD/qtbase -release -static -accessibility -qt-zlib -qt-libpng -qt-libjpeg -qt-pcre -no-glib -no-cups -no-sql-sqlite -no-feature-gssapi -no-qml-debug -no-opengl -no-egl -no-xinput2 -no-sm -no-icu -nomake examples -nomake tests -no-libudev -bundled-xcb-xinput -qt-harfbuzz -qt-doubleconversion \endcode - \section3 Configuring Qt for Linux + \section3 Configuring Qt for macOS - We recommend that you use the following configuration options for Linux: + Use the following configuration options for macOS: \code - configure -prefix $PWD/qtbase -release -static -accessibility -qt-zlib -qt-libpng -qt-libjpeg -qt-xcb -qt-pcre -no-glib -no-cups -no-sql-sqlite -no-qml-debug -no-opengl -no-egl -no-xinput2 -no-sm -no-icu -nomake examples -nomake tests -no-libudev + configure -prefix $PWD/qtbase -release -static -accessibility -qt-zlib -qt-libpng -no-cups -no-sql-sqlite -no-qml-debug -nomake examples -nomake tests -no-freetype \endcode Build Qt: \code - make module-qtbase module-qtdeclarative module-qttools module-qttranslations + cmake --build . --parallel + cmake --install . \endcode - \section3 Configuring Qt for macOS + \section2 Third Party Dependencies - We recommend that you use the following configuration options for macOS: + The Qt Installer Framework sources contain a redistribution of parts of the + \c libarchive compression and archive library, which requires you to link + against the following libraries; \c liblzma, \c zlib, \c libbzip2, and on + macOS, \c libiconv. + + To enable the use of \c libarchive, add the \c libarchive configuration + feature to the list of values specified by the \c CONFIG variable. + Installers created with this configuration support the creating and + extracting of 7zip, zip, and tar archive files, with \c gzip, bzip2, and + \c xz as available compression methods. \code - configure -prefix $PWD/qtbase -release -static -no-securetransport -accessibility -qt-zlib -qt-libpng -qt-libjpeg -no-cups -no-sql-sqlite -no-qml-debug -nomake examples -nomake tests -no-freetype + qmake CONFIG+=libarchive \endcode - Build Qt: + You can use the \c IFW_ZLIB_LIBRARY, \c IFW_BZIP2_LIBRARY, \c IFW_LZMA_LIBRARY, and \c IFW_ICONV_LIBRARY + variables to specify the exact library files. + + If you add the \c{-qt-zlib} configuration to the Qt version used to build the Qt Installer Framework, and + \c IFW_ZLIB_LIBRARY variable is empty, \c libarchive will try to use the \c zlib library compiled + into the QtCore module, which removes the need for an external library. + + If you do not enable \c libarchive support, the builtin LZMA SDK library will act as a fallback and + installation of the extra dependencies will not occur, but created installers will + only support the 7zip format. + + \note Building IFW with LZMA SDK is deprecated and may not be available in future versions. + + \section3 Installing Dependencies for Windows + + You can download the source archives for the dependencies from: + + \list + \li \l https://tukaani.org/xz/ + \li \l https://zlib.net/ + \li \l https://www.sourceware.org/bzip2/ + \endlist + + When building the third party libraries with MSVC, make sure to use the + same version that you used to build Qt, and that the compiler option used + to select the run-time library matches the configuration options for Qt + (debug/release, static/dynamic runtime). + + \section3 Installing Dependencies for Linux + + The required third party compression libraries are likely available from + your distribution's package manager repositories. + + For example, on Ubuntu 18.04 you can invoke the following to install the + development packages containing headers for the libraries: + \code - make module-qtbase module-qtdeclarative module-qttools module-qttranslations + sudo apt install zlib1g-dev liblzma-dev libbz2-dev \endcode + \section3 Installing Dependencies for macOS + + The easiest way to install the missing libraries is with a third party + package manager solution, like Homebrew or MacPorts. On macOS 10.15 you + should only need to additionally install the \c liblzma library. + + On Homebrew this would be: + + \code + brew install xz + \endcode + + \section3 Troubleshooting + + For \c libarchive related compilation errors, you may need to edit the definitions in + a configuration header file respective to your platform. You can find this file in + the \c src/libs/3rdparty/libarchive/config/ directory of the Installer Framework sources. + + \section2 Setting up Qt Installer Framework \list 1 |