update linux qt project

update linux qt project

# ----------------------------------------------------
# This file is generated by the Qt Visual Studio Add-in.
# ------------------------------------------------------

# This is a reminder that you are using a generated .pro file.
# Remove it when you are finished editing this file.
message("You are running qmake on a generated .pro file. This may not work!")

HEADERS += ../main/vscvipc.h \
    ../prj_win32/resource.h \
    ../main/vscdevicelist.h \
    ../main/vscdockwidget.h \
    ../main/vscmainwindows.h \
    ../main/vscview.h \
    ../main/vscdeviceipc.h \
    ../main/vscdevicetree.h \
    ../main/vsccameraadd.h \
    ../main/vscdevicetrash.h \
    ../main/vscsearch.h \
    ../main/vscplaycontrol.h \
    ../main/vscplayback.h \
    ../main/vsctoolbar.h \
    ../main/vscipcgroupconf.h \
    ../main/vscipcgroupmap.h \
    ../main/vscviewconf.h \
    ../main/vscvipcadd.h \
    ../../devices/include/cmnserverimpl.hpp \
    ../../devices/include/conf.hpp \
    ../../devices/include/confdb.hpp \
    ../../devices/include/device.hpp \
    ../../devices/include/deviceimpl.hpp \
    ../../devices/include/factoryimpl.hpp \
    ../../devices/include/hdddevice.hpp \
    ../../devices/include/sysdb.hpp \
    ../../devices/include/cmnserver.hpp \
    ../../devices/include/factory.hpp \
    ../disk/vschdddevice.h \
    ../disk/vschddone.h \
    ../disk/vschddedit.h \
    ../disk/vschddoneedit.h \
    ../vms/vscrecorderadd.h \
    ../vms/vscsiteadd.h \
    ../vms/vscvms.h \
    ../vms/vscrecorderone.h \
    ../vms/vscrecorderpanel.h \
    ../vms/vscrecorder.h \
    ../vms/vsczbtreeitem.h \
    ../setting/vscsetting.h \
    ../setting/vsclicense.h \
    ../setting/vscversion.h \
    ../setting/vscrecorderconf.h \
    ../setting/vscuser.h \
    ../setting/vscuserstatus.h \
    ../setting/vschdfsrecord.h \
    ../setting/vscrtsprtp.h \
    ../setting/vsclanguage.h \
    ../setting/vsclogin.h \
    ../setting/vscoapi.h \
    ../setting/vscvideosetting.h \
    ../setting/vscminingsetting.h \
    ../../mining/include/mframeworkimpl.hpp \
    ../../mining/include/minterface.hpp \
    ../../mining/include/minterfacemgr.hpp \
    ../../mining/include/minterfacemgrimpl.hpp \
    ../../mining/include/mmodule.hpp \
    ../../mining/include/mmoduleimpl.hpp \
    ../../mining/include/mframework.hpp
SOURCES += ../disk/vschdddevice.cpp \
    ../disk/vschddedit.cpp \
    ../disk/vschddone.cpp \
    ../disk/vschddoneedit.cpp \
    ../vms/vscrecorder.cpp \
    ../vms/vscrecorderadd.cpp \
    ../vms/vscrecorderone.cpp \
    ../vms/vscrecorderpanel.cpp \
    ../vms/vscsiteadd.cpp \
    ../vms/vscvms.cpp \
    ../vms/vsczbtreeitem.cpp \
    ../main/main.cpp \
    ../main/vsccameraadd.cpp \
    ../main/vscdeviceipc.cpp \
    ../main/vscdevicelist.cpp \
    ../main/vscdevicetrash.cpp \
    ../main/vscdevicetree.cpp \
    ../main/vscdockwidget.cpp \
    ../main/vscipcgroupconf.cpp \
    ../main/vscipcgroupmap.cpp \
    ../main/vscmainwindows.cpp \
    ../main/vscplayback.cpp \
    ../main/vscplaycontrol.cpp \
    ../main/vscsearch.cpp \
    ../main/vsctoobar.cpp \
    ../main/vscview.cpp \
    ../main/vscviewconf.cpp \
    ../main/vscvipc.cpp \
    ../main/vscvipcadd.cpp \
    ../setting/vschdfsrecord.cpp \
    ../setting/vsclanguage.cpp \
    ../setting/vsclicense.cpp \
    ../setting/vsclogin.cpp \
    ../setting/vscminingsetting.cpp \
    ../setting/vscoapi.cpp \
    ../setting/vscrecorderconf.cpp \
    ../setting/vscrtsprtp.cpp \
    ../setting/vscsetting.cpp \
    ../setting/vscuser.cpp \
    ../setting/vscuserstatus.cpp \
    ../setting/vscversion.cpp \
    ../setting/vscvideosetting.cpp
FORMS += ../main/vscview.ui \
    ../main/vscmainwindows.ui \
    ../main/vscdevicelist.ui \
    ../main/vsccameraadd.ui \
    ../main/vscsearch.ui \
    ../main/vscplaycontrol.ui \
    ../main/vscplayback.ui \
    ../main/vsctoolbar.ui \
    ../main/vscvipcadd.ui \
    ../main/vscipcgroupconf.ui \
    ../main/vscipcgroupmap.ui \
    ../main/vscviewconf.ui \
    ../disk/vschdddevice.ui \
    ../disk/vschddone.ui \
    ../disk/vschddedit.ui \
    ../disk/vschddoneedit.ui \
    ../vms/vscrecorderadd.ui \
    ../vms/vscsiteadd.ui \
    ../vms/vscrecorderone.ui \
    ../setting/vscsetting.ui \
    ../setting/vsclicense.ui \
    ../setting/vscversion.ui \
    ../setting/vscrecorderconf.ui \
    ../setting/vscuser.ui \
    ../setting/vscuserstatus.ui \
    ../setting/vschdfsrecord.ui \
    ../setting/vscrtsprtp.ui \
    ../setting/vsclanguage.ui \
    ../setting/vsclogin.ui \
    ../setting/vscoapi.ui \
    ../setting/vscvideosetting.ui \
    ../setting/vscminingsetting.ui
TRANSLATIONS += ../main/translations/opencvr_zh.ts
RESOURCES += ../main/vscmainwindows.qrc \
    ../darkstyle/style.qrc

# ----------------------------------------------------
# This file is generated by the Qt Visual Studio Add-in.
# ------------------------------------------------------

# This is a reminder that you are using a generated .pro file.
# Remove it when you are finished editing this file.
message("You are running qmake on a generated .pro file. This may not work!")

HEADERS += ../main/vscvipc.h \
    ../prj_win32/resource.h \
    ../main/vscdevicelist.h \
    ../main/vscdockwidget.h \
    ../main/vscmainwindows.h \
    ../main/vscview.h \
    ../main/vscdeviceipc.h \
    ../main/vscdevicetree.h \
    ../main/vsccameraadd.h \
    ../main/vscdevicetrash.h \
    ../main/vscsearch.h \
    ../main/vscplaycontrol.h \
    ../main/vscplayback.h \
    ../main/vsctoolbar.h \
    ../main/vscipcgroupconf.h \
    ../main/vscipcgroupmap.h \
    ../main/vscviewconf.h \
    ../main/vscvipcadd.h \
    ../../devices/include/cefactory.hpp \
    ../../devices/include/conf.hpp \
    ../../devices/include/confdb.hpp \
    ../../devices/include/config.hpp \
    ../../devices/include/database.hpp \
    ../../devices/include/datasink.hpp \
    ../../devices/include/datasrc.hpp \
    ../../devices/include/device.hpp \
    ../../devices/include/ffmpeg_api.hpp \
    ../../devices/include/ffmpeg_codecs.hpp \
    ../../devices/include/ffmpeg_impl.hpp \
    ../../devices/include/ffmpeg_scale.hpp \
    ../../devices/include/hdddevice.hpp \
    ../../devices/include/mpipeline.hpp \
    ../../devices/include/sysdb.hpp \
    ../../devices/include/factory.hpp \
    ../setting/vscsetting.h \
    ../setting/vsclicense.h \
    ../setting/vscversion.h \
    ../setting/vscrecorderconf.h \
    ../setting/vscuser.h \
    ../setting/vscuserstatus.h \
    ../setting/vschdfsrecord.h \
    ../setting/vscrtsprtp.h \
    ../disk/vschdddevice.h \
    ../disk/vschddone.h \
    ../disk/vschddedit.h \
    ../disk/vschddoneedit.h \
    ../vms/vscrecorderadd.h \
    ../vms/vscsiteadd.h \
    ../vms/vscvms.h \
    ../vms/vscrecorderone.h \
    ../vms/vscrecorderpanel.h \
    ../vms/vscrecorder.h \
    ../vms/vsczbtreeitem.h
SOURCES += ../setting/vsclicense.cpp \
    ../setting/vscrecorderconf.cpp \
    ../setting/vscsetting.cpp \
    ../setting/vscuser.cpp \
    ../setting/vscuserstatus.cpp \
    ../setting/vscversion.cpp \
    ../setting/vschdfsrecord.cpp \
    ../setting/vscrtsprtp.cpp \
    ../disk/vschdddevice.cpp \
    ../disk/vschddedit.cpp \
    ../disk/vschddone.cpp \
    ../disk/vschddoneedit.cpp \
    ../vms/vscrecorder.cpp \
    ../vms/vscrecorderadd.cpp \
    ../vms/vscrecorderone.cpp \
    ../vms/vscrecorderpanel.cpp \
    ../vms/vscsiteadd.cpp \
    ../vms/vscvms.cpp \
    ../vms/vsczbtreeitem.cpp \
    ../main/main.cpp \
    ../main/vsccameraadd.cpp \
    ../main/vscdeviceipc.cpp \
    ../main/vscdevicelist.cpp \
    ../main/vscdevicetrash.cpp \
    ../main/vscdevicetree.cpp \
    ../main/vscdockwidget.cpp \
    ../main/vscipcgroupconf.cpp \
    ../main/vscipcgroupmap.cpp \
    ../main/vscmainwindows.cpp \
    ../main/vscplayback.cpp \
    ../main/vscplaycontrol.cpp \
    ../main/vscsearch.cpp \
    ../main/vsctoobar.cpp \
    ../main/vscview.cpp \
    ../main/vscviewconf.cpp \
    ../main/vscvipc.cpp \
    ../main/vscvipcadd.cpp
FORMS += ../main/vscview.ui \
    ../main/vscmainwindows.ui \
    ../main/vscdevicelist.ui \
    ../main/vsccameraadd.ui \
    ../main/vscsearch.ui \
    ../main/vscplaycontrol.ui \
    ../main/vscplayback.ui \
    ../main/vsctoolbar.ui \
    ../main/vscvipcadd.ui \
    ../main/vscipcgroupconf.ui \
    ../main/vscipcgroupmap.ui \
    ../main/vscviewconf.ui \
    ../setting/vscsetting.ui \
    ../setting/vsclicense.ui \
    ../setting/vscversion.ui \
    ../setting/vscrecorderconf.ui \
    ../setting/vscuser.ui \
    ../setting/vscuserstatus.ui \
    ../setting/vschdfsrecord.ui \
    ../setting/vscrtsprtp.ui \
    ../disk/vschdddevice.ui \
    ../disk/vschddone.ui \
    ../disk/vschddedit.ui \
    ../disk/vschddoneedit.ui \
    ../vms/vscrecorderadd.ui \
    ../vms/vscsiteadd.ui \
    ../vms/vscrecorderone.ui
TRANSLATIONS += ../main/translations/vscloudnode_zh.ts
RESOURCES += ../main/vscmainwindows.qrc \
    ../darkstyle/style.qrc


remove pointless module pri file

remove pointless module pri file

this is no c++ module

Change-Id: Iff9002b5edd556a0d6f954fd6f58a1a099f4dc14
Reviewed-by: Joerg Bornemann <47777b9406dbddd02a3fdca8341789a013805a11@digia.com>

QT.qtgraphicaleffects.VERSION = 1.0.0
QT.qtgraphicaleffects.MAJOR_VERSION = 1
QT.qtgraphicaleffects.MINOR_VERSION = 0
QT.qtgraphicaleffects.PATCH_VERSION = 0

QT.qtgraphicaleffects.name = QtGraphicalEffects
QT.qtgraphicaleffects.bins = $$QT_MODULE_BIN_BASE
QT.qtgraphicaleffects.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtGraphicalEffects
QT.qtgraphicaleffects.private_includes = $$QT_MODULE_INCLUDE_BASE/QtGraphicalEffects/$$QT.qtgraphicaleffects.VERSION
QT.qtgraphicaleffects.sources = $$QT_MODULE_BASE/src
QT.qtgraphicaleffects.libs = $$QT_MODULE_LIB_BASE
QT.qtgraphicaleffects.plugins = $$QT_MODULE_PLUGIN_BASE
QT.qtgraphicaleffects.imports = $$QT_MODULE_IMPORT_BASE
QT.qtgraphicaleffects.depends = core qml

QT_CONFIG += qtgraphicaleffects


qtvk: add PVS_STUDIO define

qtvk: add PVS_STUDIO define

pvs_studio.target = pvs
pvs_studio.output = true
pvs_studio.cxxflags = -std=c++11
pvs_studio.sources = $${SOURCES}

QT_INCLUDE=$$absolute_path($$dirname(QMAKE_QMAKE)/../include)

PVS_CONFIG="\
exclude-path = /usr/include/\n\
exclude-path = /usr/lib64/\n\
exclude-path = /usr/lib/gcc/x86_64-linux-gnu/5/include/\n\
\n\
exclude-path = $$QT_INCLUDE/../mkspecs/linux-g++\n\
exclude-path = $$QT_INCLUDE/Qt3DCore\n\
exclude-path = $$QT_INCLUDE/Qt3DExtras\n\
exclude-path = $$QT_INCLUDE/Qt3DInput\n\
exclude-path = $$QT_INCLUDE/Qt3DLogic\n\
exclude-path = $$QT_INCLUDE/Qt3DQuick\n\
exclude-path = $$QT_INCLUDE/Qt3DQuickExtras\n\
exclude-path = $$QT_INCLUDE/Qt3DQuickInput\n\
exclude-path = $$QT_INCLUDE/Qt3DQuickRender\n\
exclude-path = $$QT_INCLUDE/Qt3DRender\n\
exclude-path = $$QT_INCLUDE/QtBluetooth\n\
exclude-path = $$QT_INCLUDE/QtCharts\n\
exclude-path = $$QT_INCLUDE/QtCLucene\n\
exclude-path = $$QT_INCLUDE/QtConcurrent\n\
exclude-path = $$QT_INCLUDE/QtCore\n\
exclude-path = $$QT_INCLUDE/QtDataVisualization\n\
exclude-path = $$QT_INCLUDE/QtDBus\n\
exclude-path = $$QT_INCLUDE/QtDesigner\n\
exclude-path = $$QT_INCLUDE/QtDesignerComponents\n\
exclude-path = $$QT_INCLUDE/QtGamepad\n\
exclude-path = $$QT_INCLUDE/QtGui\n\
exclude-path = $$QT_INCLUDE/QtHelp\n\
exclude-path = $$QT_INCLUDE/QtLocation\n\
exclude-path = $$QT_INCLUDE/QtMultimedia\n\
exclude-path = $$QT_INCLUDE/QtMultimediaQuick_p\n\
exclude-path = $$QT_INCLUDE/QtMultimediaWidgets\n\
exclude-path = $$QT_INCLUDE/QtNetwork\n\
exclude-path = $$QT_INCLUDE/QtNfc\n\
exclude-path = $$QT_INCLUDE/QtOpenGL\n\
exclude-path = $$QT_INCLUDE/QtOpenGLExtensions\n\
exclude-path = $$QT_INCLUDE/QtPacketProtocol\n\
exclude-path = $$QT_INCLUDE/QtPlatformHeaders\n\
exclude-path = $$QT_INCLUDE/QtPlatformSupport\n\
exclude-path = $$QT_INCLUDE/QtPositioning\n\
exclude-path = $$QT_INCLUDE/QtPrintSupport\n\
exclude-path = $$QT_INCLUDE/QtPurchasing\n\
exclude-path = $$QT_INCLUDE/QtQml\n\
exclude-path = $$QT_INCLUDE/QtQmlDebug\n\
exclude-path = $$QT_INCLUDE/QtQmlDevTools\n\
exclude-path = $$QT_INCLUDE/QtQuick\n\
exclude-path = $$QT_INCLUDE/QtQuickControls2\n\
exclude-path = $$QT_INCLUDE/QtQuickParticles\n\
exclude-path = $$QT_INCLUDE/QtQuickTemplates2\n\
exclude-path = $$QT_INCLUDE/QtQuickTest\n\
exclude-path = $$QT_INCLUDE/QtQuickWidgets\n\
exclude-path = $$QT_INCLUDE/QtScxml\n\
exclude-path = $$QT_INCLUDE/QtSensors\n\
exclude-path = $$QT_INCLUDE/QtSerialBus\n\
exclude-path = $$QT_INCLUDE/QtSerialPort\n\
exclude-path = $$QT_INCLUDE/QtSql\n\
exclude-path = $$QT_INCLUDE/QtSvg\n\
exclude-path = $$QT_INCLUDE/QtTest\n\
exclude-path = $$QT_INCLUDE/QtUiPlugin\n\
exclude-path = $$QT_INCLUDE/QtUiTools\n\
exclude-path = $$QT_INCLUDE/QtWebChannel\n\
exclude-path = $$QT_INCLUDE/QtWebEngine\n\
exclude-path = $$QT_INCLUDE/QtWebEngineCore\n\
exclude-path = $$QT_INCLUDE/QtWebEngineWidgets\n\
exclude-path = $$QT_INCLUDE/QtWebSockets\n\
exclude-path = $$QT_INCLUDE/QtWebView\n\
exclude-path = $$QT_INCLUDE/QtWidgets\n\
exclude-path = $$QT_INCLUDE/QtX11Extras\n\
exclude-path = $$QT_INCLUDE/QtXml\n\
exclude-path = $$QT_INCLUDE/QtXmlPatterns\n\
"

