summaryrefslogtreecommitdiffstats
path: root/INSTALL
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 /INSTALL
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 'INSTALL')
-rw-r--r--INSTALL59
1 files changed, 59 insertions, 0 deletions
diff --git a/INSTALL b/INSTALL
index 9adeea4c6..537609844 100644
--- a/INSTALL
+++ b/INSTALL
@@ -49,6 +49,65 @@ Build Qt:
make module-qtbase module-qtdeclarative module-qttools module-qttranslations
+Third party dependencies
+---------------------
+
+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; liblzma, zlib, libbzip2, and on macOS, 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 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 IFW_ZLIB_LIBRARY, IFW_BZIP2_LIBRARY, IFW_LZMA_LIBRARY, and 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.
+
+### Windows
+
+The liblzma, zlib, libbzip2 libraries are required. The source archives
+can be downloaded from:
+
+https://tukaani.org/xz/
+https://zlib.net/
+https://www.sourceware.org/bzip2/
+
+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).
+
+### 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
+missing development packages:
+
+$ sudo apt install zlib1g-dev liblzma-dev libbz2-dev
+
+### 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 install the libiconv and liblzma libraries.
+
+On Homebrew this would be:
+
+$ brew install libiconv xz
+
+### 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.
+
+
Build the Framework
---------------------