2012-03-15 14:53:47 +01:00
|
|
|
!isEmpty(IFW_PRI_INCLUDED) {
|
|
|
|
error("installerfw.pri already included")
|
|
|
|
}
|
|
|
|
IFW_PRI_INCLUDED = 1
|
2013-02-13 11:00:08 +01:00
|
|
|
|
2019-05-27 11:35:27 +03:00
|
|
|
IFW_VERSION_STR = 3.2.0
|
|
|
|
IFW_VERSION = 0x030200
|
2019-08-23 11:05:07 +03:00
|
|
|
IFW_VERSION_WIN32 = 3,2,0,0
|
2019-07-18 14:29:38 +03:00
|
|
|
|
|
|
|
IFW_VERSION_STR_WIN32 = $$IFW_VERSION_STR\0
|
2013-02-13 11:00:08 +01:00
|
|
|
|
2013-02-22 14:30:18 +01:00
|
|
|
IFW_REPOSITORY_FORMAT_VERSION = 1.0.0
|
2012-03-22 17:14:12 +01:00
|
|
|
IFW_NEWLINE = $$escape_expand(\\n\\t)
|
2012-03-15 14:53:47 +01:00
|
|
|
|
2014-06-03 13:30:35 +02:00
|
|
|
defineTest(minQtVersion) {
|
|
|
|
maj = $$1
|
|
|
|
min = $$2
|
|
|
|
patch = $$3
|
|
|
|
isEqual(QT_MAJOR_VERSION, $$maj) {
|
|
|
|
isEqual(QT_MINOR_VERSION, $$min) {
|
|
|
|
isEqual(QT_PATCH_VERSION, $$patch) {
|
|
|
|
return(true)
|
|
|
|
}
|
|
|
|
greaterThan(QT_PATCH_VERSION, $$patch) {
|
|
|
|
return(true)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
greaterThan(QT_MINOR_VERSION, $$min) {
|
|
|
|
return(true)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
greaterThan(QT_MAJOR_VERSION, $$maj) {
|
|
|
|
return(true)
|
|
|
|
}
|
|
|
|
return(false)
|
|
|
|
}
|
|
|
|
|
2012-03-22 13:01:52 +01:00
|
|
|
defineReplace(toNativeSeparators) {
|
|
|
|
return($$replace(1, /, $$QMAKE_DIR_SEP))
|
|
|
|
}
|
2014-02-04 11:30:04 +01:00
|
|
|
defineReplace(fromNativeSeparators) {
|
|
|
|
return($$replace(1, \\\\, /))
|
|
|
|
}
|
2012-03-22 13:01:52 +01:00
|
|
|
|
2012-03-15 14:53:47 +01:00
|
|
|
defineReplace(cleanPath) {
|
|
|
|
win32:1 ~= s|\\\\|/|g
|
|
|
|
contains(1, ^/.*):pfx = /
|
|
|
|
else:pfx =
|
|
|
|
segs = $$split(1, /)
|
|
|
|
out =
|
|
|
|
for(seg, segs) {
|
|
|
|
equals(seg, ..):out = $$member(out, 0, -2)
|
|
|
|
else:!equals(seg, .):out += $$seg
|
|
|
|
}
|
|
|
|
return($$join(out, /, $$pfx))
|
|
|
|
}
|
|
|
|
|
|
|
|
isEmpty(IFW_BUILD_TREE) {
|
|
|
|
sub_dir = $$_PRO_FILE_PWD_
|
|
|
|
sub_dir ~= s,^$$re_escape($$PWD),,
|
|
|
|
IFW_BUILD_TREE = $$cleanPath($$OUT_PWD)
|
|
|
|
IFW_BUILD_TREE ~= s,$$re_escape($$sub_dir)$,,
|
|
|
|
}
|
|
|
|
|
|
|
|
IFW_SOURCE_TREE = $$PWD
|
|
|
|
IFW_APP_PATH = $$IFW_BUILD_TREE/bin
|
|
|
|
IFW_LIB_PATH = $$IFW_BUILD_TREE/lib
|
|
|
|
|
2014-01-28 13:32:02 +09:00
|
|
|
RCC = $$toNativeSeparators($$cleanPath($$[QT_INSTALL_BINS]/rcc))
|
|
|
|
LRELEASE = $$toNativeSeparators($$cleanPath($$[QT_INSTALL_BINS]/lrelease))
|
2014-01-27 15:02:13 +09:00
|
|
|
LUPDATE = $$toNativeSeparators($$cleanPath($$[QT_INSTALL_BINS]/lupdate))
|
2014-03-17 14:39:05 +01:00
|
|
|
LCONVERT = $$toNativeSeparators($$cleanPath($$[QT_INSTALL_BINS]/lconvert))
|
2014-01-28 13:32:02 +09:00
|
|
|
QMAKE_BINARY = $$toNativeSeparators($$cleanPath($$[QT_INSTALL_BINS]/qmake))
|
2012-03-22 13:01:52 +01:00
|
|
|
|
2014-01-27 15:02:13 +09:00
|
|
|
win32 {
|
|
|
|
RCC = $${RCC}.exe
|
|
|
|
LRELEASE = $${LRELEASE}.exe
|
|
|
|
LUPDATE = $${LUPDATE}.exe
|
|
|
|
LCONVERT = $${LCONVERT}.exe
|
|
|
|
QMAKE_BINARY = $${QMAKE_BINARY}.exe
|
|
|
|
}
|
2013-01-23 14:29:03 +01:00
|
|
|
win32-g++*:QMAKE_CXXFLAGS += -Wno-attributes
|
2017-05-22 15:20:31 +03:00
|
|
|
macx:QMAKE_CXXFLAGS += -fvisibility=hidden -fvisibility-inlines-hidden
|
2012-03-22 13:01:52 +01:00
|
|
|
|
2012-03-15 14:53:47 +01:00
|
|
|
INCLUDEPATH += \
|
|
|
|
$$IFW_SOURCE_TREE/src/libs/7zip \
|
|
|
|
$$IFW_SOURCE_TREE/src/libs/kdtools \
|
|
|
|
$$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
|
|
|
|
|
2012-08-21 12:05:11 +02:00
|
|
|
LIBS += -L$$IFW_LIB_PATH
|
|
|
|
# The order is important. The linker needs to parse archives in reversed dependency order.
|
|
|
|
equals(TEMPLATE, app):LIBS += -linstaller
|
2013-09-27 12:45:58 +02:00
|
|
|
win32:equals(TEMPLATE, app) {
|
|
|
|
LIBS += -luser32
|
|
|
|
}
|
2012-08-21 12:05:11 +02:00
|
|
|
unix:!macx:LIBS += -lutil
|
|
|
|
macx:LIBS += -framework Carbon -framework Security
|
|
|
|
|
2013-01-28 12:36:19 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Qt 5 sets QT_CONFIG
|
2014-06-03 16:39:19 +02:00
|
|
|
# Use same static/shared configuration as Qt
|
2013-01-28 12:36:19 +01:00
|
|
|
#
|
|
|
|
!contains(CONFIG, static|shared) {
|
|
|
|
contains(QT_CONFIG, static): CONFIG += static
|
|
|
|
contains(QT_CONFIG, shared): CONFIG += shared
|
|
|
|
}
|
|
|
|
|
2014-06-02 09:46:41 +02:00
|
|
|
QT += uitools core-private
|
|
|
|
CONFIG(static, static|shared) {
|
2014-09-10 11:54:44 +02:00
|
|
|
win32:QT += winextras
|
2014-06-02 15:14:12 +02:00
|
|
|
QT += concurrent network qml xml
|
2012-11-20 14:03:50 +01:00
|
|
|
}
|
2014-06-19 16:13:27 +02:00
|
|
|
CONFIG += depend_includepath no_private_qt_headers_warning c++11
|
2012-03-15 14:53:47 +01:00
|
|
|
|
2015-12-30 13:02:03 +02:00
|
|
|
exists(".git") {
|
|
|
|
GIT_SHA1 = $$system(git rev-list --abbrev-commit -n1 HEAD)
|
|
|
|
}
|
|
|
|
|
|
|
|
isEmpty(GIT_SHA1) {
|
|
|
|
# Attempt to read the sha1 from alternative location
|
|
|
|
GIT_SHA1=\"$$cat(.tag)\"
|
|
|
|
}
|
|
|
|
|
2016-05-20 14:29:27 +03:00
|
|
|
DEFINES += NOMINMAX QT_NO_CAST_FROM_ASCII QT_STRICT_ITERATORS QT_USE_QSTRINGBUILDER \
|
|
|
|
"_GIT_SHA1_=$$GIT_SHA1" \
|
2019-07-18 14:29:38 +03:00
|
|
|
IFW_VERSION_STR=$$IFW_VERSION_STR \
|
|
|
|
IFW_VERSION=$$IFW_VERSION \
|
|
|
|
IFW_VERSION_STR_WIN32=$$IFW_VERSION_STR_WIN32 \
|
|
|
|
IFW_VERSION_WIN32=$$IFW_VERSION_WIN32
|
2013-08-22 13:13:18 +02:00
|
|
|
DEFINES += IFW_REPOSITORY_FORMAT_VERSION=$$IFW_REPOSITORY_FORMAT_VERSION
|
2012-03-15 14:53:47 +01:00
|
|
|
|
2017-07-28 14:44:29 -07:00
|
|
|
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
|
2012-03-15 14:53:47 +01:00
|
|
|
}
|