defineReplace(pvs_studio_filter_sources) {
    variable = $$1
    in = $$eval($$variable)
    out =
    for(source, in) {
        contains(source, "^.+\\.(cpp|cpp|cc|cx|cxx|cp|c\\+\\+)$") {
            out += "$${source}"
        }
        contains(source, "^.+\\.c$") {
            out += "$${source}"
        }
    }
    return($${out})
}

isEmpty(pvs_studio.target) {
    pvs_studio.target = pvs_studio
}
isEmpty(pvs_studio.log) {
    contains(pvs_studio.format, "^tasklist$") {
        pvs_studio.log = "$$pvs_studio.target".tasks
    } else {
        pvs_studio.log = "$$pvs_studio.target".log
    }
}
isEmpty(pvs_studio.cfg) {
    pvs_studio.cfg = "pvs-studio.cfg"
}

pvs_sources = $$pvs_studio.sources
pvs_sources = $$pvs_studio_filter_sources(pvs_sources)
pvs_plogs =
pvs_targets =
for(source, pvs_sources) {
    contains(source, "^/.*$") {
        relpath = $$relative_path("$$source", "$$_PRO_FILE_PWD_")
        !contains(relpath, "^../") {
            source = "$$relpath"
        }
    }
    dir = $$dirname(source)
    isEmpty(dir) {
        dir = "."
    }
    args = $$pvs_studio.args
    dir = $$clean_path("$$OUT_PWD/PVS-Studio/$${dir}")
    log = $$clean_path("$${dir}/$${source}.plog")
    dir = $$dirname(log)
    !contains(source, "^/.*$") {
        source = "$$_PRO_FILE_PWD_/$${source}"
    }
    source = $$clean_path("$$source")
    contains(source, "^.+\\.(cpp|cpp|cc|cx|cxx|cp|c\\+\\+)$") {
        lang_flags=$$pvs_studio.cxxflags $(CXXFLAGS) $(DEFINES) -DPVS_STUDIO
    }
    contains(source, "^.+\\.c$") {
        lang_flags=$$pvs_studio.cflags $(CFLAGS) $(DEFINES) -DPVS_STUDIO
    }
    !isEmpty(pvs_studio.license) {
        args += --lic-file \'$$pvs_studio.license\'
    }
    args += --cfg \'$$pvs_studio.cfg\'
    args += --output-file \'$${log}\'
    args += --source-file \'$${source}\'
    args += --platform linux64
    args += --preprocessor gcc
    args += --cl-params $${lang_flags} $(INCPATH)
    target = $${source}_pvs
    $${target}.target = "$$log"
    $${target}.commands = echo \"$$PVS_CONFIG\" > \'$$pvs_studio.cfg\' && \
                          mkdir -p \'$${dir}\' && \
                          rm -f \'$${log}\' && \
                          pvs-studio $${args} \'$${source}\'
    $${target}.depends = "$${source}"
    pvs_plogs += "$${log}"
    pvs_targets += $${target}
    QMAKE_CLEAN += "$${log}"
    QMAKE_EXTRA_TARGETS += "$${target}"
}

pvs_target = $$pvs_studio.target
$${pvs_target}.depends = $${pvs_targets}
isEmpty(pvs_plogs) {
    $${pvs_target}.commands = echo \"\" > "$$pvs_studio.log"
} else {
    commands = cat $${pvs_plogs} > "$$pvs_studio.log"
    !isEmpty(pvs_studio.output) {
        isEmpty(pvs_studio.format) {
            pvs_studio.format = errorfile
        }
    }
    !isEmpty(pvs_studio.format) {
        commands += && mv \'$$pvs_studio.log\' \'$$pvs_studio.log\'.pvs.raw \
                    && plog-converter -t $$pvs_studio.format -o \'$$pvs_studio.log\' \'$$pvs_studio.log\'.pvs.raw
    }
    !isEmpty(pvs_studio.output) {
        commands += && cat \'$$pvs_studio.log\' 1>&2
    }
    $${pvs_target}.commands = $${commands}
}

QMAKE_CLEAN += "$$pvs_studio.log"
QMAKE_EXTRA_TARGETS += "$${pvs_target}"

pvs_studio.target = pvs
pvs_studio.output = true
pvs_studio.cxxflags = -std=c++11
pvs_studio.sources = $${SOURCES}

QT_INCLUDE=$$absolute_path($$dirname(QMAKE_QMAKE)/../include)

PVS_CONFIG="\
exclude-path = /usr/include/\n\
exclude-path = /usr/lib64/\n\
exclude-path = /usr/lib/gcc/x86_64-linux-gnu/5/include/\n\
\n\
exclude-path = $$QT_INCLUDE/../mkspecs/linux-g++\n\
exclude-path = $$QT_INCLUDE/Qt3DCore\n\
exclude-path = $$QT_INCLUDE/Qt3DExtras\n\
exclude-path = $$QT_INCLUDE/Qt3DInput\n\
exclude-path = $$QT_INCLUDE/Qt3DLogic\n\
exclude-path = $$QT_INCLUDE/Qt3DQuick\n\
exclude-path = $$QT_INCLUDE/Qt3DQuickExtras\n\
exclude-path = $$QT_INCLUDE/Qt3DQuickInput\n\
exclude-path = $$QT_INCLUDE/Qt3DQuickRender\n\
exclude-path = $$QT_INCLUDE/Qt3DRender\n\
exclude-path = $$QT_INCLUDE/QtBluetooth\n\
exclude-path = $$QT_INCLUDE/QtCharts\n\
exclude-path = $$QT_INCLUDE/QtCLucene\n\
exclude-path = $$QT_INCLUDE/QtConcurrent\n\
exclude-path = $$QT_INCLUDE/QtCore\n\
exclude-path = $$QT_INCLUDE/QtDataVisualization\n\
exclude-path = $$QT_INCLUDE/QtDBus\n\
exclude-path = $$QT_INCLUDE/QtDesigner\n\
exclude-path = $$QT_INCLUDE/QtDesignerComponents\n\
exclude-path = $$QT_INCLUDE/QtGamepad\n\
exclude-path = $$QT_INCLUDE/QtGui\n\
exclude-path = $$QT_INCLUDE/QtHelp\n\
exclude-path = $$QT_INCLUDE/QtLocation\n\
exclude-path = $$QT_INCLUDE/QtMultimedia\n\
exclude-path = $$QT_INCLUDE/QtMultimediaQuick_p\n\
exclude-path = $$QT_INCLUDE/QtMultimediaWidgets\n\
exclude-path = $$QT_INCLUDE/QtNetwork\n\
exclude-path = $$QT_INCLUDE/QtNfc\n\
exclude-path = $$QT_INCLUDE/QtOpenGL\n\
exclude-path = $$QT_INCLUDE/QtOpenGLExtensions\n\
exclude-path = $$QT_INCLUDE/QtPacketProtocol\n\
exclude-path = $$QT_INCLUDE/QtPlatformHeaders\n\
exclude-path = $$QT_INCLUDE/QtPlatformSupport\n\
exclude-path = $$QT_INCLUDE/QtPositioning\n\
exclude-path = $$QT_INCLUDE/QtPrintSupport\n\
exclude-path = $$QT_INCLUDE/QtPurchasing\n\
exclude-path = $$QT_INCLUDE/QtQml\n\
exclude-path = $$QT_INCLUDE/QtQmlDebug\n\
exclude-path = $$QT_INCLUDE/QtQmlDevTools\n\
exclude-path = $$QT_INCLUDE/QtQuick\n\
exclude-path = $$QT_INCLUDE/QtQuickControls2\n\
exclude-path = $$QT_INCLUDE/QtQuickParticles\n\
exclude-path = $$QT_INCLUDE/QtQuickTemplates2\n\
exclude-path = $$QT_INCLUDE/QtQuickTest\n\
exclude-path = $$QT_INCLUDE/QtQuickWidgets\n\
exclude-path = $$QT_INCLUDE/QtScxml\n\
exclude-path = $$QT_INCLUDE/QtSensors\n\
exclude-path = $$QT_INCLUDE/QtSerialBus\n\
exclude-path = $$QT_INCLUDE/QtSerialPort\n\
exclude-path = $$QT_INCLUDE/QtSql\n\
exclude-path = $$QT_INCLUDE/QtSvg\n\
exclude-path = $$QT_INCLUDE/QtTest\n\
exclude-path = $$QT_INCLUDE/QtUiPlugin\n\
exclude-path = $$QT_INCLUDE/QtUiTools\n\
exclude-path = $$QT_INCLUDE/QtWebChannel\n\
exclude-path = $$QT_INCLUDE/QtWebEngine\n\
exclude-path = $$QT_INCLUDE/QtWebEngineCore\n\
exclude-path = $$QT_INCLUDE/QtWebEngineWidgets\n\
exclude-path = $$QT_INCLUDE/QtWebSockets\n\
exclude-path = $$QT_INCLUDE/QtWebView\n\
exclude-path = $$QT_INCLUDE/QtWidgets\n\
exclude-path = $$QT_INCLUDE/QtX11Extras\n\
exclude-path = $$QT_INCLUDE/QtXml\n\
exclude-path = $$QT_INCLUDE/QtXmlPatterns\n\
"

defineReplace(pvs_studio_filter_sources) {
    variable = $$1
    in = $$eval($$variable)
    out =
    for(source, in) {
        contains(source, "^.+\\.(cpp|cpp|cc|cx|cxx|cp|c\\+\\+)$") {
            out += "$${source}"
        }
        contains(source, "^.+\\.c$") {
            out += "$${source}"
        }
    }
    return($${out})
}

isEmpty(pvs_studio.target) {
    pvs_studio.target = pvs_studio
}
isEmpty(pvs_studio.log) {
    contains(pvs_studio.format, "^tasklist$") {
        pvs_studio.log = "$$pvs_studio.target".tasks
    } else {
        pvs_studio.log = "$$pvs_studio.target".log
    }
}
isEmpty(pvs_studio.cfg) {
    pvs_studio.cfg = "pvs-studio.cfg"
}

pvs_sources = $$pvs_studio.sources
pvs_sources = $$pvs_studio_filter_sources(pvs_sources)
pvs_plogs =
pvs_targets =
for(source, pvs_sources) {
    contains(source, "^/.*$") {
        relpath = $$relative_path("$$source", "$$_PRO_FILE_PWD_")
        !contains(relpath, "^../") {
            source = "$$relpath"
        }
    }
    dir = $$dirname(source)
    isEmpty(dir) {
        dir = "."
    }
    args = $$pvs_studio.args
    dir = $$clean_path("$$OUT_PWD/PVS-Studio/$${dir}")
    log = $$clean_path("$${dir}/$${source}.plog")
    dir = $$dirname(log)
    !contains(source, "^/.*$") {
        source = "$$_PRO_FILE_PWD_/$${source}"
    }
    source = $$clean_path("$$source")
    contains(source, "^.+\\.(cpp|cpp|cc|cx|cxx|cp|c\\+\\+)$") {
        lang_flags=$$pvs_studio.cxxflags $(CXXFLAGS) $(DEFINES)
    }
    contains(source, "^.+\\.c$") {
        lang_flags=$$pvs_studio.cflags $(CFLAGS) $(DEFINES)
    }
    !isEmpty(pvs_studio.license) {
        args += --lic-file \'$$pvs_studio.license\'
    }
    args += --cfg \'$$pvs_studio.cfg\'
    args += --output-file \'$${log}\'
    args += --source-file \'$${source}\'
    args += --platform linux64
    args += --preprocessor gcc
    args += --cl-params $${lang_flags} $(INCPATH)
    target = $${source}_pvs
    $${target}.target = "$$log"
    $${target}.commands = echo \"$$PVS_CONFIG\" > \'$$pvs_studio.cfg\' && \
                          mkdir -p \'$${dir}\' && \
                          rm -f \'$${log}\' && \
                          pvs-studio $${args} \'$${source}\'
    $${target}.depends = "$${source}"
    pvs_plogs += "$${log}"
    pvs_targets += $${target}
    QMAKE_CLEAN += "$${log}"
    QMAKE_EXTRA_TARGETS += "$${target}"
}

pvs_target = $$pvs_studio.target
$${pvs_target}.depends = $${pvs_targets}
isEmpty(pvs_plogs) {
    $${pvs_target}.commands = echo \"\" > "$$pvs_studio.log"
} else {
    commands = cat $${pvs_plogs} > "$$pvs_studio.log"
    !isEmpty(pvs_studio.output) {
        isEmpty(pvs_studio.format) {
            pvs_studio.format = errorfile
        }
    }
    !isEmpty(pvs_studio.format) {
        commands += && mv \'$$pvs_studio.log\' \'$$pvs_studio.log\'.pvs.raw \
                    && plog-converter -t $$pvs_studio.format -o \'$$pvs_studio.log\' \'$$pvs_studio.log\'.pvs.raw
    }
    !isEmpty(pvs_studio.output) {
        commands += && cat \'$$pvs_studio.log\' 1>&2
    }
    $${pvs_target}.commands = $${commands}
}

QMAKE_CLEAN += "$$pvs_studio.log"
QMAKE_EXTRA_TARGETS += "$${pvs_target}"


#6, Divided .pro specific os configuration on separated files, added macx configuration

  INCLUDEPATH += $$(JAVA_HOME)/include
  INCLUDEPATH += $$(JAVA_HOME)/include/darwin
  LIBS += -L"/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/server" -ljvm
  LIBS += -L"/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/client" -ljvm
  SOURCES+= \
    src/lib/os/mac.cpp \
    src/lib/spec/macspecifications.cpp
  HEADERS += \
    src/lib/os/mac.h \
    src/lib/spec/macspecifications.h


Enabled snapshot for Symbian camera

Enabled snapshot for Symbian camera

