summaryrefslogtreecommitdiffstats
path: root/installerfw.pri
diff options
context:
space:
mode:
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
+ }
}