diff options
Diffstat (limited to 'installerfw.pri')
-rw-r--r-- | installerfw.pri | 102 |
1 files changed, 89 insertions, 13 deletions
diff --git a/installerfw.pri b/installerfw.pri index e38bb5108..e2ae12f11 100644 --- a/installerfw.pri +++ b/installerfw.pri @@ -3,13 +3,14 @@ } IFW_PRI_INCLUDED = 1 -IFW_VERSION_STR = 4.1.0 -IFW_VERSION = 0x040100 -IFW_VERSION_WIN32 = 4,1,0,0 +IFW_VERSION_STR = 5.0.0 +IFW_VERSION = 0x050000 +IFW_VERSION_WIN32 = 5,0,0,0 IFW_VERSION_STR_WIN32 = $$IFW_VERSION_STR\0 IFW_REPOSITORY_FORMAT_VERSION = 1.0.0 +IFW_CACHE_FORMAT_VERSION = 1.2.0 IFW_NEWLINE = $$escape_expand(\\n\\t) isEmpty(IFW_DISABLE_TRANSLATIONS): IFW_DISABLE_TRANSLATIONS = $$(IFW_DISABLE_TRANSLATIONS) @@ -17,6 +18,17 @@ isEqual(IFW_DISABLE_TRANSLATIONS, 1) { DEFINES += IFW_DISABLE_TRANSLATIONS } +# Still default to LZMA SDK if nothing is defined by user +!contains(CONFIG, libarchive|lzmasdk): CONFIG += lzmasdk + +CONFIG(lzmasdk) { + LZMA_WARNING_MSG = "LZMA SDK as an archive handler in IFW is deprecated. Consider" \ + "switching to libarchive by appending 'libarchive' to your 'CONFIG' variable." \ + "This requires linking against additional external libraries, see the" \ + "'INSTALL' file for more details." + !build_pass:warning($$LZMA_WARNING_MSG) +} + defineTest(minQtVersion) { maj = $$1 min = $$2 @@ -86,16 +98,32 @@ win32 { LCONVERT = $${LCONVERT}.exe QMAKE_BINARY = $${QMAKE_BINARY}.exe } + +#6.6.0 rcc has been moved to libexec in linux/mac and the RCC variable no longer +#points to correct location +!exists($$RCC) { + RCC = $$toNativeSeparators($$cleanPath($$[QT_INSTALL_LIBEXECS]/rcc)) +} +!exists($$RCC) { + warning("Resource compiler '$$RCC' not found.") +} win32-g++*:QMAKE_CXXFLAGS += -Wno-attributes macx:QMAKE_CXXFLAGS += -fvisibility=hidden -fvisibility-inlines-hidden INCLUDEPATH += \ - $$IFW_SOURCE_TREE/src/libs/7zip \ $$IFW_SOURCE_TREE/src/libs/kdtools \ $$IFW_SOURCE_TREE/src/libs/ifwtools \ $$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 + +CONFIG(lzmasdk) { + INCLUDEPATH += $$IFW_SOURCE_TREE/src/libs/3rdparty/7zip + win32:INCLUDEPATH += $$IFW_SOURCE_TREE/src/libs/3rdparty/7zip/win/CPP \ + $$IFW_SOURCE_TREE/src/libs/3rdparty/7zip/win/C + unix:INCLUDEPATH += $$IFW_SOURCE_TREE/src/libs/3rdparty/7zip/unix/CPP \ + $$IFW_SOURCE_TREE/src/libs/3rdparty/7zip/unix/C +} LIBS += -L$$IFW_LIB_PATH # The order is important. The linker needs to parse archives in reversed dependency order. @@ -118,10 +146,17 @@ macx:LIBS += -framework Carbon -framework Security QT += uitools core-private CONFIG(static, static|shared) { - win32:QT += winextras + win32:lessThan(QT_MAJOR_VERSION, 6):QT += winextras QT += concurrent network qml xml + greaterThan(QT_MAJOR_VERSION, 5):QT += core5compat } -CONFIG += depend_includepath no_private_qt_headers_warning c++11 +CONFIG += depend_includepath no_private_qt_headers_warning +versionAtLeast(QT_MAJOR_VERSION, 6) { + CONFIG+=c++17 +} else { + CONFIG+=c++11 +} + win32:CONFIG += console exists(".git") { @@ -139,13 +174,54 @@ DEFINES += NOMINMAX QT_NO_CAST_FROM_ASCII QT_STRICT_ITERATORS QT_USE_QSTRINGBUIL IFW_VERSION=$$IFW_VERSION \ IFW_VERSION_STR_WIN32=$$IFW_VERSION_STR_WIN32 \ IFW_VERSION_WIN32=$$IFW_VERSION_WIN32 -DEFINES += IFW_REPOSITORY_FORMAT_VERSION=$$IFW_REPOSITORY_FORMAT_VERSION +DEFINES += IFW_REPOSITORY_FORMAT_VERSION=$$IFW_REPOSITORY_FORMAT_VERSION \ + IFW_CACHE_FORMAT_VERSION=$$IFW_CACHE_FORMAT_VERSION -LIBS += -l7z win32-g++*: LIBS += -lmpr -luuid 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 + msvc:POST_TARGETDEPS += $$IFW_LIB_PATH/installer.lib + win32-g++*:POST_TARGETDEPS += $$IFW_LIB_PATH/libinstaller.a + unix:POST_TARGETDEPS += $$IFW_LIB_PATH/libinstaller.a +} + +CONFIG(libarchive):equals(TEMPLATE, app) { + LIBS += -llibarchive + !isEmpty(IFW_ZLIB_LIBRARY) { + LIBS += $$IFW_ZLIB_LIBRARY + } else:!contains(QT_MODULES, zlib) { + 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 + } + } + + 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 +} + +CONFIG(lzmasdk):equals(TEMPLATE, app) { + LIBS += -l7z + + msvc:POST_TARGETDEPS += $$IFW_LIB_PATH/7z.lib + win32-g++*:POST_TARGETDEPS += $$IFW_LIB_PATH/lib7z.a + unix:POST_TARGETDEPS += $$IFW_LIB_PATH/lib7z.a } |