QGCInstaller.pri 3.5 KB
Newer Older
1 2 3 4 5 6
# -------------------------------------------------
# QGroundControl - Micro Air Vehicle Groundstation
# Please see our website at <http://qgroundcontrol.org>
# Maintainer:
# Lorenz Meier <lm@inf.ethz.ch>
# (c) 2009-2014 QGroundControl Developers
Lorenz Meier's avatar
Lorenz Meier committed
7
# License terms set in COPYING.md
8 9 10
# -------------------------------------------------

installer {
11
    DEFINES += QGC_INSTALL_RELEASE
12
    MacBuild {
13 14 15
        VideoEnabled {
            # Install the gstreamer framework
            # This will:
dogmaphobic's avatar
dogmaphobic committed
16
            # Copy from the original distibution into DESTDIR/gstwork (if not already there)
17 18 19 20 21
            # Prune the framework, removing stuff we don't need
            # Relocate all dylibs so they can work under @executable_path/...
            # Copy the result into the app bundle
            # Make sure qgroundcontrol can find them
            message("Preparing GStreamer Framework")
dogmaphobic's avatar
dogmaphobic committed
22
            QMAKE_POST_LINK += && $$BASEDIR/tools/prepare_gstreamer_framework.sh $${OUT_PWD}/gstwork/ $${DESTDIR}/$${TARGET}.app $${TARGET}
23 24 25
        } else {
            message("Skipping GStreamer Framework")
        }
26 27 28
        # We cd to release directory so we can run macdeployqt without a path to the
        # qgroundcontrol.app file. If you specify a path to the .app file the symbolic
        # links to plugins will not be created correctly.
Daniel Agar's avatar
Daniel Agar committed
29
        QMAKE_POST_LINK += && mkdir -p $${DESTDIR}/package
30
        QMAKE_POST_LINK += && cd $${DESTDIR} && $$dirname(QMAKE_QMAKE)/macdeployqt qgroundcontrol.app -appstore-compliant -verbose=2 -qmldir=$${BASEDIR}/src
dogmaphobic's avatar
dogmaphobic committed
31
        QMAKE_POST_LINK += && cd $${OUT_PWD}
32
        QMAKE_POST_LINK += && hdiutil create -verbose -stretch 1g -layout SPUD -srcfolder $${DESTDIR}/qgroundcontrol.app -volname QGroundControl $${DESTDIR}/package/QGroundControl.dmg
33 34
    }
    WindowsBuild {
dogmaphobic's avatar
dogmaphobic committed
35 36 37 38
        # The pdb moving command are commented out for now since we are including the .pdb in the installer. This makes it much
        # easier to debug user crashes.
        #QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY $${DESTDIR_WIN}\\qgroundcontrol.pdb
        #QMAKE_POST_LINK += $$escape_expand(\\n) del $${DESTDIR_WIN}\\qgroundcontrol.pdb
39
        QMAKE_POST_LINK += $$escape_expand(\\n) cd $$BASEDIR_WIN && $$quote("\"C:\\Program Files \(x86\)\\NSIS\\makensis.exe\"" /NOCD "\"/XOutFile $${DESTDIR_WIN}\\QGroundControl-installer.exe\"" "$$BASEDIR_WIN\\deploy\\qgroundcontrol_installer.nsi")
dogmaphobic's avatar
dogmaphobic committed
40 41
        #QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY qgroundcontrol.pdb $${DESTDIR_WIN}
        #QMAKE_POST_LINK += $$escape_expand(\\n) del qgroundcontrol.pdb
42
        OTHER_FILES += deploy/qgroundcontrol_installer.nsi
43
    }
44
    LinuxBuild {
dogmaphobic's avatar
dogmaphobic committed
45
        #-- TODO: This uses hardcoded paths. It should use $${DESTDIR}
46
        QMAKE_POST_LINK += && mkdir -p release/package
47
        QMAKE_POST_LINK += && tar -cjf release/package/QGroundControl.tar.bz2 release --exclude='package' --transform 's/release/qgroundcontrol/'
48
    }
49
    AndroidBuild {
dogmaphobic's avatar
dogmaphobic committed
50
        #-- TODO: This uses hardcoded paths. It should use $${DESTDIR}
Daniel Agar's avatar
Daniel Agar committed
51 52
        QMAKE_POST_LINK += && mkdir -p $${DESTDIR}/package
        QMAKE_POST_LINK += && make install INSTALL_ROOT=$${DESTDIR}/android-build/
53 54
        QMAKE_POST_LINK += && androiddeployqt --input android-libQGroundControl.so-deployment-settings.json --output $${DESTDIR}/android-build --deployment bundled --gradle --sign $${BASEDIR}/android/android_release.keystore dagar --storepass $$(ANDROID_STOREPASS)
        QMAKE_POST_LINK += && cp $${DESTDIR}/android-build/build/outputs/apk/android-build-release-signed.apk $${DESTDIR}/package/QGroundControl.apk
55
    }
56
}