CONFIG += release
CONFIG_WIN32 += debug_and_release build_all release
build_unit_tests = no
build_public_unit_tests = no
build_examples = no
build_demos = no
build_docs = no
build_tools = no
qmf_enabled = no
!symbian:isEmpty($$QT_MOBILITY_INCLUDE):QT_MOBILITY_INCLUDE=$$QT_MOBILITY_PREFIX/include
isEmpty($$QT_MOBILITY_LIB):QT_MOBILITY_LIB=$$QT_MOBILITY_PREFIX/lib
isEmpty($$QT_MOBILITY_BIN):QT_MOBILITY_BIN=$$QT_MOBILITY_PREFIX/bin
isEmpty($$QT_MOBILITY_PLUGINS):QT_MOBILITY_PLUGINS=$$QT_MOBILITY_PREFIX/plugins
isEmpty($$QT_MOBILITY_EXAMPLES):QT_MOBILITY_EXAMPLES=$$QT_MOBILITY_PREFIX/bin
isEmpty($$QT_MOBILITY_DEMOS):QT_MOBILITY_DEMOS=$$QT_MOBILITY_PREFIX/bin
mobility_modules = bearer location contacts systeminfo publishsubscribe versit messaging sensors serviceframework multimedia gallery organizer feedback connectivity
contains(mobility_modules,versit): mobility_modules *= contacts
contains(mobility_modules,connectivity): mobility_modules *= serviceframework
lbt_enabled = yes
location_fix_enabled = no
snap_enabled = yes
occ_enabled = yes
symbianenote_enabled = no
symbiancntsim_enabled = yes
symbiancntmodel_enabled = yes
symbiancntmodelv2_enabled = no
sensors_s60_31_enabled = no
sensors_symbian_enabled = yes
sensors_symbian_light_enabled = yes
hb_symbian_enabled = no
audiorouting_s60_enabled = yes
tunerlib_s60_enabled = no
radioutility_s60_enabled = yes
openmaxal_symbian_enabled = no
surfaces_s60_enabled = yes
messaging_freestyle_enabled = yes
messaging_freestyle_mapi12_enabled = no
callinformation_symbian_enabled = yes
immersion_enabled = no
symbian_camera_camautofocus_enabled = no
symbian_camera_ecamadvsettings_enabled = yes
symbian_camera_devvideorecord_enabled = yes
symbian_camera_snapshot_enabled = yes
advancedtouchfeedback_enabled = yes
chwrmhaptics_enabled = yes
mds_enabled = yes
mds_25_enabled = yes
mds_25_92mcl_enabled = yes
nfc_symbian_enabled = yes
btengconnman_symbian_enabled = yes
btengdevman_symbian_enabled = yes
MOBILITY_SD_MCL_BUILD = yes

CONFIG += release
CONFIG_WIN32 += debug_and_release build_all release
build_unit_tests = no
build_public_unit_tests = no
build_examples = no
build_demos = no
build_docs = no
build_tools = no
qmf_enabled = no
!symbian:isEmpty($$QT_MOBILITY_INCLUDE):QT_MOBILITY_INCLUDE=$$QT_MOBILITY_PREFIX/include
isEmpty($$QT_MOBILITY_LIB):QT_MOBILITY_LIB=$$QT_MOBILITY_PREFIX/lib
isEmpty($$QT_MOBILITY_BIN):QT_MOBILITY_BIN=$$QT_MOBILITY_PREFIX/bin
isEmpty($$QT_MOBILITY_PLUGINS):QT_MOBILITY_PLUGINS=$$QT_MOBILITY_PREFIX/plugins
isEmpty($$QT_MOBILITY_EXAMPLES):QT_MOBILITY_EXAMPLES=$$QT_MOBILITY_PREFIX/bin
isEmpty($$QT_MOBILITY_DEMOS):QT_MOBILITY_DEMOS=$$QT_MOBILITY_PREFIX/bin
mobility_modules = bearer location contacts systeminfo publishsubscribe versit messaging sensors serviceframework multimedia gallery organizer feedback connectivity
contains(mobility_modules,versit): mobility_modules *= contacts
contains(mobility_modules,connectivity): mobility_modules *= serviceframework
lbt_enabled = yes
location_fix_enabled = no
snap_enabled = yes
occ_enabled = yes
symbianenote_enabled = no
symbiancntsim_enabled = yes
symbiancntmodel_enabled = yes
symbiancntmodelv2_enabled = no
sensors_s60_31_enabled = no
sensors_symbian_enabled = yes
sensors_symbian_light_enabled = yes
hb_symbian_enabled = no
audiorouting_s60_enabled = yes
tunerlib_s60_enabled = no
radioutility_s60_enabled = yes
openmaxal_symbian_enabled = no
surfaces_s60_enabled = yes
messaging_freestyle_enabled = yes
messaging_freestyle_mapi12_enabled = no
callinformation_symbian_enabled = yes
immersion_enabled = no
symbian_camera_camautofocus_enabled = no
symbian_camera_ecamadvsettings_enabled = yes
symbian_camera_devvideorecord_enabled = yes
advancedtouchfeedback_enabled = yes
chwrmhaptics_enabled = yes
mds_enabled = yes
mds_25_enabled = yes
mds_25_92mcl_enabled = yes
nfc_symbian_enabled = yes
btengconnman_symbian_enabled = yes
btengdevman_symbian_enabled = yes
MOBILITY_SD_MCL_BUILD = yes


Fixup includes and linking of libmaliit-connection in tests

RevBy: Krzesimir Nowak, Jan Arne Petersen
A bit ugly at the moment, but for better transparency in
which tests require what things we would need to split
up the code that goes into maliit server further.
For instance by splitting out the input method plugin interface.

Full, original commit at 10cbc8c3809d12122fd5f002defeea7173a183b7 in maliit-framework

include(../config.pri)

OBJECTS_DIR = .obj
MOC_DIR = .moc
UTILS_DIR = ../utils

CONFIG += debug
QT += testlib xml $$QT_WIDGETS

QMAKE_CLEAN += *.log *~

target.path = $$MALIIT_TEST_LIBDIR/$$TARGET
INSTALLS += target

DEFINES += MALIIT_TEST_DATA_PATH=\\\"$$MALIIT_TEST_LIBDIR\\\"

TOP_DIR = ../..
SRC_DIR = $$TOP_DIR/src

INCLUDEPATH += . \
               $$TOP_DIR \
               $$SRC_DIR \
               $$TOP_DIR/common \
               $$TOP_DIR/connection \
               $$UTILS_DIR \

HEADERS += \
           $$UTILS_DIR/utils.h \

SOURCES += \
           $$UTILS_DIR/utils.cpp \

code_coverage_option=off
for(OPTION,$$list($$lower($$COV_OPTION))){
    isEqual(OPTION, on){
        code_coverage_option=on
    }
}

include(../config.pri)

OBJECTS_DIR = .obj
MOC_DIR = .moc
UTILS_DIR = ../utils

CONFIG += debug
QT += testlib xml $$QT_WIDGETS

QMAKE_CLEAN += *.log *~

target.path = $$MALIIT_TEST_LIBDIR/$$TARGET
INSTALLS += target

DEFINES += MALIIT_TEST_DATA_PATH=\\\"$$MALIIT_TEST_LIBDIR\\\"

TOP_DIR = ../..
SRC_DIR = $$TOP_DIR/src

INCLUDEPATH += . \
               $$TOP_DIR \
               $$SRC_DIR \
               $$TOP_DIR/common \
               $$UTILS_DIR \

HEADERS += \
           $$UTILS_DIR/utils.h \

SOURCES += \
           $$UTILS_DIR/utils.cpp \

code_coverage_option=off
for(OPTION,$$list($$lower($$COV_OPTION))){
    isEqual(OPTION, on){
        code_coverage_option=on
    }
}


Update ASIO path

Update ASIO path

# winpaths_default.pri
#
# This file contains the default paths for Windows dependencies.
# If you want to customize them do NOT CHANGE THIS FILE but instead
# create a winpaths_custom.pri file in this directory and overwrite
# the variables you need to customize. Do NOT COMMIT your custom file
# to the repository.
#

ICE_PATH = /dev/Ice
PROTOBUF_PATH = /dev/protobuf-2.3.0
OPENSSL_PATH = /dev/OpenSSL
LIBSNDFILE_PATH = /dev/libsndfile
BOOST_PATH = /dev/Boost
VLD_PATH = /dev/vld
BONJOUR_PATH = /dev/Bonjour
ASIO_PATH = /dev/asio
G15SDK_PATH = /dev/G15SDK/SDK
LIBOGG_PATH = /dev/libogg

# Include custom file if it exists
exists(winpaths_custom.pri) {
	include(winpaths_custom.pri)
}

# winpaths_default.pri
#
# This file contains the default paths for Windows dependencies.
# If you want to customize them do NOT CHANGE THIS FILE but instead
# create a winpaths_custom.pri file in this directory and overwrite
# the variables you need to customize. Do NOT COMMIT your custom file
# to the repository.
#

ICE_PATH = /dev/Ice
PROTOBUF_PATH = /dev/protobuf-2.3.0
OPENSSL_PATH = /dev/OpenSSL
LIBSNDFILE_PATH = /dev/libsndfile
BOOST_PATH = /dev/Boost
VLD_PATH = /dev/vld
BONJOUR_PATH = /dev/Bonjour
ASIO_PATH = /dev/mumble/asio
G15SDK_PATH = /dev/G15SDK/SDK
LIBOGG_PATH = /dev/libogg

# Include custom file if it exists
exists(winpaths_custom.pri) {
	include(winpaths_custom.pri)
}


Add airmapd.so to the distribution

Add airmapd.so to the distribution

# -------------------------------------------------
# QGroundControl - Micro Air Vehicle Groundstation
# Please see our website at <http://qgroundcontrol.org>
# Maintainer:
# Lorenz Meier <lm@inf.ethz.ch>
# (c) 2009-2011 QGroundControl Developers
# License terms set in COPYING.md
# -------------------------------------------------

QMAKE_POST_LINK += echo "Copying files"

#
# Copy the application resources to the associated place alongside the application
#

LinuxBuild {
    DESTDIR_COPY_RESOURCE_LIST = $$DESTDIR
}

MacBuild {
    DESTDIR_COPY_RESOURCE_LIST = $$DESTDIR/$${TARGET}.app/Contents/MacOS
}

# Windows version of QMAKE_COPY_DIR of course doesn't work the same as Mac/Linux. It will only
# copy the contents of the source directory. It doesn't create the top level source directory
# in the target.
WindowsBuild {
    # Make sure to keep both side of this if using the same set of directories
    DESTDIR_COPY_RESOURCE_LIST = $$replace(DESTDIR,"/","\\")
    BASEDIR_COPY_RESOURCE_LIST = $$replace(BASEDIR,"/","\\")
    QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY_DIR \"$$BASEDIR_COPY_RESOURCE_LIST\\resources\\flightgear\" \"$$DESTDIR_COPY_RESOURCE_LIST\\flightgear\"
} else {
    !MobileBuild {
        # Make sure to keep both sides of this if using the same set of directories
        QMAKE_POST_LINK += && $$QMAKE_COPY_DIR $$BASEDIR/resources/flightgear $$DESTDIR_COPY_RESOURCE_LIST
    }
}

#
# Perform platform specific setup
#

MacBuild {
    # Update version info in bundle
    QMAKE_POST_LINK += && /usr/libexec/PlistBuddy -c \"Set :CFBundleShortVersionString $${MAC_VERSION}\" $$DESTDIR/$${TARGET}.app/Contents/Info.plist
    QMAKE_POST_LINK += && /usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $${MAC_BUILD}\" $$DESTDIR/$${TARGET}.app/Contents/Info.plist
}

