summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorArttu Tarkiainen <arttu.tarkiainen@qt.io>2021-06-11 09:24:32 +0300
committerArttu Tarkiainen <arttu.tarkiainen@qt.io>2021-09-10 09:29:55 +0300
commitbfa8427531cf871b7423c252f522b7bfe75c7edd (patch)
tree6e7cc2011990d04e06cba39bf3bb636ff0adc8bd /doc
parent2767b0c96a0dbe713bc2d1e346d10f6787556d5b (diff)
Add sources and qmake project files for libarchive
- Included from upstream source archive distribution: * Sources from "libarchive/" directory, excluding manpages, tests and build files * "COPYING" from archive root * Configuration headers in "3rdparty/libarchive/config/*" are pre-generated from "build/cmake/config.h.in" - Add project files for qmake, document usage of library in "3rdparty/libarchive/qt_attribution.json". - Update build instructions for Coin. - Support for libarchive can be enabled or disabled with the "libarchive" configuration feature. - Update "Getting Started" page in documentation. Change-Id: I2c2312600b3c6ede4925625d29953dcebaa48b98 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Katja Marttila <katja.marttila@qt.io>
Diffstat (limited to 'doc')
-rw-r--r--doc/installerfw-getting-started.qdoc66
1 files changed, 66 insertions, 0 deletions
diff --git a/doc/installerfw-getting-started.qdoc b/doc/installerfw-getting-started.qdoc
index e77012f95..e49de89af 100644
--- a/doc/installerfw-getting-started.qdoc
+++ b/doc/installerfw-getting-started.qdoc
@@ -112,6 +112,72 @@
make module-qtbase module-qtdeclarative module-qttools module-qttranslations
\endcode
+ \section2 Configuring Support for Archive File Formats
+
+ The Qt Installer Framework sources contain a redistribution of parts of the
+ libarchive compression and archive library, which requires you to link against
+ additional libraries; \c liblzma, \c zlib, \c libbzip2, and on macOS, \c libiconv.
+
+ The usage of libarchive is optional and can be enabled by adding the libarchive
+ configuration feature to the list of values specified by the \c CONFIG variable. Installers
+ created with this configuration support the (de)compression of 7zip, zip, and tar archive
+ files, with gzip, bzip2, and xz as available compression methods.
+
+ The \c IFW_ZLIB_LIBRARY, \c IFW_BZIP2_LIBRARY, \c IFW_LZMA_LIBRARY, and \c IFW_ICONV_LIBRARY
+ variables can be used to specify the exact library files if required.
+
+ If you omit the feature, the installation of the additional dependencies can be skipped,
+ but created installers will only support the 7zip format.
+
+ \code
+ qmake CONFIG+=libarchive
+ \endcode
+
+ \section3 Installing Dependencies for Windows
+
+ The source archives for the dependencies can be downloaded 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
+ 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 libiconv and liblzma libraries.
+
+ On Homebrew this would be:
+
+ \code
+ brew install libiconv xz
+ \endcode
+
+ \section3 Troubleshooting
+
+ For libarchive related compilation errors, you may need to edit the definitions in
+ a configuration header file respective to your platform, which can be found from the
+ 'src/libs/3rdparty/libarchive/config/' directory of the Installer Framework sources.
+
\section2 Setting up Qt Installer Framework
\list 1