summaryrefslogtreecommitdiffstats
path: root/installerfw.pri
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 /installerfw.pri
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 'installerfw.pri')
-rw-r--r--installerfw.pri36
1 files changed, 36 insertions, 0 deletions
diff --git a/installerfw.pri b/installerfw.pri
index 377d07d2c..20d523f40 100644
--- a/installerfw.pri
+++ b/installerfw.pri
@@ -96,6 +96,7 @@ INCLUDEPATH += \
$$IFW_SOURCE_TREE/src/libs/installer
win32:INCLUDEPATH += $$IFW_SOURCE_TREE/src/libs/7zip/win/CPP
unix:INCLUDEPATH += $$IFW_SOURCE_TREE/src/libs/7zip/unix/CPP
+CONFIG(libarchive): INCLUDEPATH += $$IFW_SOURCE_TREE/src/libs/3rdparty/libarchive
LIBS += -L$$IFW_LIB_PATH
# The order is important. The linker needs to parse archives in reversed dependency order.
@@ -144,8 +145,43 @@ DEFINES += IFW_REPOSITORY_FORMAT_VERSION=$$IFW_REPOSITORY_FORMAT_VERSION
LIBS += -l7z
win32-g++*: LIBS += -lmpr -luuid
+CONFIG(libarchive):equals(TEMPLATE, app) {
+ LIBS += -llibarchive
+ !isEmpty(IFW_ZLIB_LIBRARY) {
+ LIBS += $$IFW_ZLIB_LIBRARY
+ } else {
+ unix:LIBS += -lz
+ win32:LIBS += -lzlib
+ }
+ !isEmpty(IFW_BZIP2_LIBRARY) {
+ LIBS += $$IFW_BZIP2_LIBRARY
+ } else {
+ unix:LIBS += -lbz2
+ win32:LIBS += -llibbz2
+ }
+ !isEmpty(IFW_LZMA_LIBRARY) {
+ LIBS += $$IFW_LZMA_LIBRARY
+ } else {
+ unix:LIBS += -llzma
+ win32:LIBS += -lliblzma
+ }
+ macos {
+ !isEmpty(IFW_ICONV_LIBRARY) {
+ LIBS += $$IFW_ICONV_LIBRARY
+ } else {
+ LIBS += -liconv
+ }
+ }
+}
+
equals(TEMPLATE, app) {
msvc:POST_TARGETDEPS += $$IFW_LIB_PATH/installer.lib $$IFW_LIB_PATH/7z.lib
win32-g++*:POST_TARGETDEPS += $$IFW_LIB_PATH/libinstaller.a $$IFW_LIB_PATH/lib7z.a
unix:POST_TARGETDEPS += $$IFW_LIB_PATH/libinstaller.a $$IFW_LIB_PATH/lib7z.a
+
+ CONFIG(libarchive) {
+ msvc:POST_TARGETDEPS += $$IFW_LIB_PATH/libarchive.lib
+ win32-g++*:POST_TARGETDEPS += $$IFW_LIB_PATH/liblibarchive.a
+ unix:POST_TARGETDEPS += $$IFW_LIB_PATH/liblibarchive.a
+ }
}