MacBuild {
    # Copy non-standard frameworks into app package
    QMAKE_POST_LINK += && rsync -a --delete $$BASEDIR/libs/lib/Frameworks $$DESTDIR/$${TARGET}.app/Contents/
    # SDL2 Framework
    QMAKE_POST_LINK += && install_name_tool -change "@rpath/SDL2.framework/Versions/A/SDL2" "@executable_path/../Frameworks/SDL2.framework/Versions/A/SDL2" $$DESTDIR/$${TARGET}.app/Contents/MacOS/$${TARGET}
    # AirMap
    contains (DEFINES, QGC_AIRMAP_ENABLED) {
        QMAKE_POST_LINK += && rsync -a $$BASEDIR/libs/airmapd/macOS/Qt.5.9/* $$DESTDIR/$${TARGET}.app/Contents/Frameworks/
        QMAKE_POST_LINK += && install_name_tool -change "@rpath/libairmap-qt.0.0.1.dylib" "@executable_path/../Frameworks/libairmap-qt.0.0.1.dylib" $$DESTDIR/$${TARGET}.app/Contents/MacOS/$${TARGET}
    }
}

WindowsBuild {
    BASEDIR_WIN = $$replace(BASEDIR, "/", "\\")
    DESTDIR_WIN = $$replace(DESTDIR, "/", "\\")
    QT_BIN_DIR  = $$dirname(QMAKE_QMAKE)

    # Copy dependencies
    DebugBuild: DLL_QT_DEBUGCHAR = "d"
    ReleaseBuild: DLL_QT_DEBUGCHAR = ""
    COPY_FILE_LIST = \
        $$BASEDIR\\libs\\lib\\sdl2\\msvc\\lib\\x86\\SDL2.dll \
        $$BASEDIR\\deploy\\libeay32.dll

    for(COPY_FILE, COPY_FILE_LIST) {
        QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"$$COPY_FILE\" \"$$DESTDIR_WIN\"
    }

    ReleaseBuild {
        # Copy Visual Studio DLLs
        # Note that this is only done for release because the debugging versions of these DLLs cannot be redistributed.
        win32-msvc2010 {
            QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcp100.dll\"  \"$$DESTDIR_WIN\"
            QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcr100.dll\"  \"$$DESTDIR_WIN\"

        } else:win32-msvc2012 {
            QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcp110.dll\"  \"$$DESTDIR_WIN\"
            QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcr110.dll\"  \"$$DESTDIR_WIN\"

        } else:win32-msvc2013 {
            QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcp120.dll\"  \"$$DESTDIR_WIN\"
            QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcr120.dll\"  \"$$DESTDIR_WIN\"

        } else:win32-msvc2015 {
            QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcp140.dll\"  \"$$DESTDIR_WIN\"
            QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\vcruntime140.dll\"  \"$$DESTDIR_WIN\"

        } else {
            error("Visual studio version not supported, installation cannot be completed.")
        }
    }

    DEPLOY_TARGET = $$shell_quote($$shell_path($$DESTDIR_WIN\\$${TARGET}.exe))
    QMAKE_POST_LINK += $$escape_expand(\\n) $$QT_BIN_DIR\\windeployqt --no-compiler-runtime --qmldir=$${BASEDIR_WIN}\\src $${DEPLOY_TARGET}
}

LinuxBuild {
    QMAKE_POST_LINK += && mkdir -p $$DESTDIR/Qt/libs && mkdir -p $$DESTDIR/Qt/plugins

    # QT_INSTALL_LIBS
    QT_LIB_LIST = \
        libQt5Core.so.5 \
        libQt5DBus.so.5 \
        libQt5Gui.so.5 \
        libQt5Location.so.5 \
        libQt5Multimedia.so.5 \
        libQt5MultimediaQuick_p.so.5 \
        libQt5Network.so.5 \
        libQt5OpenGL.so.5 \
        libQt5Positioning.so.5 \
        libQt5PrintSupport.so.5 \
        libQt5Qml.so.5 \
        libQt5Quick.so.5 \
        libQt5QuickControls2.so.5 \
        libQt5QuickTemplates2.so.5 \
        libQt5QuickWidgets.so.5 \
        libQt5SerialPort.so.5 \
        libQt5Sql.so.5 \
        libQt5Svg.so.5 \
        libQt5Test.so.5 \
        libQt5Widgets.so.5 \
        libQt5XcbQpa.so.5 \
        libQt5Xml.so.5 \
        libQt5TextToSpeech.so.5

    !contains(DEFINES, __rasp_pi2__) {
        QT_LIB_LIST += \
            libicudata.so.56 \
            libicui18n.so.56 \
            libicuuc.so.56
    }

    for(QT_LIB, QT_LIB_LIST) {
        QMAKE_POST_LINK += && $$QMAKE_COPY --dereference $$[QT_INSTALL_LIBS]/$$QT_LIB $$DESTDIR/Qt/libs/
    }

    # QT_INSTALL_PLUGINS
    QT_PLUGIN_LIST = \
        bearer \
        geoservices \
        iconengines \
        imageformats \
        platforminputcontexts \
        platforms \
        position \
        sqldrivers \
        texttospeech

    !contains(DEFINES, __rasp_pi2__) {
        QT_PLUGIN_LIST += xcbglintegrations
    }

    for(QT_PLUGIN, QT_PLUGIN_LIST) {
        QMAKE_POST_LINK += && $$QMAKE_COPY --dereference --recursive $$[QT_INSTALL_PLUGINS]/$$QT_PLUGIN $$DESTDIR/Qt/plugins/
    }

    # QT_INSTALL_QML
    QMAKE_POST_LINK += && $$QMAKE_COPY --dereference --recursive $$[QT_INSTALL_QML] $$DESTDIR/Qt/

    # Airmap
    contains (DEFINES, QGC_AIRMAP_ENABLED) {
        QMAKE_POST_LINK += && $$QMAKE_COPY $$PWD/libs/airmapd/linux/Qt.5.9/libairmap-qt.so.0.0.1 $$DESTDIR/Qt/libs/
    }

    # QGroundControl start script
    QMAKE_POST_LINK += && $$QMAKE_COPY $$BASEDIR/deploy/qgroundcontrol-start.sh $$DESTDIR
    QMAKE_POST_LINK += && $$QMAKE_COPY $$BASEDIR/deploy/qgroundcontrol.desktop $$DESTDIR
    QMAKE_POST_LINK += && $$QMAKE_COPY $$BASEDIR/resources/icons/qgroundcontrol.png $$DESTDIR
}

# -------------------------------------------------
# QGroundControl - Micro Air Vehicle Groundstation
# Please see our website at <http://qgroundcontrol.org>
# Maintainer:
# Lorenz Meier <lm@inf.ethz.ch>
# (c) 2009-2011 QGroundControl Developers
# License terms set in COPYING.md
# -------------------------------------------------

QMAKE_POST_LINK += echo "Copying files"

#
# Copy the application resources to the associated place alongside the application
#

LinuxBuild {
    DESTDIR_COPY_RESOURCE_LIST = $$DESTDIR
}

MacBuild {
    DESTDIR_COPY_RESOURCE_LIST = $$DESTDIR/$${TARGET}.app/Contents/MacOS
}

# Windows version of QMAKE_COPY_DIR of course doesn't work the same as Mac/Linux. It will only
# copy the contents of the source directory. It doesn't create the top level source directory
# in the target.
WindowsBuild {
    # Make sure to keep both side of this if using the same set of directories
    DESTDIR_COPY_RESOURCE_LIST = $$replace(DESTDIR,"/","\\")
    BASEDIR_COPY_RESOURCE_LIST = $$replace(BASEDIR,"/","\\")
    QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY_DIR \"$$BASEDIR_COPY_RESOURCE_LIST\\resources\\flightgear\" \"$$DESTDIR_COPY_RESOURCE_LIST\\flightgear\"
} else {
    !MobileBuild {
        # Make sure to keep both sides of this if using the same set of directories
        QMAKE_POST_LINK += && $$QMAKE_COPY_DIR $$BASEDIR/resources/flightgear $$DESTDIR_COPY_RESOURCE_LIST
    }
}

#
# Perform platform specific setup
#

MacBuild {
    # Update version info in bundle
    QMAKE_POST_LINK += && /usr/libexec/PlistBuddy -c \"Set :CFBundleShortVersionString $${MAC_VERSION}\" $$DESTDIR/$${TARGET}.app/Contents/Info.plist
    QMAKE_POST_LINK += && /usr/libexec/PlistBuddy -c \"Set :CFBundleVersion $${MAC_BUILD}\" $$DESTDIR/$${TARGET}.app/Contents/Info.plist
}

MacBuild {
    # Copy non-standard frameworks into app package
    QMAKE_POST_LINK += && rsync -a --delete $$BASEDIR/libs/lib/Frameworks $$DESTDIR/$${TARGET}.app/Contents/
    # SDL2 Framework
    QMAKE_POST_LINK += && install_name_tool -change "@rpath/SDL2.framework/Versions/A/SDL2" "@executable_path/../Frameworks/SDL2.framework/Versions/A/SDL2" $$DESTDIR/$${TARGET}.app/Contents/MacOS/$${TARGET}
    # AirMap
    contains (DEFINES, QGC_AIRMAP_ENABLED) {
        QMAKE_POST_LINK += && rsync -a $$BASEDIR/libs/airmapd/macOS/Qt.5.9/* $$DESTDIR/$${TARGET}.app/Contents/Frameworks/
        QMAKE_POST_LINK += && install_name_tool -change "@rpath/libairmap-qt.0.0.1.dylib" "@executable_path/../Frameworks/libairmap-qt.0.0.1.dylib" $$DESTDIR/$${TARGET}.app/Contents/MacOS/$${TARGET}
    }
}

WindowsBuild {
    BASEDIR_WIN = $$replace(BASEDIR, "/", "\\")
    DESTDIR_WIN = $$replace(DESTDIR, "/", "\\")
    QT_BIN_DIR  = $$dirname(QMAKE_QMAKE)

    # Copy dependencies
    DebugBuild: DLL_QT_DEBUGCHAR = "d"
    ReleaseBuild: DLL_QT_DEBUGCHAR = ""
    COPY_FILE_LIST = \
        $$BASEDIR\\libs\\lib\\sdl2\\msvc\\lib\\x86\\SDL2.dll \
        $$BASEDIR\\deploy\\libeay32.dll

    for(COPY_FILE, COPY_FILE_LIST) {
        QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"$$COPY_FILE\" \"$$DESTDIR_WIN\"
    }

    ReleaseBuild {
        # Copy Visual Studio DLLs
        # Note that this is only done for release because the debugging versions of these DLLs cannot be redistributed.
        win32-msvc2010 {
            QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcp100.dll\"  \"$$DESTDIR_WIN\"
            QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcr100.dll\"  \"$$DESTDIR_WIN\"

        } else:win32-msvc2012 {
            QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcp110.dll\"  \"$$DESTDIR_WIN\"
            QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcr110.dll\"  \"$$DESTDIR_WIN\"

        } else:win32-msvc2013 {
            QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcp120.dll\"  \"$$DESTDIR_WIN\"
            QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcr120.dll\"  \"$$DESTDIR_WIN\"

        } else:win32-msvc2015 {
            QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcp140.dll\"  \"$$DESTDIR_WIN\"
            QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\vcruntime140.dll\"  \"$$DESTDIR_WIN\"

        } else {
            error("Visual studio version not supported, installation cannot be completed.")
        }
    }

    DEPLOY_TARGET = $$shell_quote($$shell_path($$DESTDIR_WIN\\$${TARGET}.exe))
    QMAKE_POST_LINK += $$escape_expand(\\n) $$QT_BIN_DIR\\windeployqt --no-compiler-runtime --qmldir=$${BASEDIR_WIN}\\src $${DEPLOY_TARGET}
}

LinuxBuild {
    QMAKE_POST_LINK += && mkdir -p $$DESTDIR/Qt/libs && mkdir -p $$DESTDIR/Qt/plugins

    # QT_INSTALL_LIBS
    QT_LIB_LIST = \
        libQt5Core.so.5 \
        libQt5DBus.so.5 \
        libQt5Gui.so.5 \
        libQt5Location.so.5 \
        libQt5Multimedia.so.5 \
        libQt5MultimediaQuick_p.so.5 \
        libQt5Network.so.5 \
        libQt5OpenGL.so.5 \
        libQt5Positioning.so.5 \
        libQt5PrintSupport.so.5 \
        libQt5Qml.so.5 \
        libQt5Quick.so.5 \
        libQt5QuickControls2.so.5 \
        libQt5QuickTemplates2.so.5 \
        libQt5QuickWidgets.so.5 \
        libQt5SerialPort.so.5 \
        libQt5Sql.so.5 \
        libQt5Svg.so.5 \
        libQt5Test.so.5 \
        libQt5Widgets.so.5 \
        libQt5XcbQpa.so.5 \
        libQt5Xml.so.5 \
        libQt5TextToSpeech.so.5

    !contains(DEFINES, __rasp_pi2__) {
        QT_LIB_LIST += \
            libicudata.so.56 \
            libicui18n.so.56 \
            libicuuc.so.56
    }

    for(QT_LIB, QT_LIB_LIST) {
        QMAKE_POST_LINK += && $$QMAKE_COPY --dereference $$[QT_INSTALL_LIBS]/$$QT_LIB $$DESTDIR/Qt/libs/
    }

    # QT_INSTALL_PLUGINS
    QT_PLUGIN_LIST = \
        bearer \
        geoservices \
        iconengines \
        imageformats \
        platforminputcontexts \
        platforms \
        position \
        sqldrivers \
        texttospeech

    !contains(DEFINES, __rasp_pi2__) {
        QT_PLUGIN_LIST += xcbglintegrations
    }

    for(QT_PLUGIN, QT_PLUGIN_LIST) {
        QMAKE_POST_LINK += && $$QMAKE_COPY --dereference --recursive $$[QT_INSTALL_PLUGINS]/$$QT_PLUGIN $$DESTDIR/Qt/plugins/
    }

    # QT_INSTALL_QML
    QMAKE_POST_LINK += && $$QMAKE_COPY --dereference --recursive $$[QT_INSTALL_QML] $$DESTDIR/Qt/

    # QGroundControl start script
    QMAKE_POST_LINK += && $$QMAKE_COPY $$BASEDIR/deploy/qgroundcontrol-start.sh $$DESTDIR
    QMAKE_POST_LINK += && $$QMAKE_COPY $$BASEDIR/deploy/qgroundcontrol.desktop $$DESTDIR
    QMAKE_POST_LINK += && $$QMAKE_COPY $$BASEDIR/resources/icons/qgroundcontrol.png $$DESTDIR
}


add deployment info for wince

add deployment info for wince

######################################################################
#
# Mobility API project - common QMake settings
#
######################################################################

CONFIG += debug_and_release build_all

# On win32 and mac, debug and release libraries are named differently.
# We must follow the debug and release settings Qt was compiled with:
# build debug iff Qt built debug, build release iff Qt built release.
win32|mac {
    !contains(QT_CONFIG,debug)|!contains(QT_CONFIG,release) {
        CONFIG -= debug_and_release debug release
        contains(QT_CONFIG,debug):  CONFIG+=debug
        contains(QT_CONFIG,release):CONFIG+=release
    }
}

# For symbian, we are not attempting to freeze APIs yet.
symbian:MMP_RULES += "EXPORTUNFROZEN"

CONFIG(debug, debug|release) {
    SUBDIRPART = Debug
} else {
    SUBDIRPART = Release
}

# Figure out the root of where stuff should go (this could be done via configure)
OUTPUT_DIR = $$PWD
SOURCE_DIR = $$PWD

#test whether we have a unit test
!testcase {
    OBJECTS_DIR = $$OUTPUT_DIR/build/$$SUBDIRPART/$$TARGET
    DESTDIR = $$OUTPUT_DIR/build/$$SUBDIRPART/bin
    MOC_DIR = $$OUTPUT_DIR/build/$$SUBDIRPART/$$TARGET/moc
    RCC_DIR = $$OUTPUT_DIR/build/$$SUBDIRPART/$$TARGET/rcc
    UI_DIR = $$OUTPUT_DIR/build/$$SUBDIRPART/$$TARGET/ui
} else {
    QT *= testlib
    CONFIG += console
    CONFIG -= app_bundle
    OBJECTS_DIR = $$OUTPUT_DIR/build/tests/$$SUBDIRPART/$$TARGET
    DESTDIR = $$OUTPUT_DIR/build/tests/$$SUBDIRPART/bin
    MOC_DIR = $$OUTPUT_DIR/build/tests/$$SUBDIRPART/$$TARGET/moc
    RCC_DIR = $$OUTPUT_DIR/build/tests/$$SUBDIRPART/$$TARGET/rcc
    UI_DIR = $$OUTPUT_DIR/build/tests/$$SUBDIRPART/$$TARGET/ui
    LIBS += -L$$OUTPUT_DIR/build/$$SUBDIRPART/bin  #link against library that we test
    INCLUDEPATH += $$MOC_DIR
}

wince* {
    LOCATION.sources = $OUTPUT_DIR/lib/QtLocation.dll
    LOCATION.path = .
    DEPLOYMENT += LOCATION
}

# Add the output dirs to the link path too
LIBS += -L$$DESTDIR

DEPENDPATH += . $$SOURCE_DIR
INCLUDEPATH += . $$SOURCE_DIR

######################################################################
#
# Mobility API project - common QMake settings
#
######################################################################

CONFIG += debug_and_release build_all

# On win32 and mac, debug and release libraries are named differently.
# We must follow the debug and release settings Qt was compiled with:
# build debug iff Qt built debug, build release iff Qt built release.
win32|mac {
    !contains(QT_CONFIG,debug)|!contains(QT_CONFIG,release) {
        CONFIG -= debug_and_release debug release
        contains(QT_CONFIG,debug):  CONFIG+=debug
        contains(QT_CONFIG,release):CONFIG+=release
    }
}

# For symbian, we are not attempting to freeze APIs yet.
symbian:MMP_RULES += "EXPORTUNFROZEN"

CONFIG(debug, debug|release) {
    SUBDIRPART = Debug
} else {
    SUBDIRPART = Release
}

# Figure out the root of where stuff should go (this could be done via configure)
OUTPUT_DIR = $$PWD
SOURCE_DIR = $$PWD

#test whether we have a unit test
!testcase {
    OBJECTS_DIR = $$OUTPUT_DIR/build/$$SUBDIRPART/$$TARGET
    DESTDIR = $$OUTPUT_DIR/build/$$SUBDIRPART/bin
    MOC_DIR = $$OUTPUT_DIR/build/$$SUBDIRPART/$$TARGET/moc
    RCC_DIR = $$OUTPUT_DIR/build/$$SUBDIRPART/$$TARGET/rcc
    UI_DIR = $$OUTPUT_DIR/build/$$SUBDIRPART/$$TARGET/ui
} else {
    QT *= testlib
    CONFIG += console
    CONFIG -= app_bundle
    OBJECTS_DIR = $$OUTPUT_DIR/build/tests/$$SUBDIRPART/$$TARGET
    DESTDIR = $$OUTPUT_DIR/build/tests/$$SUBDIRPART/bin
    MOC_DIR = $$OUTPUT_DIR/build/tests/$$SUBDIRPART/$$TARGET/moc
    RCC_DIR = $$OUTPUT_DIR/build/tests/$$SUBDIRPART/$$TARGET/rcc
    UI_DIR = $$OUTPUT_DIR/build/tests/$$SUBDIRPART/$$TARGET/ui
    LIBS += -L$$OUTPUT_DIR/build/$$SUBDIRPART/bin  #link against library that we test
    INCLUDEPATH += $$MOC_DIR
}

# Add the output dirs to the link path too
LIBS += -L$$DESTDIR

DEPENDPATH += . $$SOURCE_DIR
INCLUDEPATH += . $$SOURCE_DIR


Hard-code paths for now, the prf file isn't found...

# Linker optimization for release build
QMAKE_LFLAGS_RELEASE+=-Wl,--as-needed
# Compiler warnings are error if the build type is debug.
# Except when we pass a CONFIG+=no-werror as a workaround for QTBUG-18092
no-werror {
    QMAKE_CXXFLAGS_DEBUG+=-O0
} else {
    QMAKE_CXXFLAGS_DEBUG+=-Werror -O0
}

CONFIG += no_keywords

# The feature maliit-defines initializes some variables related for MALIIT, such as installation paths
# here have to load it early, to start using the defines immediately
#!load(maliit-defines) {
#   error(Cannot find $$[QT_INSTALL_DATA]/mkspecs/features/maliit-defines.prf. Probably Maliit framework not installed)
#}
MALIIT_PREFIX=/usr
MALIIT_PLUGINS_DIR = /usr/lib/maliit/plugins
MALIIT_PLUGINS_DATA_DIR = /usr/share/maliit/plugins
MALIIT_INSTALL_LIBS = /usr/lib

# This enables the maliit library for C++ code
CONFIG += maliit-plugins

isEmpty(PREFIX) {
   PREFIX = $$MALIIT_PREFIX
}

isEmpty(LIBDIR) {
   LIBDIR = $$PREFIX/lib
}

isEmpty(MALIIT_DEFAULT_PROFILE) {
    MALIIT_DEFAULT_PROFILE = nokia-n9
}

isEmpty(HUNSPELL_DICT_PATH) {
    HUNSPELL_DICT_PATH = $$PREFIX/share/hunspell
}

contains(QT_CONFIG, embedded) {
    CONFIG += qws
}

INSTALL_BIN = $$PREFIX/bin
INSTALL_LIBS = $$LIBDIR
INSTALL_HEADERS = $$PREFIX/include
INSTALL_DOCS = $$PREFIX/share/doc

enable-opengl {
    QT += opengl
    DEFINES += MALIIT_KEYBOARD_HAVE_OPENGL
}

MALIIT_PACKAGENAME = maliit-plugins
MALIIT_VERSION = $$system(cat $$PWD/VERSION)

# Linker optimization for release build
QMAKE_LFLAGS_RELEASE+=-Wl,--as-needed
# Compiler warnings are error if the build type is debug.
# Except when we pass a CONFIG+=no-werror as a workaround for QTBUG-18092
no-werror {
    QMAKE_CXXFLAGS_DEBUG+=-O0
} else {
    QMAKE_CXXFLAGS_DEBUG+=-Werror -O0
}

CONFIG += no_keywords

# The feature maliit-defines initializes some variables related for MALIIT, such as installation paths
# here have to load it early, to start using the defines immediately
!load(maliit-defines) {
   error(Cannot find $$[QT_INSTALL_DATA]/mkspecs/features/maliit-defines.prf. Probably Maliit framework not installed)
}
# This enables the maliit library for C++ code
CONFIG += maliit-plugins

isEmpty(PREFIX) {
   PREFIX = $$MALIIT_PREFIX
}

isEmpty(LIBDIR) {
   LIBDIR = $$PREFIX/lib
}

isEmpty(MALIIT_DEFAULT_PROFILE) {
    MALIIT_DEFAULT_PROFILE = nokia-n9
}

isEmpty(HUNSPELL_DICT_PATH) {
    HUNSPELL_DICT_PATH = $$PREFIX/share/hunspell
}

contains(QT_CONFIG, embedded) {
    CONFIG += qws
}

INSTALL_BIN = $$PREFIX/bin
INSTALL_LIBS = $$LIBDIR
INSTALL_HEADERS = $$PREFIX/include
INSTALL_DOCS = $$PREFIX/share/doc

enable-opengl {
    QT += opengl
    DEFINES += MALIIT_KEYBOARD_HAVE_OPENGL
}

MALIIT_PACKAGENAME = maliit-plugins
MALIIT_VERSION = $$system(cat $$PWD/VERSION)


MSVC: Define  _USE_MATH_DEFINES to enable M_PI, M_E,...

!win32-msvc* {
    QMAKE_CXXFLAGS += -fexceptions
} else {
    QMAKE_CXXFLAGS += /EHsc
    # To enable M_PI, M_E,...
    DEFINES += _USE_MATH_DEFINES
}

HEADERS += $$PWD/jkqtplotter/jkqtpbaseplotter.h \
           $$PWD/jkqtplotter/jkqtpdatastorage.h \
           $$PWD/jkqtplotter/jkqtpbasegraphs.h \
           $$PWD/jkqtplotter/jkqtpelements.h \
           $$PWD/jkqtplotter/jkqtpbaseelements.h \
           $$PWD/jkqtplotter/jkqtplotter.h \
           $$PWD/jkqtplottertools/jkqtptools.h \
           $$PWD/jkqtplottertools/jkqttools.h \
           $$PWD/jkqtplotter/jkqtpimageelements.h \
           $$PWD/jkqtplotter/jkqtpimagetools.h \
           $$PWD/jkqtplotter/jkqtpbarchartelements.h \
           $$PWD/jkqtplotter/jkqtpboxplotelements.h \
           $$PWD/jkqtplotter/jkqtpevaluatedfunctionelements.h \
           $$PWD/jkqtplotter/jkqtpfilledcurveelements.h \
           $$PWD/jkqtplotter/jkqtpimpulseselements.h \
           $$PWD/jkqtplotter/jkqtpparsedfunctionelements.h \
           $$PWD/jkqtplotter/jkqtpoverlayelements.h \
           $$PWD/jkqtplotter/jkqtpgeoelements.h \
           $$PWD/jkqtplottertools/jkqtpmathparser.h \
           $$PWD/jkqtplottertools/jkqtp_imexport.h \
           $$PWD/jkqtplotter/jkqtpplotsmodel.h \
           $$PWD/jkqtmathtext/jkqtmathtext.h \
           $$PWD/jkqtplottertools/jkqtphighrestimer.h

SOURCES += $$PWD/jkqtplotter/jkqtpbaseplotter.cpp \
           $$PWD/jkqtplotter/jkqtpdatastorage.cpp \
           $$PWD/jkqtplotter/jkqtpbasegraphs.cpp \
           $$PWD/jkqtplotter/jkqtpelements.cpp \
           $$PWD/jkqtplotter/jkqtpbaseelements.cpp \
           $$PWD/jkqtplotter/jkqtplotter.cpp \
           $$PWD/jkqtplottertools/jkqtptools.cpp \
           $$PWD/jkqtplottertools/jkqttools.cpp  \
           $$PWD/jkqtplotter/jkqtpimageelements.cpp  \
           $$PWD/jkqtplotter/jkqtpimagetools.cpp  \
           $$PWD/jkqtplotter/jkqtpbarchartelements.cpp  \
           $$PWD/jkqtplotter/jkqtpboxplotelements.cpp  \
           $$PWD/jkqtplotter/jkqtpevaluatedfunctionelements.cpp  \
           $$PWD/jkqtplotter/jkqtpfilledcurveelements.cpp  \
           $$PWD/jkqtplotter/jkqtpimpulseselements.cpp  \
           $$PWD/jkqtplotter/jkqtpparsedfunctionelements.cpp  \
           $$PWD/jkqtplotter/jkqtpoverlayelements.cpp  \
           $$PWD/jkqtplotter/jkqtpgeoelements.cpp  \
           $$PWD/jkqtplottertools/jkqtpmathparser.cpp \
           $$PWD/jkqtplotter/jkqtpplotsmodel.cpp \
           $$PWD/jkqtmathtext/jkqtmathtext.cpp \
           $$PWD/jkqtplottertools/jkqtphighrestimer.cpp

RESOURCES += $$PWD/jkqtplotterressources/jkqtpbaseplotter.qrc

INCLUDEPATH += $$PWD

QT += core gui xml svg
#win32:LIBS += -lgdi32
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport

include($$PWD/jkqtplotterressources/math_fonts/xits.pri)
DEFINES += AUTOLOAD_XITS_FONTS
DEFINES += USE_XITS_FONTS

# for support of palettes stored as XML, use:
QT += xml

!win32-msvc* {
    QMAKE_CXXFLAGS += -fexceptions
} else {
    QMAKE_CXXFLAGS += /EHsc
}

HEADERS += $$PWD/jkqtplotter/jkqtpbaseplotter.h \
           $$PWD/jkqtplotter/jkqtpdatastorage.h \
           $$PWD/jkqtplotter/jkqtpbasegraphs.h \
           $$PWD/jkqtplotter/jkqtpelements.h \
           $$PWD/jkqtplotter/jkqtpbaseelements.h \
           $$PWD/jkqtplotter/jkqtplotter.h \
           $$PWD/jkqtplottertools/jkqtptools.h \
           $$PWD/jkqtplottertools/jkqttools.h \
           $$PWD/jkqtplotter/jkqtpimageelements.h \
           $$PWD/jkqtplotter/jkqtpimagetools.h \
           $$PWD/jkqtplotter/jkqtpbarchartelements.h \
           $$PWD/jkqtplotter/jkqtpboxplotelements.h \
           $$PWD/jkqtplotter/jkqtpevaluatedfunctionelements.h \
           $$PWD/jkqtplotter/jkqtpfilledcurveelements.h \
           $$PWD/jkqtplotter/jkqtpimpulseselements.h \
           $$PWD/jkqtplotter/jkqtpparsedfunctionelements.h \
           $$PWD/jkqtplotter/jkqtpoverlayelements.h \
           $$PWD/jkqtplotter/jkqtpgeoelements.h \
           $$PWD/jkqtplottertools/jkqtpmathparser.h \
           $$PWD/jkqtplottertools/jkqtp_imexport.h \
           $$PWD/jkqtplotter/jkqtpplotsmodel.h \
           $$PWD/jkqtmathtext/jkqtmathtext.h \
           $$PWD/jkqtplottertools/jkqtphighrestimer.h

SOURCES += $$PWD/jkqtplotter/jkqtpbaseplotter.cpp \
           $$PWD/jkqtplotter/jkqtpdatastorage.cpp \
           $$PWD/jkqtplotter/jkqtpbasegraphs.cpp \
           $$PWD/jkqtplotter/jkqtpelements.cpp \
           $$PWD/jkqtplotter/jkqtpbaseelements.cpp \
           $$PWD/jkqtplotter/jkqtplotter.cpp \
           $$PWD/jkqtplottertools/jkqtptools.cpp \
           $$PWD/jkqtplottertools/jkqttools.cpp  \
           $$PWD/jkqtplotter/jkqtpimageelements.cpp  \
           $$PWD/jkqtplotter/jkqtpimagetools.cpp  \
           $$PWD/jkqtplotter/jkqtpbarchartelements.cpp  \
           $$PWD/jkqtplotter/jkqtpboxplotelements.cpp  \
           $$PWD/jkqtplotter/jkqtpevaluatedfunctionelements.cpp  \
           $$PWD/jkqtplotter/jkqtpfilledcurveelements.cpp  \
           $$PWD/jkqtplotter/jkqtpimpulseselements.cpp  \
           $$PWD/jkqtplotter/jkqtpparsedfunctionelements.cpp  \
           $$PWD/jkqtplotter/jkqtpoverlayelements.cpp  \
           $$PWD/jkqtplotter/jkqtpgeoelements.cpp  \
           $$PWD/jkqtplottertools/jkqtpmathparser.cpp \
           $$PWD/jkqtplotter/jkqtpplotsmodel.cpp \
           $$PWD/jkqtmathtext/jkqtmathtext.cpp \
           $$PWD/jkqtplottertools/jkqtphighrestimer.cpp

RESOURCES += $$PWD/jkqtplotterressources/jkqtpbaseplotter.qrc

INCLUDEPATH += $$PWD

QT += core gui xml svg
#win32:LIBS += -lgdi32
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport

include($$PWD/jkqtplotterressources/math_fonts/xits.pri)
DEFINES += AUTOLOAD_XITS_FONTS
DEFINES += USE_XITS_FONTS

# for support of palettes stored as XML, use:
QT += xml


compiler.pri: enable warnings-as-errors by default on Windows.

# Copyright 2005-2016 The Mumble Developers. All rights reserved.
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file at the root of the
# Mumble source tree or at <https://www.mumble.info/LICENSE>.

include(qt.pri)
include(uname.pri)

CONFIG *= warn_on

# Enable zlib compression for assets
# embedded via rcc. This is done to
# keep the size of rcc's output
# source files under control.
QMAKE_RESOURCE_FLAGS += -compress 9

# The architecture we're building for.
# On Windows, Mumble supports overriding the
# architecture of the compiler via the
# force-x86_64-toolchain and force-x86-toolchain
# CONFIG options. Because we have these, qmake's
# QMAKE_TARGET.arch doesn't suffice any longer, and
# we define MUMBLE_ARCH to be used in its place.
MUMBLE_ARCH = $$QMAKE_TARGET.arch

win32 {
	# Define the CONFIG options 'force-x86-toolchain' and
	# 'force-x86_64-toolchain'. These can be used to force
	# the target of a .pro file to be built for a specific
	# architecture, regardless of the actual architecture
	# used by the current build environment.
	FULL_MKSPEC_PATH = $$QMAKESPEC
	CURRENT_MKSPEC = $$basename(QMAKESPEC)

	CONFIG(force-x86-toolchain) {
		MUMBLE_ARCH = x86
		include(toolchain/$${CURRENT_MKSPEC}/x86-xp.toolchain)
	}

	CONFIG(force-x86_64-toolchain) {
		MUMBLE_ARCH = x86_64
		include(toolchain/$${CURRENT_MKSPEC}/x64.toolchain)
	}

	# Import dependency paths for windows
	include(winpaths_default.pri)

	INCLUDEPATH *= "$$BOOST_PATH/include"
	QMAKE_LIBDIR *= "$$OPENSSL_PATH/lib" "$$LIBSNDFILE_PATH/lib" "$$BOOST_PATH/lib"
	INCLUDEPATH *= "$$OPENSSL_PATH/include" "$$LIBSNDFILE_PATH/include"

	# Sanity check that DXSDK_DIR, LIB and INCLUDE are properly set up.
	#
	# On Windows/x86, we build using the VS2013 v120_xp toolchain, which targets
	# a slightly modified Win7 SDK that still allows building for Windows XP. In that
	# environment, we must use the "external" DirectX SDK (June 2010). This SDK is
	# specified via the SXSDK_DIR.
	#
	# On Windows/amd64, we build using the VS2013 v120 platform, and we target the
	# Windows 8.1 SDK. In this setup, we use the DirectX SDK included with the Windows
	# 8.1 SDK, but only to a point. The bundled SDK does not include all things that
	# we depend on for the overlay, such as d3dx{9,10,11}. To overcome this, we use
	# both SDKs: the one bundled with the Windows 8.1 SDK for most libraries, and the
	# external June 2010 variant for the things that are not in the Windows 8.1 SDK
	# variant of the DirectX SDK. This is the approach recommended by Microsoft:
	# http://msdn.microsoft.com/en-us/library/windows/desktop/ee663275(v=vs.85).aspx
	# (see step 5).
	#
	# Because of these things, the Windows build currently expects the build environment
	# to properly set up the LIB and INCLUDE environment variables, with correct ordering
	# of the Windows SDK and DirectX depending on the platform we're targetting.
	# It's tough to check these things with qmake, we'll have to do with a simple sanity
	# check for the presence of the variables.
	DXSDK_DIR_VAR=$$(DXSDK_DIR)
	INCLUDE_VAR=$$(INCLUDE)
	LIB_VAR=$$(LIB)
	isEmpty(DXSDK_DIR_VAR) {
		error("Missing DXSDK_DIR environment variable. Are you missing the DirectX SDK (June 2010)?")
	}
	isEmpty(LIB_VAR) {
		error("The LIB environment variable is not set. Are you not in a build environment?")
	}
	isEmpty(INCLUDE_VAR) {
		error("The INCLUDE environment variable is not set. Are you not in a build environment?")
	}

	CONFIG(analyze) {
		QMAKE_CFLAGS_DEBUG *= /analyze
		QMAKE_CXXFLAGS_DEBUG *= /analyze
		QMAKE_CFLAGS_RELEASE *= /analyze
		QMAKE_CXXFLAGS_RELEASE *= /analyze
	}

	# Always enable warnings-as-errors
	# if we're inside a Mumble build environment.
	# Can be disabled with CONFIG+=no-warnings-as-errors.
	MUMBLE_PREFIX=$$(MUMBLE_PREFIX)
	!isEmpty(MUMBLE_PREFIX):!CONFIG(no-warnings-as-errors) {
		CONFIG += warnings-as-errors
	}

	CONFIG(warnings-as-errors) {
		QMAKE_CFLAGS *= -WX
		QMAKE_CXXFLAGS *= -WX
		QMAKE_LFLAGS *= -WX
	}

	# Increase the verbosity of the linker.
	# For now, only increases the verbosity
	# of searching for libraries.
	# This is useful when diagnosing libraries
	# that use a wrong runtime library DLL.
	CONFIG(verbose-linker) {
		QMAKE_LFLAGS *= /VERBOSE:LIB
	}

	# Increase PCH heap to 150MB: https://msdn.microsoft.com/en-us/library/bdscwf1c.aspx
	QMAKE_CFLAGS *= -Zm200
	QMAKE_CXXFLAGS *= -Zm200

	QMAKE_CFLAGS_RELEASE *= -Ox /fp:fast
	QMAKE_CXXFLAGS_RELEASE *= -Ox /fp:fast

	equals(MUMBLE_ARCH, x86) {
		QMAKE_LFLAGS_RELEASE -= /SafeSEH
	}

	# MSVS 2012 and 2013's cl.exe will generate SSE2 code by default,
	# unless an explict arch is set.
	# For our non-64 x86 builds, our binaries should not contain any
	# SSE2 code, so override the default by using -arch:SSE.
	equals(MUMBLE_ARCH, x86) {
		QMAKE_CFLAGS_RELEASE *= -arch:SSE
		QMAKE_CXXFLAGS_RELEASE *= -arch:SSE
	}

	# Qt 5.4 uses -Zc:strictStrings by default on MSVS 2013.
	# TextToSpeech_win.cpp uses sapi.h, which isn't compatible
	# with the strictStrings option due to bad conversions
	# in some of its functions's default parameters.
	QMAKE_CFLAGS_RELEASE -= -Zc:strictStrings
	QMAKE_CXXFLAGS_RELEASE -= -Zc:strictStrings
	QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO -= -Zc:strictStrings
	QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO -= -Zc:strictStrings

	# Explicitly set the subsystem versions to
	# 5.01 (XP) for x86 and 6.00 (Vista) for x64.
	#
	# Qt expands the @QMAKE_SUBSYSTEM_SUFFIX@ via
	# qt_config.prf, which doesn't seem to trigger
	# for us. So we'll just try our luck.
	QMAKE_LFLAGS_CONSOLE -= /SUBSYSTEM:CONSOLE
	QMAKE_LFLAGS_CONSOLE -= /SUBSYSTEM:CONSOLE@QMAKE_SUBSYSTEM_SUFFIX@
	QMAKE_LFLAGS_WINDOWS -= /SUBSYSTEM:WINDOWS
	QMAKE_LFLAGS_WINDOWS -= /SUBSYSTEM:WINDOWS@QMAKE_SUBSYSTEM_SUFFIX@
	!isEmpty(QMAKE_LFLAGS_WINDOWS) {
		error("QMAKE_LFLAGS_WINDOWS is not empty. Please adjust the pri file.")
	}
	!isEmpty(QMAKE_LFLAGS_CONSOLE) {
		error("QMAKE_LFLAGS_CONSOLE is not empty. Please adjust the pri file.")
	}
	equals(MUMBLE_ARCH, x86) {
		QMAKE_LFLAGS_CONSOLE += /SUBSYSTEM:CONSOLE,5.01
		QMAKE_LFLAGS_WINDOWS += /SUBSYSTEM:WINDOWS,5.01
	}
	equals(MUMBLE_ARCH, x86_64) {
		QMAKE_LFLAGS_CONSOLE += /SUBSYSTEM:CONSOLE,6.00
		QMAKE_LFLAGS_WINDOWS += /SUBSYSTEM:WINDOWS,6.00
	}

	DEFINES *= RESTRICT=
	CONFIG(sse2) {
	      QMAKE_CFLAGS_RELEASE -= -arch:SSE
	      QMAKE_CFLAGS_DEBUG -= -arch:SSE
	      QMAKE_CFLAGS += -arch:SSE2
	}

	CONFIG(symbols) {
		# Configure build to be able to properly debug release builds
		# (https://msdn.microsoft.com/en-us/library/fsk896zz.aspx).
		# This includes explicitely disabling /Oy to help debugging
		# (https://msdn.microsoft.com/en-us/library/2kxx5t2c.aspx).
		# Also set /Zo to enhance optimized debugging
		# (https://msdn.microsoft.com/en-us/library/dn785163.aspx?f=255&MSPPError=-2147217396).
		QMAKE_CFLAGS_RELEASE -= -Oy
		QMAKE_CXXFLAGS_RELEASE -= -Oy

		QMAKE_CFLAGS_RELEASE *= -GR -Zi -Zo -Oy-
		QMAKE_CXXFLAGS_RELEASE *= -GR -Zi -Zo -Oy-

		QMAKE_LFLAGS *= /DEBUG /OPT:REF /OPT:ICF /INCREMENTAL:NO
	}

	CONFIG(vld) {
		CONFIG(debug, debug|release) {
			DEFINES *= USE_VLD
			INCLUDEPATH *= "$$VLD_PATH/include"
			QMAKE_LIBDIR *= "$$VLD_PATH/lib"
		}
	}
}

unix {
	DEFINES *= RESTRICT=__restrict__
	QMAKE_CFLAGS *= -fvisibility=hidden
	QMAKE_CXXFLAGS *= -fvisibility=hidden
	QMAKE_OBJECTIVE_CFLAGS *= -fvisibility=hidden
	QMAKE_OBJECTIVE_CXXFLAGS *= -fvisibility=hidden

	QMAKE_CFLAGS	         *= -Wall -Wextra
	QMAKE_CXXFLAGS           *= -Wall -Wextra
	QMAKE_OBJECTIVE_CFLAGS   *= -Wall -Wextra
	QMAKE_OBJECTIVE_CXXFLAGS *= -Wall -Wextra

	# Always enable warnings-as-errors
	# if we're inside a Mumble build environment.
	# Can be disabled with CONFIG+=no-warnings-as-errors.
	MUMBLE_PREFIX=$$(MUMBLE_PREFIX)
	!isEmpty(MUMBLE_PREFIX):!CONFIG(no-warnings-as-errors) {
		CONFIG += warnings-as-errors
	}

	CONFIG(warnings-as-errors) {
		QMAKE_CFLAGS	         *= -Werror
		QMAKE_CXXFLAGS	         *= -Werror
		QMAKE_OBJECTIVE_CFLAGS   *= -Werror
		QMAKE_OBJECTIVE_CXXFLAGS *= -Werror
	}

	CONFIG(opt-gcc) {
		QMAKE_CC = /opt/gcc/bin/gcc
		QMAKE_CXX = /opt/gcc/bin/g++
		QMAKE_LINK = /opt/gcc/bin/g++
	}

	CONFIG(optgen) {
		QMAKE_CFLAGS *= -O3 -march=native -ffast-math -ftree-vectorize -fprofile-generate
		QMAKE_CXXFLAGS *= -O3 -march=native -ffast-math -ftree-vectorize -fprofile-generate
		QMAKE_OBJECTIVE_CFLAGS *= -O3 -march=native -ffast-math -ftree-vectorize -fprofile-generate
		QMAKE_OBJECTIVE_CXXFLAGS *= -O3 -march=native -ffast-math -ftree-vectorize -fprofile-generate
		QMAKE_LFLAGS *= -fprofile-generate
	}

	CONFIG(optimize) {
		QMAKE_CFLAGS *= -O3 -march=native -ffast-math -ftree-vectorize -fprofile-use
		QMAKE_CXXFLAGS *= -O3 -march=native -ffast-math -ftree-vectorize -fprofile-use
		QMAKE_OBJECTIVE_CFLAGS *= -O3 -march=native -ffast-math -ftree-vectorize -fprofile-use
		QMAKE_OBJECTIVE_CXXFLAGS *= -O3 -march=native -ffast-math -ftree-vectorize -fprofile-use
	}
}

contains(UNAME, FreeBSD) {
	QMAKE_CFLAGS *= -isystem /usr/local/include
	QMAKE_CXXFLAGS *= -isystem /usr/local/include
	QMAKE_LIBDIR *= /usr/lib
	QMAKE_LIBDIR *= /usr/local/lib
}

unix:!macx {
	# If we're building in a Mumble build environment,
	# add its include and lib dirs to the build configuration.
	MUMBLE_PREFIX=$$(MUMBLE_PREFIX)
	!isEmpty(MUMBLE_PREFIX) {
		SYSTEM_INCLUDES = $$(MUMBLE_PREFIX)/include $$[QT_INSTALL_HEADERS]
		QMAKE_LIBDIR *= $$(MUMBLE_PREFIX)/lib

		for(inc, $$list($$SYSTEM_INCLUDES)) {
			QMAKE_CFLAGS += -isystem $$inc
			QMAKE_CXXFLAGS += -isystem $$inc
		}
	}

	CONFIG(debug, debug|release) {
		QMAKE_CFLAGS *= -fstack-protector -fPIE
		QMAKE_CXXFLAGS *= -fstack-protector -fPIE
		QMAKE_LFLAGS *= -pie
		QMAKE_LFLAGS *= -Wl,--no-add-needed
	}

	# Ensure _FORTIFY_SOURCE is not used in debug builds.
	#
	# First, ensure _FORTIFY_SOURCE is undefined.
	# Then -- and, only for release builds -- set
	# _FORTIFY_SOURCE=2.
	#
	# We can't use _FORTIFY_SOURCE in debug builds (which are
	# built with -O0) because _FORTIFY_SOURCE=1 requires -O1
	# and _FORTIFY_SOURCE=2 requires -O2.
	# Modern GLIBCs warn about this since
	# https://sourceware.org/bugzilla/show_bug.cgi?id=13979.
	# In Mumble builds with warnings-as-errors, this will
	# cause build failures.
	#
	# We use the += operator because we care about the
	# ordering of unsetting versus setting the preprocessor
	# define. If they're in the wrong order, this will not
	# work as intended.
	QMAKE_CFLAGS += -U_FORTIFY_SOURCE
	QMAKE_CXXFLAGS += -U_FORTIFY_SOURCE
	CONFIG(release, debug|release) {
		QMAKE_CFLAGS += -D_FORTIFY_SOURCE=2
		QMAKE_CXXFLAGS += -D_FORTIFY_SOURCE=2
	}

	QMAKE_LFLAGS *= -Wl,-z,relro -Wl,-z,now

	CONFIG(symbols) {
		QMAKE_CFLAGS *= -g
		QMAKE_CXXFLAGS *= -g
	}
}

macx {
	SYSTEM_INCLUDES = $$(MUMBLE_PREFIX)/include $$[QT_INSTALL_HEADERS]
	QMAKE_LIBDIR *= $$(MUMBLE_PREFIX)/lib

	for(inc, $$list($$SYSTEM_INCLUDES)) {
		QMAKE_CFLAGS += -isystem $$inc
		QMAKE_CXXFLAGS += -isystem $$inc
		QMAKE_OBJECTIVE_CFLAGS += -isystem $$inc
		QMAKE_OBJECTIVE_CXXFLAGS += -isystem $$inc
	}

	!CONFIG(universal) {
		CONFIG += no-pch

		# Qt 5.1 and greater want short-form OS X SDKs.
		isEqual(QT_MAJOR_VERSION, 5) {
			QMAKE_MAC_SDK = macosx
		} else {
			QMAKE_MAC_SDK = $$system(xcrun --sdk macosx --show-sdk-path 2>/dev/null)
			isEmpty(QMAKE_MAC_SDK) {
				QMAKE_MAC_SDK = $$system(xcode-select --print-path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
				!exists($$QMAKE_MAC_SDK) {
					message("Unable to find usable OS X SDK")
					error("Aborting build")
				}
			}
		}

		QMAKE_CC = $$system(xcrun -find clang)
		QMAKE_CXX = $$system(xcrun -find clang++)
		QMAKE_LINK = $$system(xcrun -find clang++)
		QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.7
		QMAKE_CFLAGS += -mmacosx-version-min=10.7
		QMAKE_CXXFLAGS += -mmacosx-version-min=10.7
		QMAKE_OBJECTIVE_CFLAGS += -mmacosx-version-min=10.7
		QMAKE_OBJECTIVE_CXXFLAGS += -mmacosx-version-min=10.7
	} else {
		XCODE_PATH=$$system(xcode-select -print-path)
		CONFIG += x86 ppc no-cocoa
		QMAKE_MAC_SDK = $${XCODE_PATH}/SDKs/MacOSX10.5.sdk
		QMAKE_CC = $${XCODE_PATH}/usr/bin/gcc-4.2
		QMAKE_CXX = $${XCODE_PATH}/usr/bin/g++-4.2
		QMAKE_LINK = $${XCODE_PATH}/usr/bin/g++-4.2
		QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4
		QMAKE_CFLAGS += -mmacosx-version-min=10.4 -Xarch_i386 -mmmx -Xarch_i386 -msse -Xarch_i386 -msse2
		QMAKE_CXXFLAGS += -mmacosx-version-min=10.4 -Xarch_i386 -mmmx -Xarch_i386 -msse -Xarch_i386 -msse2
		QMAKE_OBJECTIVE_CFLAGS += -mmacosx-version-min=10.4 -Xarch_i386 -mmmx -Xarch_i386 -msse -Xarch_i386 -msse2
		QMAKE_OBJECTIVE_CXXFLAGS += -mmacosx-version-min=10.4 -Xarch_i386 -mmmx -Xarch_i386 -msse -Xarch_i386 -msse2
		DEFINES += USE_MAC_UNIVERSAL
	}

	QMAKE_LFLAGS += -Wl,-dead_strip -framework Cocoa -framework Carbon

	CONFIG(symbols) {
		QMAKE_CFLAGS *= -gfull -gdwarf-2
		QMAKE_CXXFLAGS *= -gfull -gdwarf-2
		QMAKE_OBJECTIVE_CFLAGS *= -gfull -gdwarf-2
		QMAKE_OBJECTIVE_CXXFLAGS *= -gfull -gdwarf-2
	}
}

CONFIG(clang-analyzer) {
	QMAKE_CC = $$(CC)
	QMAKE_CXX = $$(CXX)
}

CONFIG(no-pch) {
	CONFIG -= precompile_header
} else {
 	CONFIG *= precompile_header
}

CONFIG(debug, debug|release) {
	DEFINES *= SNAPSHOT_BUILD
}

# Copyright 2005-2016 The Mumble Developers. All rights reserved.
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file at the root of the
# Mumble source tree or at <https://www.mumble.info/LICENSE>.

include(qt.pri)
include(uname.pri)

CONFIG *= warn_on

# Enable zlib compression for assets
# embedded via rcc. This is done to
# keep the size of rcc's output
# source files under control.
QMAKE_RESOURCE_FLAGS += -compress 9

# The architecture we're building for.
# On Windows, Mumble supports overriding the
# architecture of the compiler via the
# force-x86_64-toolchain and force-x86-toolchain
# CONFIG options. Because we have these, qmake's
# QMAKE_TARGET.arch doesn't suffice any longer, and
# we define MUMBLE_ARCH to be used in its place.
MUMBLE_ARCH = $$QMAKE_TARGET.arch

win32 {
	# Define the CONFIG options 'force-x86-toolchain' and
	# 'force-x86_64-toolchain'. These can be used to force
	# the target of a .pro file to be built for a specific
	# architecture, regardless of the actual architecture
	# used by the current build environment.
	FULL_MKSPEC_PATH = $$QMAKESPEC
	CURRENT_MKSPEC = $$basename(QMAKESPEC)

	CONFIG(force-x86-toolchain) {
		MUMBLE_ARCH = x86
		include(toolchain/$${CURRENT_MKSPEC}/x86-xp.toolchain)
	}

	CONFIG(force-x86_64-toolchain) {
		MUMBLE_ARCH = x86_64
		include(toolchain/$${CURRENT_MKSPEC}/x64.toolchain)
	}

	# Import dependency paths for windows
	include(winpaths_default.pri)

	INCLUDEPATH *= "$$BOOST_PATH/include"
	QMAKE_LIBDIR *= "$$OPENSSL_PATH/lib" "$$LIBSNDFILE_PATH/lib" "$$BOOST_PATH/lib"
	INCLUDEPATH *= "$$OPENSSL_PATH/include" "$$LIBSNDFILE_PATH/include"

	# Sanity check that DXSDK_DIR, LIB and INCLUDE are properly set up.
	#
	# On Windows/x86, we build using the VS2013 v120_xp toolchain, which targets
	# a slightly modified Win7 SDK that still allows building for Windows XP. In that
	# environment, we must use the "external" DirectX SDK (June 2010). This SDK is
	# specified via the SXSDK_DIR.
	#
	# On Windows/amd64, we build using the VS2013 v120 platform, and we target the
	# Windows 8.1 SDK. In this setup, we use the DirectX SDK included with the Windows
	# 8.1 SDK, but only to a point. The bundled SDK does not include all things that
	# we depend on for the overlay, such as d3dx{9,10,11}. To overcome this, we use
	# both SDKs: the one bundled with the Windows 8.1 SDK for most libraries, and the
	# external June 2010 variant for the things that are not in the Windows 8.1 SDK
	# variant of the DirectX SDK. This is the approach recommended by Microsoft:
	# http://msdn.microsoft.com/en-us/library/windows/desktop/ee663275(v=vs.85).aspx
	# (see step 5).
	#
	# Because of these things, the Windows build currently expects the build environment
	# to properly set up the LIB and INCLUDE environment variables, with correct ordering
	# of the Windows SDK and DirectX depending on the platform we're targetting.
	# It's tough to check these things with qmake, we'll have to do with a simple sanity
	# check for the presence of the variables.
	DXSDK_DIR_VAR=$$(DXSDK_DIR)
	INCLUDE_VAR=$$(INCLUDE)
	LIB_VAR=$$(LIB)
	isEmpty(DXSDK_DIR_VAR) {
		error("Missing DXSDK_DIR environment variable. Are you missing the DirectX SDK (June 2010)?")
	}
	isEmpty(LIB_VAR) {
		error("The LIB environment variable is not set. Are you not in a build environment?")
	}
	isEmpty(INCLUDE_VAR) {
		error("The INCLUDE environment variable is not set. Are you not in a build environment?")
	}

	CONFIG(analyze) {
		QMAKE_CFLAGS_DEBUG *= /analyze
		QMAKE_CXXFLAGS_DEBUG *= /analyze
		QMAKE_CFLAGS_RELEASE *= /analyze
		QMAKE_CXXFLAGS_RELEASE *= /analyze
	}

	CONFIG(warnings-as-errors) {
		QMAKE_CFLAGS *= -WX
		QMAKE_CXXFLAGS *= -WX
		QMAKE_LFLAGS *= -WX
	}

	# Increase the verbosity of the linker.
	# For now, only increases the verbosity
	# of searching for libraries.
	# This is useful when diagnosing libraries
	# that use a wrong runtime library DLL.
	CONFIG(verbose-linker) {
		QMAKE_LFLAGS *= /VERBOSE:LIB
	}

	# Increase PCH heap to 150MB: https://msdn.microsoft.com/en-us/library/bdscwf1c.aspx
	QMAKE_CFLAGS *= -Zm200
	QMAKE_CXXFLAGS *= -Zm200

	QMAKE_CFLAGS_RELEASE *= -Ox /fp:fast
	QMAKE_CXXFLAGS_RELEASE *= -Ox /fp:fast

	equals(MUMBLE_ARCH, x86) {
		QMAKE_LFLAGS_RELEASE -= /SafeSEH
	}

	# MSVS 2012 and 2013's cl.exe will generate SSE2 code by default,
	# unless an explict arch is set.
	# For our non-64 x86 builds, our binaries should not contain any
	# SSE2 code, so override the default by using -arch:SSE.
	equals(MUMBLE_ARCH, x86) {
		QMAKE_CFLAGS_RELEASE *= -arch:SSE
		QMAKE_CXXFLAGS_RELEASE *= -arch:SSE
	}

	# Qt 5.4 uses -Zc:strictStrings by default on MSVS 2013.
	# TextToSpeech_win.cpp uses sapi.h, which isn't compatible
	# with the strictStrings option due to bad conversions
	# in some of its functions's default parameters.
	QMAKE_CFLAGS_RELEASE -= -Zc:strictStrings
	QMAKE_CXXFLAGS_RELEASE -= -Zc:strictStrings
	QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO -= -Zc:strictStrings
	QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO -= -Zc:strictStrings

	# Explicitly set the subsystem versions to
	# 5.01 (XP) for x86 and 6.00 (Vista) for x64.
	#
	# Qt expands the @QMAKE_SUBSYSTEM_SUFFIX@ via
	# qt_config.prf, which doesn't seem to trigger
	# for us. So we'll just try our luck.
	QMAKE_LFLAGS_CONSOLE -= /SUBSYSTEM:CONSOLE
	QMAKE_LFLAGS_CONSOLE -= /SUBSYSTEM:CONSOLE@QMAKE_SUBSYSTEM_SUFFIX@
	QMAKE_LFLAGS_WINDOWS -= /SUBSYSTEM:WINDOWS
	QMAKE_LFLAGS_WINDOWS -= /SUBSYSTEM:WINDOWS@QMAKE_SUBSYSTEM_SUFFIX@
	!isEmpty(QMAKE_LFLAGS_WINDOWS) {
		error("QMAKE_LFLAGS_WINDOWS is not empty. Please adjust the pri file.")
	}
	!isEmpty(QMAKE_LFLAGS_CONSOLE) {
		error("QMAKE_LFLAGS_CONSOLE is not empty. Please adjust the pri file.")
	}
	equals(MUMBLE_ARCH, x86) {
		QMAKE_LFLAGS_CONSOLE += /SUBSYSTEM:CONSOLE,5.01
		QMAKE_LFLAGS_WINDOWS += /SUBSYSTEM:WINDOWS,5.01
	}
	equals(MUMBLE_ARCH, x86_64) {
		QMAKE_LFLAGS_CONSOLE += /SUBSYSTEM:CONSOLE,6.00
		QMAKE_LFLAGS_WINDOWS += /SUBSYSTEM:WINDOWS,6.00
	}

	DEFINES *= RESTRICT=
	CONFIG(sse2) {
	      QMAKE_CFLAGS_RELEASE -= -arch:SSE
	      QMAKE_CFLAGS_DEBUG -= -arch:SSE
	      QMAKE_CFLAGS += -arch:SSE2
	}

	CONFIG(symbols) {
		# Configure build to be able to properly debug release builds
		# (https://msdn.microsoft.com/en-us/library/fsk896zz.aspx).
		# This includes explicitely disabling /Oy to help debugging
		# (https://msdn.microsoft.com/en-us/library/2kxx5t2c.aspx).
		# Also set /Zo to enhance optimized debugging
		# (https://msdn.microsoft.com/en-us/library/dn785163.aspx?f=255&MSPPError=-2147217396).
		QMAKE_CFLAGS_RELEASE -= -Oy
		QMAKE_CXXFLAGS_RELEASE -= -Oy

		QMAKE_CFLAGS_RELEASE *= -GR -Zi -Zo -Oy-
		QMAKE_CXXFLAGS_RELEASE *= -GR -Zi -Zo -Oy-

		QMAKE_LFLAGS *= /DEBUG /OPT:REF /OPT:ICF /INCREMENTAL:NO
	}

	CONFIG(vld) {
		CONFIG(debug, debug|release) {
			DEFINES *= USE_VLD
			INCLUDEPATH *= "$$VLD_PATH/include"
			QMAKE_LIBDIR *= "$$VLD_PATH/lib"
		}
	}
}

unix {
	DEFINES *= RESTRICT=__restrict__
	QMAKE_CFLAGS *= -fvisibility=hidden
	QMAKE_CXXFLAGS *= -fvisibility=hidden
	QMAKE_OBJECTIVE_CFLAGS *= -fvisibility=hidden
	QMAKE_OBJECTIVE_CXXFLAGS *= -fvisibility=hidden

	QMAKE_CFLAGS	         *= -Wall -Wextra
	QMAKE_CXXFLAGS           *= -Wall -Wextra
	QMAKE_OBJECTIVE_CFLAGS   *= -Wall -Wextra
	QMAKE_OBJECTIVE_CXXFLAGS *= -Wall -Wextra

	# Always enable warnings-as-errors
	# if we're inside a Mumble build environment.
	# Can be disabled with CONFIG+=no-warnings-as-errors.
	MUMBLE_PREFIX=$$(MUMBLE_PREFIX)
	!isEmpty(MUMBLE_PREFIX):!CONFIG(no-warnings-as-errors) {
		CONFIG += warnings-as-errors
	}

	CONFIG(warnings-as-errors) {
		QMAKE_CFLAGS	         *= -Werror
		QMAKE_CXXFLAGS	         *= -Werror
		QMAKE_OBJECTIVE_CFLAGS   *= -Werror
		QMAKE_OBJECTIVE_CXXFLAGS *= -Werror
	}

	CONFIG(opt-gcc) {
		QMAKE_CC = /opt/gcc/bin/gcc
		QMAKE_CXX = /opt/gcc/bin/g++
		QMAKE_LINK = /opt/gcc/bin/g++
	}

	CONFIG(optgen) {
		QMAKE_CFLAGS *= -O3 -march=native -ffast-math -ftree-vectorize -fprofile-generate
		QMAKE_CXXFLAGS *= -O3 -march=native -ffast-math -ftree-vectorize -fprofile-generate
		QMAKE_OBJECTIVE_CFLAGS *= -O3 -march=native -ffast-math -ftree-vectorize -fprofile-generate
		QMAKE_OBJECTIVE_CXXFLAGS *= -O3 -march=native -ffast-math -ftree-vectorize -fprofile-generate
		QMAKE_LFLAGS *= -fprofile-generate
	}

	CONFIG(optimize) {
		QMAKE_CFLAGS *= -O3 -march=native -ffast-math -ftree-vectorize -fprofile-use
		QMAKE_CXXFLAGS *= -O3 -march=native -ffast-math -ftree-vectorize -fprofile-use
		QMAKE_OBJECTIVE_CFLAGS *= -O3 -march=native -ffast-math -ftree-vectorize -fprofile-use
		QMAKE_OBJECTIVE_CXXFLAGS *= -O3 -march=native -ffast-math -ftree-vectorize -fprofile-use
	}
}

contains(UNAME, FreeBSD) {
	QMAKE_CFLAGS *= -isystem /usr/local/include
	QMAKE_CXXFLAGS *= -isystem /usr/local/include
	QMAKE_LIBDIR *= /usr/lib
	QMAKE_LIBDIR *= /usr/local/lib
}

unix:!macx {
	# If we're building in a Mumble build environment,
	# add its include and lib dirs to the build configuration.
	MUMBLE_PREFIX=$$(MUMBLE_PREFIX)
	!isEmpty(MUMBLE_PREFIX) {
		SYSTEM_INCLUDES = $$(MUMBLE_PREFIX)/include $$[QT_INSTALL_HEADERS]
		QMAKE_LIBDIR *= $$(MUMBLE_PREFIX)/lib

		for(inc, $$list($$SYSTEM_INCLUDES)) {
			QMAKE_CFLAGS += -isystem $$inc
			QMAKE_CXXFLAGS += -isystem $$inc
		}
	}

	CONFIG(debug, debug|release) {
		QMAKE_CFLAGS *= -fstack-protector -fPIE
		QMAKE_CXXFLAGS *= -fstack-protector -fPIE
		QMAKE_LFLAGS *= -pie
		QMAKE_LFLAGS *= -Wl,--no-add-needed
	}

	# Ensure _FORTIFY_SOURCE is not used in debug builds.
	#
	# First, ensure _FORTIFY_SOURCE is undefined.
	# Then -- and, only for release builds -- set
	# _FORTIFY_SOURCE=2.
	#
	# We can't use _FORTIFY_SOURCE in debug builds (which are
	# built with -O0) because _FORTIFY_SOURCE=1 requires -O1
	# and _FORTIFY_SOURCE=2 requires -O2.
	# Modern GLIBCs warn about this since
	# https://sourceware.org/bugzilla/show_bug.cgi?id=13979.
	# In Mumble builds with warnings-as-errors, this will
	# cause build failures.
	#
	# We use the += operator because we care about the
	# ordering of unsetting versus setting the preprocessor
	# define. If they're in the wrong order, this will not
	# work as intended.
	QMAKE_CFLAGS += -U_FORTIFY_SOURCE
	QMAKE_CXXFLAGS += -U_FORTIFY_SOURCE
	CONFIG(release, debug|release) {
		QMAKE_CFLAGS += -D_FORTIFY_SOURCE=2
		QMAKE_CXXFLAGS += -D_FORTIFY_SOURCE=2
	}

	QMAKE_LFLAGS *= -Wl,-z,relro -Wl,-z,now

	CONFIG(symbols) {
		QMAKE_CFLAGS *= -g
		QMAKE_CXXFLAGS *= -g
	}
}

macx {
	SYSTEM_INCLUDES = $$(MUMBLE_PREFIX)/include $$[QT_INSTALL_HEADERS]
	QMAKE_LIBDIR *= $$(MUMBLE_PREFIX)/lib

	for(inc, $$list($$SYSTEM_INCLUDES)) {
		QMAKE_CFLAGS += -isystem $$inc
		QMAKE_CXXFLAGS += -isystem $$inc
		QMAKE_OBJECTIVE_CFLAGS += -isystem $$inc
		QMAKE_OBJECTIVE_CXXFLAGS += -isystem $$inc
	}

	!CONFIG(universal) {
		CONFIG += no-pch

		# Qt 5.1 and greater want short-form OS X SDKs.
		isEqual(QT_MAJOR_VERSION, 5) {
			QMAKE_MAC_SDK = macosx
		} else {
			QMAKE_MAC_SDK = $$system(xcrun --sdk macosx --show-sdk-path 2>/dev/null)
			isEmpty(QMAKE_MAC_SDK) {
				QMAKE_MAC_SDK = $$system(xcode-select --print-path)/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
				!exists($$QMAKE_MAC_SDK) {
					message("Unable to find usable OS X SDK")
					error("Aborting build")
				}
			}
		}

		QMAKE_CC = $$system(xcrun -find clang)
		QMAKE_CXX = $$system(xcrun -find clang++)
		QMAKE_LINK = $$system(xcrun -find clang++)
		QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.7
		QMAKE_CFLAGS += -mmacosx-version-min=10.7
		QMAKE_CXXFLAGS += -mmacosx-version-min=10.7
		QMAKE_OBJECTIVE_CFLAGS += -mmacosx-version-min=10.7
		QMAKE_OBJECTIVE_CXXFLAGS += -mmacosx-version-min=10.7
	} else {
		XCODE_PATH=$$system(xcode-select -print-path)
		CONFIG += x86 ppc no-cocoa
		QMAKE_MAC_SDK = $${XCODE_PATH}/SDKs/MacOSX10.5.sdk
		QMAKE_CC = $${XCODE_PATH}/usr/bin/gcc-4.2
		QMAKE_CXX = $${XCODE_PATH}/usr/bin/g++-4.2
		QMAKE_LINK = $${XCODE_PATH}/usr/bin/g++-4.2
		QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.4
		QMAKE_CFLAGS += -mmacosx-version-min=10.4 -Xarch_i386 -mmmx -Xarch_i386 -msse -Xarch_i386 -msse2
		QMAKE_CXXFLAGS += -mmacosx-version-min=10.4 -Xarch_i386 -mmmx -Xarch_i386 -msse -Xarch_i386 -msse2
		QMAKE_OBJECTIVE_CFLAGS += -mmacosx-version-min=10.4 -Xarch_i386 -mmmx -Xarch_i386 -msse -Xarch_i386 -msse2
		QMAKE_OBJECTIVE_CXXFLAGS += -mmacosx-version-min=10.4 -Xarch_i386 -mmmx -Xarch_i386 -msse -Xarch_i386 -msse2
		DEFINES += USE_MAC_UNIVERSAL
	}

	QMAKE_LFLAGS += -Wl,-dead_strip -framework Cocoa -framework Carbon

	CONFIG(symbols) {
		QMAKE_CFLAGS *= -gfull -gdwarf-2
		QMAKE_CXXFLAGS *= -gfull -gdwarf-2
		QMAKE_OBJECTIVE_CFLAGS *= -gfull -gdwarf-2
		QMAKE_OBJECTIVE_CXXFLAGS *= -gfull -gdwarf-2
	}
}

CONFIG(clang-analyzer) {
	QMAKE_CC = $$(CC)
	QMAKE_CXX = $$(CXX)
}

CONFIG(no-pch) {
	CONFIG -= precompile_header
} else {
 	CONFIG *= precompile_header
}

CONFIG(debug, debug|release) {
	DEFINES *= SNAPSHOT_BUILD
}


More test package fixes.

More test package fixes.

include(../../shared.pri)
LIBS += -lQtSparql
QMAKE_RPATHDIR = $$QT_BUILD_TREE/lib $$QMAKE_RPATHDIR
target.path = $$PREFIX/share/qsparql-tests # to be changed when we are part of qt
INSTALLS += target
TARGET = tst_$$TARGET


Bump version for release

Bump version for release

# included by main.pro and lib.pro

VERSION = 1.6.2

JQTBUILD = "full"
JQTFAT = $$(JQTFAT)
JQTSLIM = $$(JQTSLIM)
!isEmpty(JQTFAT) JQTBUILD = "fat"
!isEmpty(JQTSLIM) JQTBUILD = "slim"

DEFINES += JQTVERSION=\\\"jqtversion:$$JQTBUILD/$$VERSION/$$[QT_VERSION]:\\\"

# included by main.pro and lib.pro

VERSION = 1.6.1

JQTBUILD = "full"
JQTFAT = $$(JQTFAT)
JQTSLIM = $$(JQTSLIM)
!isEmpty(JQTFAT) JQTBUILD = "fat"
!isEmpty(JQTSLIM) JQTBUILD = "slim"

DEFINES += JQTVERSION=\\\"jqtversion:$$JQTBUILD/$$VERSION/$$[QT_VERSION]:\\\"


Install the mimsettings.h header

Install the mimsettings.h header

RevBy: Michael Hasselmann
To make it absolutely clear that this is internal API,
consumers must define MALIIT_FRAMEWORK_USE_INTERNAL_API to
not get a compile time error when using this header.

Full, original commit at afdc1b0a23eb793453a22456b2052840e620a6da in maliit-framework

!enable-meegotouch {
    CONFIG+=nomeegotouch
} else {
    CONFIG-=nomeegotouch
}

MALIIT_VERSION = 0.80.2
MALIIT_INTERFACE_VERSION = 1.0
MALIIT_PLUGINS_INTERFACE_VERSION = 0.80
MALIIT_PLUGINS_QUICK_INTERFACE_VERSION = 0.80
MALIIT_FRAMEWORK_INTERFACE_VERSION = 0.80

# For libmaliit
MALIIT_LIB = maliit-$${MALIIT_INTERFACE_VERSION}
MALIIT_HEADER = maliit/maliit-$${MALIIT_INTERFACE_VERSION}
MALIIT_FRAMEWORK_HEADER = maliit/framework-$${MALIIT_FRAMEWORK_INTERFACE_VERSION}

!nomeegotouch {
    include(defines-legacy.pri)
} else {
    include(defines.pri)
}

# Linker optimization for release build
QMAKE_LFLAGS_RELEASE+=-Wl,--as-needed
# Compiler warnings are error if the build type is debug
QMAKE_CXXFLAGS_DEBUG+=-Werror

isEmpty(M_IM_VERSION) {
    M_IM_VERSION=$$MALIIT_VERSION
}

isEmpty(M_IM_PREFIX) {
    M_IM_PREFIX = /usr
}
isEmpty(M_IM_INSTALL_BIN) {
    M_IM_INSTALL_BIN = $$M_IM_PREFIX/bin
}
isEmpty(M_IM_INSTALL_LIBS) {
    M_IM_INSTALL_LIBS = $$M_IM_PREFIX/lib
}
isEmpty(M_IM_INSTALL_HEADERS) {
    M_IM_INSTALL_HEADERS = $$M_IM_PREFIX/include
}
DATADIR = $$M_IM_PREFIX/share
isEmpty(M_IM_INSTALL_SCHEMAS) {
    M_IM_INSTALL_SCHEMAS = $$DATADIR/gconf/schemas
}

isEmpty(M_IM_INSTALL_DOCS) {
    M_IM_INSTALL_DOCS = $$DATADIR/doc
}

M_IM_PLUGINS_DIR = $$M_IM_INSTALL_LIBS/$$MALIIT_PLUGINS
DEFINES += M_IM_PLUGINS_DIR=\\\"$$M_IM_PLUGINS_DIR\\\"

isEmpty(M_IM_ENABLE_MULTITOUCH) {

    M_IM_ENABLE_MULTITOUCH=true
}

MALIIT_EXTENSIONS_DIR = $$DATADIR/$$MALIIT_ATTRIBUTE_EXTENSIONS/
DEFINES += MALIIT_EXTENSIONS_DIR=\\\"$$MALIIT_EXTENSIONS_DIR\\\"

!nomeegotouch {
    M_IM_DEFAULT_PLUGIN = libmeego-keyboard.so
    M_IM_DEFAULT_SUBVIEW = en_gb.xml
} else {
    M_IM_DEFAULT_PLUGIN = libmeego-keyboard-quick.so
    M_IM_DEFAULT_SUBVIEW =
}

MALIIT_TEST_DATADIR = $$DATADIR/$$MALIIT_TEST_SUITE
MALIIT_TEST_LIBDIR = $$M_IM_INSTALL_LIBS/$$MALIIT_TEST_SUITE
MALIIT_TEST_TMPDIR = /tmp/$$MALIIT_TEST_SUITE

DEFINES += MALIIT_TEST_PLUGINS_DIR=\\\"$$MALIIT_TEST_LIBDIR/plugins\\\"

DEFINES += MALIIT_CONFIG_ROOT=\\\"$$MALIIT_CONFIG_ROOT\\\"

DEFINES += MALIIT_FRAMEWORK_USE_INTERNAL_API

mac {
    # Do mac stuff here
    M_BUILD_FEATURES = debug
    M_PROFILE_PARTS =
    INCLUDEPATH += include/
}

!nomeegotouch {
    DEFINES += HAVE_MEEGOTOUCH
}

defineTest(outputFile) {
    out = $$OUT_PWD/$$1
    in = $$PWD/$${1}.in

    !exists($$in) {
        error($$in does not exist!)
        return(false)
    }

    MALIIT_IN_DIR = $$IN_PWD
    MALIIT_OUT_DIR = $$OUT_PWD

    variables = M_IM_FRAMEWORK_FEATURE \
                M_IM_PREFIX \
                M_IM_INSTALL_BIN \
                M_IM_INSTALL_HEADERS \
                M_IM_INSTALL_LIBS \
                M_IM_PLUGINS_DIR \
                M_IM_VERSION \
                M_IM_ENABLE_MULTITOUCH \
                M_IM_DEFAULT_PLUGIN \
                M_IM_DEFAULT_SUBVIEW \
                M_IM_QUICK_FEATURE \
                MALIIT_PLUGINS_LIB \
                MALIIT_PLUGINS_HEADER \
                MALIIT_LIB \
                MALIIT_HEADER \
                MALIIT_PLUGINS_QUICK_LIB \
                MALIIT_PLUGINS_QUICK_HEADER \
                MALIIT_TEST_SUITE \
                MALIIT_TEST_DATADIR \
                MALIIT_TEST_LIBDIR \
                MALIIT_TEST_TMPDIR \
                MALIIT_IN_DIR \
                MALIIT_OUT_DIR \
                MALIIT_PACKAGE_BRIEF \
                MALIIT_FRAMEWORK_HEADER \

    command = "sed"
    for(var, variables) {
       command += "-e \"s:@$$var@:$$eval($$var):g\""
    }
    command += $$in > $$out

    system(mkdir -p $$dirname(out))
    system($$command)
    system(chmod --reference=$$in $$out)

    return(true)
}

defineTest(outputFiles) {
    files = $$ARGS

    for(file, files) {
        !outputFile($$file):return(false)
    }

    return(true)
}

!enable-meegotouch {
    CONFIG+=nomeegotouch
} else {
    CONFIG-=nomeegotouch
}

MALIIT_VERSION = 0.80.2
MALIIT_INTERFACE_VERSION = 1.0
MALIIT_PLUGINS_INTERFACE_VERSION = 0.80
MALIIT_PLUGINS_QUICK_INTERFACE_VERSION = 0.80
MALIIT_FRAMEWORK_INTERFACE_VERSION = 0.80

# For libmaliit
MALIIT_LIB = maliit-$${MALIIT_INTERFACE_VERSION}
MALIIT_HEADER = maliit/maliit-$${MALIIT_INTERFACE_VERSION}
MALIIT_FRAMEWORK_HEADER = maliit/framework-$${MALIIT_FRAMEWORK_INTERFACE_VERSION}

!nomeegotouch {
    include(defines-legacy.pri)
} else {
    include(defines.pri)
}

# Linker optimization for release build
QMAKE_LFLAGS_RELEASE+=-Wl,--as-needed
# Compiler warnings are error if the build type is debug
QMAKE_CXXFLAGS_DEBUG+=-Werror

isEmpty(M_IM_VERSION) {
    M_IM_VERSION=$$MALIIT_VERSION
}

isEmpty(M_IM_PREFIX) {
    M_IM_PREFIX = /usr
}
isEmpty(M_IM_INSTALL_BIN) {
    M_IM_INSTALL_BIN = $$M_IM_PREFIX/bin
}
isEmpty(M_IM_INSTALL_LIBS) {
    M_IM_INSTALL_LIBS = $$M_IM_PREFIX/lib
}
isEmpty(M_IM_INSTALL_HEADERS) {
    M_IM_INSTALL_HEADERS = $$M_IM_PREFIX/include
}
DATADIR = $$M_IM_PREFIX/share
isEmpty(M_IM_INSTALL_SCHEMAS) {
    M_IM_INSTALL_SCHEMAS = $$DATADIR/gconf/schemas
}

isEmpty(M_IM_INSTALL_DOCS) {
    M_IM_INSTALL_DOCS = $$DATADIR/doc
}

M_IM_PLUGINS_DIR = $$M_IM_INSTALL_LIBS/$$MALIIT_PLUGINS
DEFINES += M_IM_PLUGINS_DIR=\\\"$$M_IM_PLUGINS_DIR\\\"

isEmpty(M_IM_ENABLE_MULTITOUCH) {

    M_IM_ENABLE_MULTITOUCH=true
}

MALIIT_EXTENSIONS_DIR = $$DATADIR/$$MALIIT_ATTRIBUTE_EXTENSIONS/
DEFINES += MALIIT_EXTENSIONS_DIR=\\\"$$MALIIT_EXTENSIONS_DIR\\\"

!nomeegotouch {
    M_IM_DEFAULT_PLUGIN = libmeego-keyboard.so
    M_IM_DEFAULT_SUBVIEW = en_gb.xml
} else {
    M_IM_DEFAULT_PLUGIN = libmeego-keyboard-quick.so
    M_IM_DEFAULT_SUBVIEW =
}

MALIIT_TEST_DATADIR = $$DATADIR/$$MALIIT_TEST_SUITE
MALIIT_TEST_LIBDIR = $$M_IM_INSTALL_LIBS/$$MALIIT_TEST_SUITE
MALIIT_TEST_TMPDIR = /tmp/$$MALIIT_TEST_SUITE

DEFINES += MALIIT_TEST_PLUGINS_DIR=\\\"$$MALIIT_TEST_LIBDIR/plugins\\\"

DEFINES += MALIIT_CONFIG_ROOT=\\\"$$MALIIT_CONFIG_ROOT\\\"

mac {
    # Do mac stuff here
    M_BUILD_FEATURES = debug
    M_PROFILE_PARTS =
    INCLUDEPATH += include/
}

!nomeegotouch {
    DEFINES += HAVE_MEEGOTOUCH
}

defineTest(outputFile) {
    out = $$OUT_PWD/$$1
    in = $$PWD/$${1}.in

    !exists($$in) {
        error($$in does not exist!)
        return(false)
    }

    MALIIT_IN_DIR = $$IN_PWD
    MALIIT_OUT_DIR = $$OUT_PWD

    variables = M_IM_FRAMEWORK_FEATURE \
                M_IM_PREFIX \
                M_IM_INSTALL_BIN \
                M_IM_INSTALL_HEADERS \
                M_IM_INSTALL_LIBS \
                M_IM_PLUGINS_DIR \
                M_IM_VERSION \
                M_IM_ENABLE_MULTITOUCH \
                M_IM_DEFAULT_PLUGIN \
                M_IM_DEFAULT_SUBVIEW \
                M_IM_QUICK_FEATURE \
                MALIIT_PLUGINS_LIB \
                MALIIT_PLUGINS_HEADER \
                MALIIT_LIB \
                MALIIT_HEADER \
                MALIIT_PLUGINS_QUICK_LIB \
                MALIIT_PLUGINS_QUICK_HEADER \
                MALIIT_TEST_SUITE \
                MALIIT_TEST_DATADIR \
                MALIIT_TEST_LIBDIR \
                MALIIT_TEST_TMPDIR \
                MALIIT_IN_DIR \
                MALIIT_OUT_DIR \
                MALIIT_PACKAGE_BRIEF \
                MALIIT_FRAMEWORK_HEADER \

    command = "sed"
    for(var, variables) {
       command += "-e \"s:@$$var@:$$eval($$var):g\""
    }
    command += $$in > $$out

    system(mkdir -p $$dirname(out))
    system($$command)
    system(chmod --reference=$$in $$out)

    return(true)
}

defineTest(outputFiles) {
    files = $$ARGS

    for(file, files) {
        !outputFile($$file):return(false)
    }

    return(true)
}


Opening development for 0.2.15

Opening development for 0.2.15

LAUNCHER_VERSION = 0.2.15
LAUNCHER_VERSION_MAJOR = 0.2

LAUNCHER_PREFIX = /usr
LAUNCHER_INSTALL_BIN = $$LAUNCHER_PREFIX/bin
LAUNCHER_INSTALL_LIBS = $$LAUNCHER_PREFIX/lib
LAUNCHER_INSTALL_HEADERS = $$LAUNCHER_PREFIX/include

LAUNCHER_VERSION = 0.2.14
LAUNCHER_VERSION_MAJOR = 0.2

LAUNCHER_PREFIX = /usr
LAUNCHER_INSTALL_BIN = $$LAUNCHER_PREFIX/bin
LAUNCHER_INSTALL_LIBS = $$LAUNCHER_PREFIX/lib
LAUNCHER_INSTALL_HEADERS = $$LAUNCHER_PREFIX/include