second
|
@ -6,7 +6,7 @@ include(GNUInstallDirs)
|
|||
|
||||
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug;Release;RelWithDebInfo;MinSizeRel;Coverage")
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
|
@ -164,7 +164,7 @@ include_directories(
|
|||
libs/libevents
|
||||
|
||||
libs/mavlink/include/mavlink/v2.0
|
||||
libs/mavlink/include/mavlink/v2.0/all
|
||||
libs/mavlink/include/mavlink/v2.0/ardupilotmega
|
||||
libs/mavlink/include/mavlink/v2.0/common
|
||||
|
||||
libs/shapelib
|
||||
|
@ -178,6 +178,8 @@ set(QGC_RESOURCES
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/qgcresources.qrc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/qgroundcontrol.qrc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/resources/InstrumentValueIcons/InstrumentValueIcons.qrc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/Airmap/airmap.qrc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/Airmap/dummy/airmap_dummy.qrc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/FirmwarePlugin/APM/APMResources.qrc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/src/FirmwarePlugin/PX4/PX4Resources.qrc
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/VideoReceiverApp/qml.qrc
|
||||
|
|
|
@ -21,6 +21,8 @@ CONFIG += warn_on
|
|||
CONFIG += resources_big
|
||||
CONFIG += c++17
|
||||
|
||||
DEFINES += DISABLE_AIRMAP # AIRMAP SDK does not exist anymore
|
||||
|
||||
linux {
|
||||
linux-g++ | linux-g++-64 | linux-g++-32 | linux-clang {
|
||||
message("Linux build")
|
||||
|
@ -107,21 +109,19 @@ linux {
|
|||
QMAKE_CXXFLAGS += -fvisibility=hidden
|
||||
QMAKE_CXXFLAGS_WARN_ON += -Werror \
|
||||
-Wno-unused-parameter \ # gst-plugins-good
|
||||
-Wno-unused-but-set-variable \ # eigen & QGCTileCacheWorker.cpp
|
||||
-Wno-deprecated-declarations # eigen
|
||||
} else {
|
||||
error("Unsupported Mac toolchain, only 64-bit LLVM+clang is supported")
|
||||
}
|
||||
} else : ios {
|
||||
message("iOS build")
|
||||
CONFIG += iOSBuild MobileBuild app_bundle
|
||||
CONFIG += iOSBuild MobileBuild app_bundle NoSerialBuild
|
||||
CONFIG -= bitcode
|
||||
DEFINES += __ios__
|
||||
DEFINES += QGC_NO_GOOGLE_MAPS
|
||||
DEFINES += NO_SERIAL_LINK
|
||||
DEFINES += QGC_DISABLE_UVC
|
||||
DEFINES += QGC_GST_TAISYNC_ENABLED
|
||||
DEFINES += NO_SERIAL_LINK
|
||||
QMAKE_IOS_DEPLOYMENT_TARGET = 11.0
|
||||
QMAKE_APPLE_TARGETED_DEVICE_FAMILY = 1,2 # Universal
|
||||
QMAKE_LFLAGS += -Wl,-no_pie
|
||||
|
@ -143,10 +143,6 @@ linux|macx|ios {
|
|||
}
|
||||
}
|
||||
|
||||
contains(DEFINES, NO_SERIAL_LINK) {
|
||||
message("Serial port support disabled")
|
||||
}
|
||||
|
||||
!MacBuild:!AndroidBuild {
|
||||
# See QGCPostLinkCommon.pri for details on why MacBuild doesn't use DESTDIR
|
||||
DESTDIR = staging
|
||||
|
@ -199,8 +195,6 @@ exists ($$PWD/.git) {
|
|||
DEFINES += APP_VERSION_STR=\"\\\"$$APP_VERSION_STR\\\"\"
|
||||
|
||||
AndroidBuild {
|
||||
QGC_ANDROID_PACKAGE = org.mavlink.qgroundcontrol
|
||||
|
||||
message(VERSION $${VERSION})
|
||||
MAJOR_VERSION = $$section(VERSION, ".", 0, 0)
|
||||
MINOR_VERSION = $$section(VERSION, ".", 1, 1)
|
||||
|
|
|
@ -54,8 +54,7 @@ isEmpty(MAVLINK_CONF) {
|
|||
MAVLINK_CONF = $$fromfile(user_config.pri, MAVLINK_CONF)
|
||||
message($$sprintf("Using user-supplied mavlink dialect '%1' specified in user_config.pri", $$MAVLINK_CONF))
|
||||
} else {
|
||||
MAVLINK_CONF = all
|
||||
message($$sprintf("Using MAVLink dialect '%1'.", $$MAVLINK_CONF))
|
||||
MAVLINK_CONF = ardupilotmega
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -68,18 +67,32 @@ contains (CONFIG, QGC_DISABLE_APM_MAVLINK) {
|
|||
CONFIG += ArdupilotEnabled
|
||||
}
|
||||
|
||||
# First we select the dialect, checking for valid user selection
|
||||
# Users can override all other settings by specifying MAVLINK_CONF as an argument to qmake
|
||||
!isEmpty(MAVLINK_CONF) {
|
||||
message($$sprintf("Using MAVLink dialect '%1'.", $$MAVLINK_CONF))
|
||||
}
|
||||
|
||||
# Then we add the proper include paths dependent on the dialect.
|
||||
INCLUDEPATH += $$MAVLINKPATH
|
||||
|
||||
count(MAVLINK_CONF, 1) {
|
||||
exists($$MAVLINKPATH/$$MAVLINK_CONF) {
|
||||
INCLUDEPATH += $$MAVLINKPATH/$$MAVLINK_CONF
|
||||
DEFINES += $$sprintf('QGC_USE_%1_MESSAGES', $$upper($$MAVLINK_CONF))
|
||||
exists($$MAVLINKPATH/common) {
|
||||
!isEmpty(MAVLINK_CONF) {
|
||||
count(MAVLINK_CONF, 1) {
|
||||
exists($$MAVLINKPATH/$$MAVLINK_CONF) {
|
||||
INCLUDEPATH += $$MAVLINKPATH/$$MAVLINK_CONF
|
||||
DEFINES += $$sprintf('QGC_USE_%1_MESSAGES', $$upper($$MAVLINK_CONF))
|
||||
} else {
|
||||
error($$sprintf("MAVLink dialect '%1' does not exist at '%2'!", $$MAVLINK_CONF, $$MAVLINKPATH_REL))
|
||||
}
|
||||
} else {
|
||||
error(Only a single mavlink dialect can be specified in MAVLINK_CONF)
|
||||
}
|
||||
} else {
|
||||
error($$sprintf("MAVLink dialect '%1' does not exist at '%2'!", $$MAVLINK_CONF, $$MAVLINKPATH_REL))
|
||||
INCLUDEPATH += $$MAVLINKPATH/common
|
||||
}
|
||||
} else {
|
||||
error(Only a single mavlink dialect can be specified in MAVLINK_CONF)
|
||||
error($$sprintf("MAVLink folder does not exist at '%1'! Run 'git submodule init && git submodule update' on the command line.",$$MAVLINKPATH_REL))
|
||||
}
|
||||
|
||||
#
|
||||
|
@ -92,13 +105,11 @@ DEFINES += NOMINMAX
|
|||
# [REQUIRED] Events submodule
|
||||
HEADERS+= \
|
||||
libs/libevents/libevents/libs/cpp/protocol/receive.h \
|
||||
libs/libevents/libevents/libs/cpp/parse/health_and_arming_checks.h \
|
||||
libs/libevents/libevents/libs/cpp/parse/parser.h \
|
||||
libs/libevents/libevents/libs/cpp/generated/events_generated.h \
|
||||
libs/libevents/libevents_definitions.h
|
||||
SOURCES += \
|
||||
libs/libevents/libevents/libs/cpp/protocol/receive.cpp \
|
||||
libs/libevents/libevents/libs/cpp/parse/health_and_arming_checks.cpp \
|
||||
libs/libevents/libevents/libs/cpp/parse/parser.cpp \
|
||||
libs/libevents/definitions.cpp
|
||||
INCLUDEPATH += \
|
||||
|
@ -213,9 +224,9 @@ MacBuild {
|
|||
# Include Android OpenSSL libs
|
||||
AndroidBuild {
|
||||
include($$SOURCE_DIR/libs/OpenSSL/android_openssl/openssl.pri)
|
||||
#message("ANDROID_EXTRA_LIBS")
|
||||
#message($$ANDROID_TARGET_ARCH)
|
||||
#message($$ANDROID_EXTRA_LIBS)
|
||||
message("ANDROID_EXTRA_LIBS")
|
||||
message($$ANDROID_TARGET_ARCH)
|
||||
message($$ANDROID_EXTRA_LIBS)
|
||||
}
|
||||
|
||||
# Pairing
|
||||
|
@ -264,3 +275,54 @@ contains (DEFINES, DISABLE_ZEROCONF) {
|
|||
} else {
|
||||
message("Skipping support for Zeroconf (unsupported platform)")
|
||||
}
|
||||
|
||||
#
|
||||
# [OPTIONAL] AirMap Support
|
||||
#
|
||||
contains (DEFINES, DISABLE_AIRMAP) {
|
||||
message("Skipping support for AirMap (manual override from command line)")
|
||||
# Otherwise the user can still disable this feature in the user_config.pri file.
|
||||
} else:exists(user_config.pri):infile(user_config.pri, DEFINES, DISABLE_AIRMAP) {
|
||||
message("Skipping support for AirMap (manual override from user_config.pri)")
|
||||
} else {
|
||||
AIRMAP_PLATFORM_SDK_PATH = $${OUT_PWD}/libs/airmap-platform-sdk
|
||||
AIRMAP_QT_PATH = Qt.$${QT_MAJOR_VERSION}.$${QT_MINOR_VERSION}
|
||||
message("Including support for AirMap")
|
||||
MacBuild {
|
||||
exists("$${AIRMAPD_PATH}/macOS/$$AIRMAP_QT_PATH") {
|
||||
message("Including support for AirMap for macOS")
|
||||
LIBS += -L$${AIRMAPD_PATH}/macOS/$$AIRMAP_QT_PATH -lairmap-qt
|
||||
DEFINES += QGC_AIRMAP_ENABLED
|
||||
}
|
||||
} else:LinuxBuild {
|
||||
#-- Download and install platform-sdk libs and headers iff they're not already in the build directory
|
||||
AIRMAP_PLATFORM_SDK_URL = "https://github.com/airmap/platform-sdk/releases/download/2.0/airmap-platform-sdk-2.0.0-Linux.deb"
|
||||
AIRMAP_PLATFORM_SDK_FILEPATH = "$${OUT_PWD}/airmap-platform-sdk.deb"
|
||||
AIRMAP_PLATFORM_SDK_INSTALL_DIR = "tmp"
|
||||
|
||||
airmap_platform_sdk_install.target = $${AIRMAP_PLATFORM_SDK_PATH}/include/airmap
|
||||
airmap_platform_sdk_install.commands = \
|
||||
rm -rf $${AIRMAP_PLATFORM_SDK_PATH} && \
|
||||
mkdir -p "$${AIRMAP_PLATFORM_SDK_PATH}/linux/$${AIRMAP_QT_PATH}" && \
|
||||
mkdir -p "$${AIRMAP_PLATFORM_SDK_PATH}/include/airmap" && \
|
||||
mkdir -p "$${AIRMAP_PLATFORM_SDK_PATH}/$${AIRMAP_PLATFORM_SDK_INSTALL_DIR}" && \
|
||||
curl --location --output "$${AIRMAP_PLATFORM_SDK_FILEPATH}" "$${AIRMAP_PLATFORM_SDK_URL}" && \
|
||||
ar p "$${AIRMAP_PLATFORM_SDK_FILEPATH}" data.tar.gz | tar xvz -C "$${AIRMAP_PLATFORM_SDK_PATH}/$${AIRMAP_PLATFORM_SDK_INSTALL_DIR}/" --strip-components=1 && \
|
||||
mv -u "$${AIRMAP_PLATFORM_SDK_PATH}/$${AIRMAP_PLATFORM_SDK_INSTALL_DIR}/usr/lib/x86_64-linux-gnu/*" "$${AIRMAP_PLATFORM_SDK_PATH}/linux/$${AIRMAP_QT_PATH}/" && \
|
||||
mv -u "$${AIRMAP_PLATFORM_SDK_PATH}/$${AIRMAP_PLATFORM_SDK_INSTALL_DIR}/usr/include/airmap/*" "$${AIRMAP_PLATFORM_SDK_PATH}/include/airmap/" && \
|
||||
rm -rf "$${AIRMAP_PLATFORM_SDK_PATH}/$${AIRMAP_PLATFORM_SDK_INSTALL_DIR}" && \
|
||||
rm "$${AIRMAP_PLATFORM_SDK_FILEPATH}"
|
||||
airmap_platform_sdk_install.depends =
|
||||
QMAKE_EXTRA_TARGETS += airmap_platform_sdk_install
|
||||
PRE_TARGETDEPS += $$airmap_platform_sdk_install.target
|
||||
|
||||
LIBS += -L$${AIRMAP_PLATFORM_SDK_PATH}/linux/$${AIRMAP_QT_PATH} -lairmap-cpp
|
||||
DEFINES += QGC_AIRMAP_ENABLED
|
||||
} else {
|
||||
message("Skipping support for Airmap (unsupported platform)")
|
||||
}
|
||||
contains (DEFINES, QGC_AIRMAP_ENABLED) {
|
||||
INCLUDEPATH += \
|
||||
$${AIRMAP_PLATFORM_SDK_PATH}/include
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,12 +25,22 @@ MacBuild {
|
|||
# with the differences between post list command running in a shell script (XCode) versus a makefile (Qt Creator)
|
||||
macx-xcode {
|
||||
# SDL2 Framework
|
||||
QMAKE_POST_LINK += && rsync -a --delete $$SOURCE_DIR/libs/Frameworks/SDL2.framework $BUILT_PRODUCTS_DIR/$${TARGET}.app/Contents/Frameworks
|
||||
QMAKE_POST_LINK += && rsync -a --delete $$SOURCE_DIR/libs/Frameworks/SDL2.Framework $BUILT_PRODUCTS_DIR/$${TARGET}.app/Contents/Frameworks
|
||||
QMAKE_POST_LINK += && install_name_tool -change "@rpath/SDL2.framework/Versions/A/SDL2" "@executable_path/../Frameworks/SDL2.framework/Versions/A/SDL2" $BUILT_PRODUCTS_DIR/$${TARGET}.app/Contents/MacOS/$${TARGET}
|
||||
# AirMap
|
||||
contains (DEFINES, QGC_AIRMAP_ENABLED) {
|
||||
QMAKE_POST_LINK += && rsync -a $$SOURCE_DIR/libs/airmapd/macOS/$$AIRMAP_QT_PATH/* $BUILT_PRODUCTS_DIR/$${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" $BUILT_PRODUCTS_DIR/$${TARGET}.app/Contents/MacOS/$${TARGET}
|
||||
}
|
||||
} else {
|
||||
# SDL2 Framework
|
||||
QMAKE_POST_LINK += && rsync -a --delete $$SOURCE_DIR/libs/Frameworks/SDL2.framework $${TARGET}.app/Contents/Frameworks
|
||||
QMAKE_POST_LINK += && rsync -a --delete $$SOURCE_DIR/libs/Frameworks/SDL2.Framework $${TARGET}.app/Contents/Frameworks
|
||||
QMAKE_POST_LINK += && install_name_tool -change "@rpath/SDL2.framework/Versions/A/SDL2" "@executable_path/../Frameworks/SDL2.framework/Versions/A/SDL2" $${TARGET}.app/Contents/MacOS/$${TARGET}
|
||||
# AirMap
|
||||
contains (DEFINES, QGC_AIRMAP_ENABLED) {
|
||||
QMAKE_POST_LINK += && rsync -a $$SOURCE_DIR/libs/airmap-platform-sdk/macOS/$$AIRMAP_QT_PATH/* $${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" $${TARGET}.app/Contents/MacOS/$${TARGET}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -54,9 +64,7 @@ WindowsBuild {
|
|||
# Copy Visual Studio DLLs
|
||||
# Note that this is only done for release because the debugging versions of these DLLs cannot be redistributed.
|
||||
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"$$SOURCE_DIR\\libs\\Microsoft\\windows\\msvcp140.dll\" \"$$DESTDIR\"
|
||||
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"$$SOURCE_DIR\\libs\\Microsoft\\windows\\msvcp140_1.dll\" \"$$DESTDIR\"
|
||||
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"$$SOURCE_DIR\\libs\\Microsoft\\windows\\vcruntime140.dll\" \"$$DESTDIR\"
|
||||
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"$$SOURCE_DIR\\libs\\Microsoft\\windows\\vcruntime140_1.dll\" \"$$DESTDIR\"
|
||||
}
|
||||
|
||||
DEPLOY_TARGET = $$shell_quote($$shell_path($$DESTDIR\\$${TARGET}.exe))
|
||||
|
@ -122,9 +130,9 @@ LinuxBuild {
|
|||
libicui18n.so \
|
||||
libicuuc.so
|
||||
}
|
||||
# Copy only if non-existing to avoid file timestamp updates
|
||||
|
||||
for(QT_LIB, QT_LIB_LIST) {
|
||||
QMAKE_POST_LINK += && $$QMAKE_COPY -n --dereference $$[QT_INSTALL_LIBS]/$$QT_LIB $$DESTDIR/Qt/libs/
|
||||
QMAKE_POST_LINK += && $$QMAKE_COPY --dereference $$[QT_INSTALL_LIBS]/$$QT_LIB $$DESTDIR/Qt/libs/
|
||||
}
|
||||
|
||||
# QT_INSTALL_PLUGINS
|
||||
|
@ -144,11 +152,16 @@ LinuxBuild {
|
|||
}
|
||||
|
||||
for(QT_PLUGIN, QT_PLUGIN_LIST) {
|
||||
QMAKE_POST_LINK += && $$QMAKE_COPY -n --dereference --recursive $$[QT_INSTALL_PLUGINS]/$$QT_PLUGIN $$DESTDIR/Qt/plugins/
|
||||
QMAKE_POST_LINK += && $$QMAKE_COPY --dereference --recursive $$[QT_INSTALL_PLUGINS]/$$QT_PLUGIN $$DESTDIR/Qt/plugins/
|
||||
}
|
||||
|
||||
# QT_INSTALL_QML
|
||||
QMAKE_POST_LINK += && $$QMAKE_COPY -n --dereference --recursive $$[QT_INSTALL_QML] $$DESTDIR/Qt/
|
||||
QMAKE_POST_LINK += && $$QMAKE_COPY --dereference --recursive $$[QT_INSTALL_QML] $$DESTDIR/Qt/
|
||||
|
||||
# Airmap
|
||||
contains (DEFINES, QGC_AIRMAP_ENABLED) {
|
||||
QMAKE_POST_LINK += && $$QMAKE_COPY $$OUT_PWD/libs/airmap-platform-sdk/linux/$$AIRMAP_QT_PATH/libairmap-cpp.so.2.0.0 $$DESTDIR/Qt/libs/
|
||||
}
|
||||
|
||||
# QGroundControl start script
|
||||
contains (CONFIG, QGC_DISABLE_CUSTOM_BUILD) | !exists($$PWD/custom/custom.pri) {
|
||||
|
|
|
@ -16,10 +16,10 @@ installer {
|
|||
QMAKE_POST_LINK += && $$dirname(QMAKE_QMAKE)/macdeployqt $${TARGET}.app -appstore-compliant -verbose=1 -qmldir=$${SOURCE_DIR}/src
|
||||
|
||||
# macdeployqt is missing some relocations once in a while. "Fix" it:
|
||||
QMAKE_POST_LINK += && rsync -a --delete /Library/Frameworks/GStreamer.framework $${TARGET}.app/Contents/Frameworks
|
||||
QMAKE_POST_LINK += && cp -R /Library/Frameworks/GStreamer.framework $${TARGET}.app/Contents/Frameworks
|
||||
QMAKE_POST_LINK += && echo libexec
|
||||
QMAKE_POST_LINK += && ln -sf $${TARGET}.app/Contents/Frameworks $${TARGET}.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/libexec/Frameworks
|
||||
QMAKE_POST_LINK += && install_name_tool -change /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer @executable_path/../Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer $${TARGET}.app/Contents/MacOS/$${TARGET}
|
||||
QMAKE_POST_LINK += && install_name_tool -change /Library/Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer @executable_path/../Frameworks/GStreamer.framework/Versions/1.0/lib/GStreamer $${TARGET}.app/Contents/MacOS/QGroundControl
|
||||
QMAKE_POST_LINK += && rm -rf $${TARGET}.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/{bin,etc,share,Headers,include,Commands}
|
||||
QMAKE_POST_LINK += && rm -rf $${TARGET}.app/Contents/Frameworks/GStreamer.framework/Versions/1.0/lib/{*.a,*.la,glib-2.0,gst-validate-launcher,pkgconfig}
|
||||
|
||||
|
@ -34,8 +34,6 @@ installer {
|
|||
QMAKE_POST_LINK += && mkdir -p package
|
||||
QMAKE_POST_LINK += && mkdir -p staging
|
||||
QMAKE_POST_LINK += && rsync -a --delete $${TARGET}.app staging
|
||||
QMAKE_POST_LINK += && rm -rf /tmp/tmp.dmg
|
||||
QMAKE_POST_LINK += && rm -rf package/$${TARGET}.dmg
|
||||
QMAKE_POST_LINK += && hdiutil create /tmp/tmp.dmg -ov -volname "$${TARGET}-$${MAC_VERSION}" -fs HFS+ -srcfolder "staging"
|
||||
QMAKE_POST_LINK += && hdiutil convert /tmp/tmp.dmg -format UDBZ -o package/$${TARGET}.dmg
|
||||
QMAKE_POST_LINK += && rm /tmp/tmp.dmg
|
||||
|
@ -51,13 +49,10 @@ installer {
|
|||
}
|
||||
AndroidBuild {
|
||||
_ANDROID_KEYSTORE_PASSWORD = $$(ANDROID_KEYSTORE_PASSWORD)
|
||||
QMAKE_POST_LINK += && mkdir -p package
|
||||
isEmpty(_ANDROID_KEYSTORE_PASSWORD) {
|
||||
message(Keystore password not available - not signing package)
|
||||
# This is for builds in forks and PR where the Android keystore password is not available
|
||||
QMAKE_POST_LINK += && make apk
|
||||
QMAKE_POST_LINK += && cp android-build/build/outputs/apk/debug/android-build-debug.apk package/QGroundControl$${ANDROID_TRUE_BITNESS}.apk
|
||||
message(Skipping androiddeployqt since keystore password is not available)
|
||||
} else {
|
||||
QMAKE_POST_LINK += && mkdir -p package
|
||||
QMAKE_POST_LINK += && make apk_install_target INSTALL_ROOT=android-build
|
||||
QMAKE_POST_LINK += && androiddeployqt --verbose --input android-QGroundControl-deployment-settings.json --output android-build --release --sign $${SOURCE_DIR}/android/android_release.keystore QGCAndroidKeyStore --storepass $$(ANDROID_KEYSTORE_PASSWORD)
|
||||
QMAKE_POST_LINK += && cp android-build/build/outputs/apk/release/android-build-release-signed.apk package/QGroundControl$${ANDROID_TRUE_BITNESS}.apk
|
||||
|
|
74
README.md
|
@ -1,11 +1,15 @@
|
|||
# QGroundControl Ground Control Station
|
||||
# Spiri Ground Control Station
|
||||
|
||||
[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://github.com/mavlink/QGroundControl/releases)
|
||||
[![Releases](https://git.spirirobotics.com/hetongapp/Spiri-App/raw/branch/master/Spiri/resources/images/Spiri-release.svg)](https://git.spirirobotics.com/hetongapp/Spiri-App/releases)
|
||||
[![Travis Build Status](https://travis-ci.org/mavlink/qgroundcontrol.svg?branch=master)](https://travis-ci.org/mavlink/qgroundcontrol)
|
||||
[![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/crxcm4qayejuvh6c/branch/master?svg=true)](https://ci.appveyor.com/project/mavlink/qgroundcontrol)
|
||||
|
||||
*QGroundControl* (QGC) is an intuitive and powerful ground control station (GCS) for UAVs.
|
||||
|
||||
The primary goal of QGC is ease of use for both first time and professional users.
|
||||
It provides full flight control and mission planning for any MAVLink enabled drone, and vehicle setup for both PX4 and ArduPilot powered UAVs. Instructions for *using QGroundControl* are provided in the [User Manual](https://docs.qgroundcontrol.com/en/) (you may not need them because the UI is very intuitive!)
|
||||
|
||||
*Spiri GroundControl* (SGC) is an intuitive and powerful ground control station (GCS) for UAVs.
|
||||
|
||||
The primary goal of SGC is ease of use for both first time and professional users.
|
||||
It provides full flight control and mission planning for any MAVLink enabled drone, and vehicle setup for both PX4 and ArduPilot powered UAVs. Instructions for *using Spiri GroundControl* are provided in the [User Manual](https://docs.qgroundcontrol.com/en/) (you may not need them because the UI is very intuitive!)
|
||||
|
||||
All the code is open-source, so you can contribute and evolve it as you want.
|
||||
The [Developer Guide](https://dev.qgroundcontrol.com/en/) explains how to [build](https://dev.qgroundcontrol.com/en/getting_started/) and extend QGC.
|
||||
|
@ -18,3 +22,63 @@ Key Links:
|
|||
* [Discussion/Support](https://docs.qgroundcontrol.com/en/Support/Support.html)
|
||||
* [Contributing](https://dev.qgroundcontrol.com/en/contribute/)
|
||||
* [License](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md)
|
||||
|
||||
|
||||
# Setup Installation (Windows)
|
||||
|
||||
*Install QT 5.15.2
|
||||
* Here is the link and Download: [Website](https://download.qt.io/official_releases/online_installers/) (Windows)
|
||||
* Setup the environment for QT!
|
||||
* 1. right click the desktop and click the attribution.
|
||||
* 2. select the "Advanced System Settings"
|
||||
* 3. select the "Environment Variables"
|
||||
* 4. create a new qt system variable(using your own QT install Path) (eg. D:\QT5.15.2\5.15.2\msvc2019_64)
|
||||
|
||||
*Install Spiri QGC
|
||||
* create a folder in your workspace and name it such as "Spiri"
|
||||
* git clone https://git.spirirobotics.com/hetongapp/SpiriGroundControl.git
|
||||
* Then cd to the "Spiri/SpiriGroundControl" and update the repo: "git submodule update --init --recursive".
|
||||
* Open the "qgroundcontrol.pro" in "Spiri/SpiriGroundControl" folder by using the QT creator
|
||||
* click "build" and "run"
|
||||
|
||||
|
||||
# Setup Installation (MacOS)
|
||||
|
||||
* Install the Xcode in Apple Store
|
||||
* Install Qt Creator for macOS: [Website](https://info.qt.io/zh-cn/download-qt-for-application-development)
|
||||
* Create or open a Qt project and check the "iphonesimulator-clang-..." environment in the project configuration page
|
||||
* create a folder in your workspace and name it such as "Spiri"
|
||||
* git clone https://git.spirirobotics.com/hetongapp/SpiriGroundControl.git
|
||||
* Then cd to the "Spiri/SpiriGroundControl" and update the repo: "git submodule update --init --recursive".
|
||||
* Click the hammer compile button in the lower left corner, after the compilation is successful, you can close Qt Creator.
|
||||
* After the compilation is complete, there will be an "Info.plist" file in the output folder, open it with Xcode.
|
||||
|
||||
|
||||
# Setup Installation (Ubuntu20.04)
|
||||
|
||||
*Install QT 5.15.2
|
||||
* Setup the environment for QT!
|
||||
```bash
|
||||
sudo chmod u+x ./Ubuntu_QT_install.sh && source ./Ubuntu_QT_install.sh
|
||||
```
|
||||
*Install Spiri QGC
|
||||
* create a folder in your workspace and name it such as "Spiri"
|
||||
* git clone https://git.spirirobotics.com/Spiri/SpiriGroundControlTest.git
|
||||
* Then cd to the "Spiri/SpiriGroundControlTest" and update the repo: "git submodule update --init --recursive".
|
||||
* Open the "qgroundcontrol.pro" in "Spiri/SpiriGroundControlTest" folder by using the QT creator
|
||||
* click "build" and "run"
|
||||
|
||||
|
||||
# Branch naming rules
|
||||
|
||||
* Dev-AndroidAPP-Tong
|
||||
* Bug-AndroidAPP-Tong
|
||||
* Rev-AndroidAPP-Tong
|
||||
|
||||
Note:
|
||||
|
||||
* Dev:This branch is for develop
|
||||
* Bug: This branch is for bug fix
|
||||
* Rev: This branch is for revision
|
||||
* Tong:Contributer's name
|
||||
* AndroidAPP:The general description of this task
|
|
@ -0,0 +1,69 @@
|
|||
# Spiri Ground Control Station
|
||||
|
||||
[![Releases](https://img.shields.io/github/release/mavlink/QGroundControl.svg)](https://git.spirirobotics.com/hetongapp/SpiriGroundControl/releases)
|
||||
[![Travis Build Status](https://travis-ci.org/mavlink/qgroundcontrol.svg?branch=master)](https://travis-ci.org/mavlink/qgroundcontrol)
|
||||
[![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/crxcm4qayejuvh6c/branch/master?svg=true)](https://ci.appveyor.com/project/mavlink/qgroundcontrol)
|
||||
|
||||
|
||||
|
||||
*Spiri GroundControl* (SGC) is an intuitive and powerful ground control station (GCS) for UAVs.
|
||||
|
||||
The primary goal of SGC is ease of use for both first time and professional users.
|
||||
It provides full flight control and mission planning for any MAVLink enabled drone, and vehicle setup for both PX4 and ArduPilot powered UAVs. Instructions for *using Spiri GroundControl* are provided in the [User Manual](https://docs.qgroundcontrol.com/en/) (you may not need them because the UI is very intuitive!)
|
||||
|
||||
All the code is open-source, so you can contribute and evolve it as you want.
|
||||
The [Developer Guide](https://dev.qgroundcontrol.com/en/) explains how to [build](https://dev.qgroundcontrol.com/en/getting_started/) and extend QGC.
|
||||
|
||||
|
||||
Key Links:
|
||||
* [Website](http://qgroundcontrol.com) (qgroundcontrol.com)
|
||||
* [User Manual](https://docs.qgroundcontrol.com/en/)
|
||||
* [Developer Guide](https://dev.qgroundcontrol.com/en/)
|
||||
* [Discussion/Support](https://docs.qgroundcontrol.com/en/Support/Support.html)
|
||||
* [Contributing](https://dev.qgroundcontrol.com/en/contribute/)
|
||||
* [License](https://github.com/mavlink/qgroundcontrol/blob/master/COPYING.md)
|
||||
|
||||
|
||||
# Setup Installation (Windows)
|
||||
|
||||
*Install QT 5.15.2
|
||||
* Here is the link and Download: [Website](https://download.qt.io/official_releases/online_installers/) (Windows)
|
||||
* Setup the environment for QT!
|
||||
* 1. right click the desktop and click the attribution.
|
||||
* 2. select the "Advanced System Settings"
|
||||
* 3. select the "Environment Variables"
|
||||
* 4. create a new qt system variable(using your own QT install Path) (eg. D:\QT5.15.2\5.15.2\msvc2019_64)
|
||||
|
||||
*Install Spiri QGC
|
||||
* create a folder in your workspace and name it such as "Spiri"
|
||||
* git clone https://git.spirirobotics.com/hetongapp/SpiriGroundControl.git
|
||||
* Then cd to the "Spiri/SpiriGroundControl" and update the repo: "git submodule update --init --recursive".
|
||||
* Open the "qgroundcontrol.pro" in "Spiri/SpiriGroundControl" folder by using the QT creator
|
||||
* click "build" and "run"
|
||||
|
||||
|
||||
# Setup Installation (MacOS)
|
||||
|
||||
* Install the Xcode in Apple Store
|
||||
* Install Qt Creator for macOS: [Website](https://info.qt.io/zh-cn/download-qt-for-application-development)
|
||||
* Create or open a Qt project and check the "iphonesimulator-clang-..." environment in the project configuration page
|
||||
* create a folder in your workspace and name it such as "Spiri"
|
||||
* git clone https://git.spirirobotics.com/hetongapp/SpiriGroundControl.git
|
||||
* Then cd to the "Spiri/SpiriGroundControl" and update the repo: "git submodule update --init --recursive".
|
||||
* Click the hammer compile button in the lower left corner, after the compilation is successful, you can close Qt Creator.
|
||||
* After the compilation is complete, there will be an "Info.plist" file in the output folder, open it with Xcode.
|
||||
|
||||
|
||||
# Setup Installation (Ubuntu20.04)
|
||||
|
||||
*Install QT 5.15.2
|
||||
* Setup the environment for QT!
|
||||
```bash
|
||||
sudo chmod u+x ./Ubuntu_QT_install.sh && source ./Ubuntu_QT_install.sh
|
||||
```
|
||||
*Install Spiri QGC
|
||||
* create a folder in your workspace and name it such as "Spiri"
|
||||
* git clone https://git.spirirobotics.com/Spiri/SpiriGroundControlTest.git
|
||||
* Then cd to the "Spiri/SpiriGroundControlTest" and update the repo: "git submodule update --init --recursive".
|
||||
* Open the "qgroundcontrol.pro" in "Spiri/SpiriGroundControlTest" folder by using the QT creator
|
||||
* click "build" and "run"
|
After Width: | Height: | Size: 4.2 KiB |
After Width: | Height: | Size: 172 KiB |
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="94" height="20" role="img" aria-label="release: v4.2.9"><title>release: v4.2.9</title><linearGradient id="s" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="r"><rect width="94" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#r)"><rect width="49" height="20" fill="#555"/><rect x="49" width="45" height="20" fill="#007ec6"/><rect width="94" height="20" fill="url(#s)"/></g><g fill="#fff" text-anchor="middle" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" text-rendering="geometricPrecision" font-size="110"><text aria-hidden="true" x="255" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="390">release</text><text x="255" y="140" transform="scale(.1)" fill="#fff" textLength="390">release</text><text aria-hidden="true" x="705" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="350">v4.2.9</text><text x="705" y="140" transform="scale(.1)" fill="#fff" textLength="350">v1.0.0</text></g></svg>
|
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 52 KiB |
After Width: | Height: | Size: 65 KiB |
After Width: | Height: | Size: 81 KiB |
After Width: | Height: | Size: 123 KiB |
After Width: | Height: | Size: 173 KiB |
After Width: | Height: | Size: 175 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 7.6 KiB |
|
@ -15,10 +15,5 @@
|
|||
<file alias="PolygonBadXml.kml">src/MissionManager/UnitTest/PolygonBadXml.kml</file>
|
||||
<file alias="PolygonBadCoordinatesNode.kml">src/MissionManager/UnitTest/PolygonBadCoordinatesNode.kml</file>
|
||||
<file alias="MockLinkOptionsDlg.qml">src/comm/MockLinkOptionsDlg.qml</file>
|
||||
<file alias="TranslationTest.json">src/qgcunittest/TranslationTest.json</file>
|
||||
<file alias="TranslationTest_de_DE.ts">src/qgcunittest/TranslationTest_de_DE.ts</file>
|
||||
</qresource>
|
||||
<qresource prefix="/qml">
|
||||
<file alias="QGroundControl/Controls/MockLinkOptionsDlg.qml">src/comm/MockLinkOptionsDlg.qml</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
|
|
|
@ -1,38 +1,21 @@
|
|||
# -*- mode: ruby -*-
|
||||
# vi: set ft=ruby :
|
||||
|
||||
# if you update this file, please consider updating .travis.yml too
|
||||
|
||||
require 'yaml'
|
||||
|
||||
current_dir = File.dirname(File.expand_path(__FILE__))
|
||||
configfile = YAML.load_file("#{current_dir}/.vagrantconfig.yml")
|
||||
travisfile = YAML.load_file("#{current_dir}/.travis.yml")
|
||||
yaml_config = configfile['configs']['dev']
|
||||
|
||||
env_global = [
|
||||
'JOBS=4',
|
||||
'SHADOW_BUILD_DIR=/tmp/shadow_build_dir',
|
||||
'CODESIGN=nocodesign',
|
||||
]
|
||||
|
||||
packages = [
|
||||
'build-essential',
|
||||
'fuse',
|
||||
'git',
|
||||
'libgstreamer-plugins-base1.0-dev',
|
||||
'libgstreamer1.0-0:amd64',
|
||||
'libgstreamer1.0-dev',
|
||||
'libsdl2-dev',
|
||||
'libudev-dev',
|
||||
'speech-dispatcher',
|
||||
'wget'
|
||||
]
|
||||
|
||||
|
||||
Vagrant.configure(2) do |config|
|
||||
# This trick is used to prefer a VM box over docker
|
||||
config.vm.provider "virtualbox"
|
||||
config.vm.provider "vmware_fusion"
|
||||
|
||||
config.vm.box = "ubuntu/jammy64"
|
||||
config.vm.box = "ubuntu/bionic64"
|
||||
config.vm.provider :docker do |docker, override|
|
||||
override.vm.box = "tknerr/baseimage-ubuntu-16.04"
|
||||
end
|
||||
|
@ -81,8 +64,6 @@ Vagrant.configure(2) do |config|
|
|||
apt-get install -y python3-pip
|
||||
su - vagrant -c "pip3 install --user aqtinstall"
|
||||
|
||||
apt-get install -y patchelf
|
||||
|
||||
dir="%{qt_deps_unpack_dir}"
|
||||
version="5.15.2"
|
||||
host="linux"
|
||||
|
@ -92,8 +73,6 @@ Vagrant.configure(2) do |config|
|
|||
su - vagrant -c "mkdir -p ${dir}"
|
||||
su - vagrant -c "python3 -m aqt install-qt -O ${dir} ${host} ${target} ${version} -m ${modules}"
|
||||
|
||||
mkdir -p /vagrant/shadow-build
|
||||
|
||||
# write out a pair of scripts to make rebuilding on the VM easy:
|
||||
su - vagrant -c "cat <<QMAKE >do-qmake.sh
|
||||
#!/bin/bash
|
||||
|
@ -122,10 +101,6 @@ MAKE
|
|||
"
|
||||
su - vagrant -c "chmod +x do-qmake.sh do-make.sh"
|
||||
|
||||
# increase the allowed number of open files (the link step takes a
|
||||
# lot of open filehandles!):
|
||||
echo '* soft nofile 2048' >/etc/security/limits.d/fileno.conf
|
||||
|
||||
# now run the scripts:
|
||||
su - vagrant -c ./do-qmake.sh
|
||||
su - vagrant -c ./do-make.sh
|
||||
|
@ -137,8 +112,8 @@ echo '* soft nofile 2048' >/etc/security/limits.d/file
|
|||
:qt_deps_tarball => yaml_config['qt_deps_tarball'],
|
||||
:pro => yaml_config['pro'],
|
||||
:spec => yaml_config['spec'],
|
||||
:apt_pkgs => (packages).join(' '),
|
||||
:build_env => env_global.select { |item| item.is_a?(String) }.join(' '),
|
||||
:apt_pkgs => (travisfile['addons']['apt']['packages']+['git', 'build-essential', 'fuse', 'libsdl2-dev']).join(' '),
|
||||
:build_env => travisfile['env']['global'].select { |item| item.is_a?(String) }.join(' '),
|
||||
|
||||
:project_root_dir => yaml_config['project_root_dir'],
|
||||
:qt_deps_unpack_parent_dir => yaml_config['qt_deps_unpack_parent_dir'],
|
||||
|
|
85
android.pri
|
@ -1,71 +1,24 @@
|
|||
include($$PWD/libs/qtandroidserialport/src/qtandroidserialport.pri)
|
||||
message("Adding Serial Java Classes")
|
||||
QT += androidextras
|
||||
|
||||
include($$PWD/libs/qtandroidserialport/src/qtandroidserialport.pri)
|
||||
ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
|
||||
|
||||
ANDROID_PACKAGE_SOURCE_DIR = $$OUT_PWD/ANDROID_PACKAGE_SOURCE_DIR # Tells Qt location of package files for build
|
||||
ANDROID_PACKAGE_QGC_SOURCE_DIR = $$PWD/android # Original location of QGC package files
|
||||
ANDROID_PACKAGE_CUSTOM_SOURCE_DIR = $$PWD/custom/android # Original location for custom build override package files
|
||||
exists($$PWD/custom/android) {
|
||||
message("Merging $$PWD/custom/android/ -> $$PWD/android/")
|
||||
|
||||
# We always move the package files to the ANDROID_PACKAGE_SOURCE_DIR build dir so we can modify the manifest as needed
|
||||
ANDROID_PACKAGE_SOURCE_DIR = $$OUT_PWD/ANDROID_PACKAGE_SOURCE_DIR
|
||||
android_source_dir_target.target = android_source_dir
|
||||
PRE_TARGETDEPS += $$android_source_dir_target.target
|
||||
QMAKE_EXTRA_TARGETS += android_source_dir_target
|
||||
|
||||
android_source_dir_target.target = $$ANDROID_PACKAGE_SOURCE_DIR/AndroidManifest.xml
|
||||
android_source_dir_target.commands = \
|
||||
$$QMAKE_MKDIR $$ANDROID_PACKAGE_SOURCE_DIR && \
|
||||
$$QMAKE_COPY_DIR $$ANDROID_PACKAGE_QGC_SOURCE_DIR/* $$ANDROID_PACKAGE_SOURCE_DIR
|
||||
PRE_TARGETDEPS += $$android_source_dir_target.target
|
||||
QMAKE_EXTRA_TARGETS += android_source_dir_target
|
||||
exists($$ANDROID_PACKAGE_CUSTOM_SOURCE_DIR/AndroidManifest.xml) {
|
||||
android_source_dir_target.depends = $$ANDROID_PACKAGE_CUSTOM_SOURCE_DIR/AndroidManifest.xml
|
||||
} else {
|
||||
android_source_dir_target.depends = $$ANDROID_PACKAGE_QGC_SOURCE_DIR/AndroidManifest.xml
|
||||
android_source_dir_target.commands = $$QMAKE_MKDIR $$ANDROID_PACKAGE_SOURCE_DIR && \
|
||||
$$QMAKE_COPY_DIR $$PWD/android/* $$OUT_PWD/ANDROID_PACKAGE_SOURCE_DIR && \
|
||||
$$QMAKE_COPY_DIR $$PWD/custom/android/* $$OUT_PWD/ANDROID_PACKAGE_SOURCE_DIR && \
|
||||
$$QMAKE_STREAM_EDITOR -i \"s/package=\\\"org.mavlink.spiri\\\"/package=\\\"$$QGC_ANDROID_PACKAGE\\\"/\" $$ANDROID_PACKAGE_SOURCE_DIR/AndroidManifest.xml
|
||||
android_source_dir_target.depends = FORCE
|
||||
}
|
||||
|
||||
# Custom builds can override android package file
|
||||
|
||||
exists($$ANDROID_PACKAGE_CUSTOM_SOURCE_DIR) {
|
||||
message("Merging$$ $$ANDROID_PACKAGE_QGC_SOURCE_DIR and $$ANDROID_PACKAGE_CUSTOM_SOURCE_DIR to $$ANDROID_PACKAGE_SOURCE_DIR")
|
||||
|
||||
android_source_dir_target.commands = $$android_source_dir_target.commands && \
|
||||
$$QMAKE_COPY_DIR $$ANDROID_PACKAGE_CUSTOM_SOURCE_DIR/* $$ANDROID_PACKAGE_SOURCE_DIR && \
|
||||
$$QMAKE_STREAM_EDITOR -i \"s/package=\\\"org.mavlink.qgroundcontrol\\\"/package=\\\"$$QGC_ANDROID_PACKAGE\\\"/\" $$ANDROID_PACKAGE_SOURCE_DIR/AndroidManifest.xml
|
||||
}
|
||||
|
||||
# Insert package name into manifest file
|
||||
|
||||
android_source_dir_target.commands = $$android_source_dir_target.commands && \
|
||||
$$QMAKE_STREAM_EDITOR -i \"s/%%QGC_INSERT_PACKAGE_NAME%%/$$QGC_ANDROID_PACKAGE/\" $$ANDROID_PACKAGE_SOURCE_DIR/AndroidManifest.xml
|
||||
|
||||
# Update manifest activity intent filter as needed
|
||||
|
||||
QGC_INSERT_ACTIVITY_INTENT_FILTER = ""
|
||||
AndroidHomeApp {
|
||||
# QGC is the android home application
|
||||
QGC_INSERT_ACTIVITY_INTENT_FILTER = $$QGC_INSERT_ACTIVITY_INTENT_FILTER "\r\n<category android:name=\\\"android.intent.category.HOME\\\"\\\/>\r\n<category android:name=\\\"android.intent.category.DEFAULT\\\"\\\/>"
|
||||
}
|
||||
!contains(DEFINES, NO_SERIAL_LINK) {
|
||||
# Add usb device support
|
||||
QGC_INSERT_ACTIVITY_INTENT_FILTER = $$QGC_INSERT_ACTIVITY_INTENT_FILTER "\r\n<action android:name=\\\"android.hardware.usb.action.USB_DEVICE_ATTACHED\\\"\\\/>\r\n<action android:name=\\\"android.hardware.usb.action.USB_DEVICE_DETACHED\\\"\\\/>\r\n<action android:name=\\\"android.hardware.usb.action.USB_ACCESSORY_ATTACHED\\\"\\\/>"
|
||||
}
|
||||
contains(DEFINES, QGC_ENABLE_BLUETOOTH) {
|
||||
QGC_INSERT_ACTIVITY_INTENT_FILTER = $$QGC_INSERT_ACTIVITY_INTENT_FILTER "\r\n<action android:name=\\\"android.bluetooth.device.action.ACL_CONNECTED\\\"\\\/>\r\n<action android:name=\\\"android.bluetooth.device.action.ACL_DISCONNECTED\\\"\\\/>"
|
||||
}
|
||||
android_source_dir_target.commands = $$android_source_dir_target.commands && \
|
||||
$$QMAKE_STREAM_EDITOR -i \"s/<!-- %%QGC_INSERT_ACTIVITY_INTENT_FILTER -->/$$QGC_INSERT_ACTIVITY_INTENT_FILTER/\" $$ANDROID_PACKAGE_SOURCE_DIR/AndroidManifest.xml
|
||||
|
||||
# Update manifest activity meta data as needed
|
||||
|
||||
contains(DEFINES, NO_SERIAL_LINK) {
|
||||
# No need to add anything to manifest
|
||||
android_source_dir_target.commands = $$android_source_dir_target.commands && \
|
||||
$$QMAKE_STREAM_EDITOR -i \"s/<!-- %%QGC_INSERT_ACTIVITY_META_DATA -->//\" $$ANDROID_PACKAGE_SOURCE_DIR/AndroidManifest.xml
|
||||
} else {
|
||||
# Updates the manifest for usb device support
|
||||
android_source_dir_target.commands = $$android_source_dir_target.commands && \
|
||||
$$QMAKE_STREAM_EDITOR -i \"s/<!-- %%QGC_INSERT_ACTIVITY_META_DATA -->/<meta-data android:resource=\\\"@xml\\\/device_filter\\\" android:name=\\\"android.hardware.usb.action.USB_DEVICE_ATTACHED\\\"\\\/>\r\n<meta-data android:resource=\\\"@xml\\\/device_filter\\\" android:name=\\\"android.hardware.usb.action.USB_DEVICE_DETACHED\\\"\\\/>\r\n<meta-data android:resource=\\\"@xml\\\/device_filter\\\" android:name=\\\"android.hardware.usb.action.USB_ACCESSORY_ATTACHED\\\"\\\/>/\" $$ANDROID_PACKAGE_SOURCE_DIR/AndroidManifest.xml
|
||||
}
|
||||
|
||||
# OTHER_FILES makes the specified files be visible in Qt Creator for editing
|
||||
|
||||
exists($$PWD/custom/android/AndroidManifest.xml) {
|
||||
OTHER_FILES += \
|
||||
$$PWD/custom/android/AndroidManifest.xml
|
||||
|
@ -92,6 +45,7 @@ OTHER_FILES += \
|
|||
$$PWD/android/src/org/freedesktop/gstreamer/androidmedia/GstAhsCallback.java \
|
||||
$$PWD/android/src/org/freedesktop/gstreamer/androidmedia/GstAmcOnFrameAvailableListener.java
|
||||
|
||||
|
||||
DISTFILES += \
|
||||
$$PWD/android/gradle/wrapper/gradle-wrapper.jar \
|
||||
$$PWD/android/gradlew \
|
||||
|
@ -99,12 +53,3 @@ DISTFILES += \
|
|||
$$PWD/android/build.gradle \
|
||||
$$PWD/android/gradle/wrapper/gradle-wrapper.properties \
|
||||
$$PWD/android/gradlew.bat
|
||||
|
||||
SOURCES += \
|
||||
$$PWD/android/src/AndroidInterface.cc
|
||||
|
||||
HEADERS += \
|
||||
$$PWD/android/src/AndroidInterface.h
|
||||
|
||||
INCLUDEPATH += \
|
||||
$$PWD/android/src
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0"?>
|
||||
<manifest package="%%QGC_INSERT_PACKAGE_NAME%%" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="-- %%INSERT_VERSION_NAME%% --" android:versionCode="-- %%INSERT_VERSION_CODE%% --" android:installLocation="auto">
|
||||
<?xml version="1.0"?>
|
||||
<manifest package="org.mavlink.spiri" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="-- %%INSERT_VERSION_NAME%% --" android:versionCode="-- %%INSERT_VERSION_CODE%% --" android:installLocation="auto">
|
||||
<!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
|
||||
Remove the comment if you do not require these default permissions. -->
|
||||
<!-- %%INSERT_PERMISSIONS -->
|
||||
|
@ -14,12 +14,15 @@
|
|||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
|
||||
<!-- %%QGC_INSERT_ACTIVITY_INTENT_FILTER -->
|
||||
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>
|
||||
<action android:name="android.hardware.usb.action.USB_DEVICE_DETACHED"/>
|
||||
<action android:name="android.bluetooth.device.action.ACL_CONNECTED"/>
|
||||
<action android:name="android.bluetooth.device.action.ACL_DISCONNECTED"/>
|
||||
<action android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"/>
|
||||
</intent-filter>
|
||||
|
||||
<!-- %%QGC_INSERT_ACTIVITY_META_DATA -->
|
||||
|
||||
<meta-data android:resource="@xml/device_filter" android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"/>
|
||||
<meta-data android:resource="@xml/device_filter" android:name="android.hardware.usb.action.USB_DEVICE_DETACHED"/>
|
||||
<meta-data android:resource="@xml/device_filter" android:name="android.hardware.usb.action.USB_ACCESSORY_ATTACHED"/>
|
||||
<!-- Application arguments -->
|
||||
<!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
|
||||
<!-- Application arguments -->
|
||||
|
@ -95,10 +98,9 @@
|
|||
<uses-feature android:name="android.hardware.location.gps" android:required="false"/>
|
||||
<uses-feature android:name="android.hardware.location.network" android:required="false"/>
|
||||
<uses-feature android:name="android.hardware.location" android:required="false"/>
|
||||
<uses-feature android:name="android.hardware.usb.accessory" android:required="false"/>
|
||||
<uses-feature android:name="android.hardware.usb.accessory"/>
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET"/>
|
||||
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
|
||||
</manifest>
|
||||
|
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 521 B |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 990 B |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 4.6 KiB |
|
@ -1,36 +0,0 @@
|
|||
/****************************************************************************
|
||||
*
|
||||
* Copyright (C) 2018 Pinecone Inc. All rights reserved.
|
||||
*
|
||||
* QGroundControl is licensed according to the terms in the file
|
||||
* COPYING.md in the root of the source code directory.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#include <QtAndroidExtras/QtAndroidExtras>
|
||||
#include <QtAndroidExtras/QAndroidJniObject>
|
||||
#include "QGCApplication.h"
|
||||
#include "AndroidInterface.h"
|
||||
#include <QAndroidJniObject>
|
||||
#include <QtAndroid>
|
||||
|
||||
QString AndroidInterface::getSDCardPath()
|
||||
{
|
||||
QAndroidJniObject value = QAndroidJniObject::callStaticObjectMethod("org/mavlink/qgroundcontrol/QGCActivity", "getSDCardPath",
|
||||
"()Ljava/lang/String;");
|
||||
QString sdCardPath = value.toString();
|
||||
|
||||
QString readPermission("android.permission.READ_EXTERNAL_STORAGE");
|
||||
QString writePermission("android.permission.WRITE_EXTERNAL_STORAGE");
|
||||
|
||||
if (QtAndroid::checkPermission(readPermission) == QtAndroid::PermissionResult::Denied ||
|
||||
QtAndroid::checkPermission(writePermission) == QtAndroid::PermissionResult::Denied) {
|
||||
QtAndroid::PermissionResultMap resultHash = QtAndroid::requestPermissionsSync(QStringList({ readPermission, writePermission }));
|
||||
if (resultHash[readPermission] == QtAndroid::PermissionResult::Denied ||
|
||||
resultHash[writePermission] == QtAndroid::PermissionResult::Denied) {
|
||||
return QString();
|
||||
}
|
||||
}
|
||||
|
||||
return sdCardPath;
|
||||
}
|
|
@ -38,7 +38,6 @@ import java.util.concurrent.Executors;
|
|||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
import java.io.IOException;
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.app.PendingIntent;
|
||||
|
@ -59,8 +58,6 @@ import android.app.PendingIntent;
|
|||
import android.view.WindowManager;
|
||||
import android.os.Bundle;
|
||||
import android.bluetooth.BluetoothDevice;
|
||||
import android.os.storage.StorageManager;
|
||||
import android.os.storage.StorageVolume;
|
||||
|
||||
import com.hoho.android.usbserial.driver.*;
|
||||
import org.qtproject.qt5.android.bindings.QtActivity;
|
||||
|
@ -765,34 +762,5 @@ public class QGCActivity extends QtActivity
|
|||
}
|
||||
}).start();
|
||||
}
|
||||
|
||||
public static String getSDCardPath() {
|
||||
StorageManager storageManager = (StorageManager)_instance.getSystemService(Activity.STORAGE_SERVICE);
|
||||
List<StorageVolume> volumes = storageManager.getStorageVolumes();
|
||||
Method mMethodGetPath;
|
||||
String path = "";
|
||||
for (StorageVolume vol : volumes) {
|
||||
try {
|
||||
mMethodGetPath = vol.getClass().getMethod("getPath");
|
||||
} catch (NoSuchMethodException e) {
|
||||
e.printStackTrace();
|
||||
continue;
|
||||
}
|
||||
try {
|
||||
path = (String) mMethodGetPath.invoke(vol);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
continue;
|
||||
}
|
||||
|
||||
if (vol.isRemovable() == true) {
|
||||
Log.i(TAG, "removable sd card mounted " + path);
|
||||
return path;
|
||||
} else {
|
||||
Log.i(TAG, "storage mounted " + path);
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,345 @@
|
|||
pipeline {
|
||||
agent none
|
||||
stages {
|
||||
|
||||
stage('build') {
|
||||
parallel {
|
||||
|
||||
stage('Android 32 bit Release') {
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
CCACHE_CPP2 = '1'
|
||||
QGC_CONFIG = 'release'
|
||||
QMAKE_VER = "5.12.5/android_armv7/bin/qmake"
|
||||
QT_MKSPEC = "android-clang"
|
||||
BITNESS=32
|
||||
}
|
||||
agent {
|
||||
docker {
|
||||
image 'mavlink/qgc-build-android:2019-11-12'
|
||||
args '-v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'git submodule deinit -f .'
|
||||
sh 'git clean -ff -x -d .'
|
||||
sh 'git submodule update --init --recursive --force'
|
||||
sh 'mkdir build; cd build; ${QT_PATH}/${QMAKE_VER} -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=${QGC_CONFIG} CONFIG+=WarningsAsErrorsOn'
|
||||
sh 'cd build; make -j`nproc --all`'
|
||||
sh 'ccache -s'
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Android 64 bit Release') {
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
CCACHE_CPP2 = '1'
|
||||
QGC_CONFIG = 'release'
|
||||
QMAKE_VER = "5.12.5/android_arm64_v8a/bin/qmake"
|
||||
QT_MKSPEC = "android-clang"
|
||||
BITNESS=64
|
||||
}
|
||||
agent {
|
||||
docker {
|
||||
image 'mavlink/qgc-build-android_arm64_v8a:2019-11-12'
|
||||
args '-v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'git submodule deinit -f .'
|
||||
sh 'git clean -ff -x -d .'
|
||||
sh 'git submodule update --init --recursive --force'
|
||||
sh 'mkdir build; cd build; ${QT_PATH}/${QMAKE_VER} -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=${QGC_CONFIG} CONFIG+=WarningsAsErrorsOn'
|
||||
//sh 'cd build; make -j`nproc --all`' // FIXME
|
||||
sh 'ccache -s'
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Linux Debug') {
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
QGC_CONFIG = 'debug'
|
||||
QMAKE_VER = "5.12.5/gcc_64/bin/qmake"
|
||||
}
|
||||
agent {
|
||||
docker {
|
||||
image 'mavlink/qgc-build-linux:2019-11-12'
|
||||
args '-v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'git submodule deinit -f .'
|
||||
sh 'git clean -ff -x -d .'
|
||||
sh 'git submodule update --init --recursive --force'
|
||||
sh 'mkdir build; cd build; ${QT_PATH}/${QMAKE_VER} -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=${QGC_CONFIG} CONFIG+=WarningsAsErrorsOn'
|
||||
sh 'cd build; make -j`nproc --all`'
|
||||
sh 'ccache -s'
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Linux Debug (cmake)') {
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
CMAKE_BUILD_TYPE = 'Debug'
|
||||
QT_VERSION = "5.12.5"
|
||||
QT_MKSPEC = "gcc_64"
|
||||
}
|
||||
agent {
|
||||
docker {
|
||||
image 'mavlink/qgc-build-linux:2019-11-12'
|
||||
args '-v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'make distclean'
|
||||
sh 'make submodulesclean'
|
||||
sh 'make linux'
|
||||
//sh 'make linux check' // TODO: needs Xvfb or similar
|
||||
sh 'ccache -s'
|
||||
sh 'make distclean'
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Linux Release') {
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
QGC_CONFIG = 'release'
|
||||
QMAKE_VER = "5.12.5/gcc_64/bin/qmake"
|
||||
}
|
||||
agent {
|
||||
docker {
|
||||
image 'mavlink/qgc-build-linux:2019-11-12'
|
||||
args '-v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'git submodule deinit -f .'
|
||||
sh 'git clean -ff -x -d .'
|
||||
sh 'git submodule update --init --recursive --force'
|
||||
withCredentials([file(credentialsId: 'QGC_Airmap_api_key', variable: 'AIRMAP_API_HEADER')]) {
|
||||
sh 'cp $AIRMAP_API_HEADER ${WORKSPACE}/src/Airmap/Airmap_api_key.h'
|
||||
}
|
||||
sh 'mkdir build; cd build; ${QT_PATH}/${QMAKE_VER} -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=${QGC_CONFIG} CONFIG+=WarningsAsErrorsOn'
|
||||
//sh 'cd build; make -j`nproc --all`' // TODO: increase slave memory
|
||||
sh 'cd build; make'
|
||||
sh 'ccache -s'
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Linux Release (cmake)') {
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
CMAKE_BUILD_TYPE = 'Release'
|
||||
QT_VERSION = "5.12.5"
|
||||
QT_MKSPEC = "gcc_64"
|
||||
}
|
||||
agent {
|
||||
docker {
|
||||
image 'mavlink/qgc-build-linux:2019-11-12'
|
||||
args '-v ${CCACHE_DIR}:${CCACHE_DIR}:rw'
|
||||
}
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'make distclean'
|
||||
sh 'make submodulesclean'
|
||||
sh 'make linux'
|
||||
sh 'ccache -s'
|
||||
sh 'make distclean'
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('OSX Debug') {
|
||||
agent {
|
||||
node {
|
||||
label 'mac'
|
||||
}
|
||||
}
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
QGC_CONFIG = 'debug'
|
||||
QMAKE_VER = "5.11.0/clang_64/bin/qmake"
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'git submodule deinit -f .'
|
||||
sh 'git clean -ff -x -d .'
|
||||
sh 'git submodule update --init --recursive --force'
|
||||
sh 'mkdir build; cd build; ${QT_PATH}/${QMAKE_VER} -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=${QGC_CONFIG} CONFIG+=WarningsAsErrorsOn'
|
||||
sh 'cd build; make -j`sysctl -n hw.ncpu`'
|
||||
sh 'ccache -s'
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('OSX Debug (cmake)') {
|
||||
agent {
|
||||
node {
|
||||
label 'mac'
|
||||
}
|
||||
}
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
CCACHE_CPP2 = '1'
|
||||
CMAKE_BUILD_TYPE = 'Debug'
|
||||
QT_VERSION = "5.11.0"
|
||||
QT_MKSPEC = "clang_64"
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'make distclean'
|
||||
sh 'make submodulesclean'
|
||||
sh 'make mac'
|
||||
sh 'ccache -s'
|
||||
sh 'make distclean'
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('OSX Release') {
|
||||
agent {
|
||||
node {
|
||||
label 'mac'
|
||||
}
|
||||
}
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
CCACHE_CPP2 = '1'
|
||||
QGC_CONFIG = 'installer'
|
||||
QMAKE_VER = "5.11.0/clang_64/bin/qmake"
|
||||
}
|
||||
stages {
|
||||
stage('Clean Checkout') {
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'git submodule deinit -f .'
|
||||
sh 'git clean -ff -x -d .'
|
||||
sh 'git submodule update --init --recursive --force'
|
||||
}
|
||||
}
|
||||
|
||||
stage('Add Airmap API key') {
|
||||
steps {
|
||||
withCredentials([file(credentialsId: 'QGC_Airmap_api_key', variable: 'AIRMAP_API_HEADER')]) {
|
||||
sh 'cp $AIRMAP_API_HEADER ${WORKSPACE}/src/Airmap/Airmap_api_key.h'
|
||||
}
|
||||
}
|
||||
when {
|
||||
anyOf {
|
||||
branch 'master';
|
||||
branch 'Stable_*'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build OSX Release') {
|
||||
steps {
|
||||
sh 'mkdir build; cd build; ${QT_PATH}/${QMAKE_VER} -r ${WORKSPACE}/qgroundcontrol.pro CONFIG+=${QGC_CONFIG} CONFIG+=WarningsAsErrorsOn'
|
||||
sh 'cd build; make -j`sysctl -n hw.ncpu`'
|
||||
archiveArtifacts(artifacts: 'build/**/*.dmg', fingerprint: true)
|
||||
sh 'ccache -s'
|
||||
}
|
||||
}
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('OSX Release (cmake)') {
|
||||
agent {
|
||||
node {
|
||||
label 'mac'
|
||||
}
|
||||
}
|
||||
environment {
|
||||
CCACHE_BASEDIR = "${env.WORKSPACE}"
|
||||
CCACHE_CPP2 = '1'
|
||||
CMAKE_BUILD_TYPE = 'Release'
|
||||
QT_VERSION = "5.11.0"
|
||||
QT_MKSPEC = "clang_64"
|
||||
}
|
||||
steps {
|
||||
sh 'export'
|
||||
sh 'ccache -z'
|
||||
sh 'make distclean'
|
||||
sh 'make submodulesclean'
|
||||
sh 'make mac'
|
||||
sh 'ccache -s'
|
||||
sh 'make distclean'
|
||||
}
|
||||
post {
|
||||
cleanup {
|
||||
sh 'git clean -ff -x -d .'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} // parallel
|
||||
} // stage('build')
|
||||
} // stages
|
||||
|
||||
environment {
|
||||
CCACHE_DIR = '/tmp/ccache'
|
||||
QT_FATAL_WARNINGS = '1'
|
||||
}
|
||||
|
||||
options {
|
||||
buildDiscarder(logRotator(numToKeepStr: '10', artifactDaysToKeepStr: '30'))
|
||||
timeout(time: 60, unit: 'MINUTES')
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
#!/bin/bash
|
||||
if [ ! -d /Volumes/RAMDisk ] ; then
|
||||
echo 'RAM Disk not found'
|
||||
echo 'Only used for App Store builds. It will not work on your computer.'
|
||||
exit 1
|
||||
fi
|
||||
#-- Set to my local installation
|
||||
QMAKE=/Users/gus/Applications/Qt/5.12.2/ios/bin/qmake
|
||||
#-- Using Travis variables as this will eventually live there
|
||||
SHADOW_BUILD_DIR=/Volumes/RAMDisk/build-qgroundcontrol-iOS-Release
|
||||
TRAVIS_BUILD_DIR=/Users/gus/github/work/UpstreamQGC
|
||||
#-- Build it
|
||||
mkdir -p ${SHADOW_BUILD_DIR} &&
|
||||
cd ${SHADOW_BUILD_DIR} &&
|
||||
#-- Create project only (build using Xcode)
|
||||
${QMAKE} -r ${TRAVIS_BUILD_DIR}/qgroundcontrol.pro CONFIG+=WarningsAsErrorsOn CONFIG-=debug_and_release CONFIG+=release CONFIG+=ForAppStore
|
||||
sed -i .bak 's/com.yourcompany.${PRODUCT_NAME:rfc1034identifier}/org.QGroundControl.qgc/' ${SHADOW_BUILD_DIR}/QGroundControl.xcodeproj/project.pbxproj
|
||||
#-- Create and build
|
||||
#${QMAKE} -r ${TRAVIS_BUILD_DIR}/qgroundcontrol.pro CONFIG+=WarningsAsErrorsOn CONFIG-=debug_and_release CONFIG+=release CONFIG+=ForAppStore &&
|
||||
#xcodebuild -configuration Release -xcconfig ${TRAVIS_BUILD_DIR}/ios/qgroundcontrol_appstore.xcconfig
|
|
@ -1,301 +1,301 @@
|
|||
<RCC>
|
||||
<qresource prefix="/InstrumentValueIcons">
|
||||
<file alias="stethoscope.svg">../resources/InstrumentValueIcons/stethoscope.svg</file>
|
||||
<file alias="inbox-check.svg">../resources/InstrumentValueIcons/inbox-check.svg</file>
|
||||
<file alias="cheveron-up.svg">../resources/InstrumentValueIcons/cheveron-up.svg</file>
|
||||
<file alias="location-shopping.svg">../resources/InstrumentValueIcons/location-shopping.svg</file>
|
||||
<file alias="cheveron-right.svg">../resources/InstrumentValueIcons/cheveron-right.svg</file>
|
||||
<file alias="bookmark.svg">../resources/InstrumentValueIcons/bookmark.svg</file>
|
||||
<file alias="travel-case.svg">../resources/InstrumentValueIcons/travel-case.svg</file>
|
||||
<file alias="user-solid-square.svg">../resources/InstrumentValueIcons/user-solid-square.svg</file>
|
||||
<file alias="arrow-simple-up.svg">../resources/InstrumentValueIcons/arrow-simple-up.svg</file>
|
||||
<file alias="list.svg">../resources/InstrumentValueIcons/list.svg</file>
|
||||
<file alias="shuffle.svg">../resources/InstrumentValueIcons/shuffle.svg</file>
|
||||
<file alias="travel-walk.svg">../resources/InstrumentValueIcons/travel-walk.svg</file>
|
||||
<file alias="checkmark.svg">../resources/InstrumentValueIcons/checkmark.svg</file>
|
||||
<file alias="trophy.svg">../resources/InstrumentValueIcons/trophy.svg</file>
|
||||
<file alias="mood-happy-solid.svg">../resources/InstrumentValueIcons/mood-happy-solid.svg</file>
|
||||
<file alias="cog.svg">../resources/InstrumentValueIcons/cog.svg</file>
|
||||
<file alias="text-box.svg">../resources/InstrumentValueIcons/text-box.svg</file>
|
||||
<file alias="video-camera.svg">../resources/InstrumentValueIcons/video-camera.svg</file>
|
||||
<file alias="backward-step.svg">../resources/InstrumentValueIcons/backward-step.svg</file>
|
||||
<file alias="view-column.svg">../resources/InstrumentValueIcons/view-column.svg</file>
|
||||
<file alias="add-outline.svg">../resources/InstrumentValueIcons/add-outline.svg</file>
|
||||
<file alias="battery-low.svg">../resources/InstrumentValueIcons/battery-low.svg</file>
|
||||
<file alias="bookmark copy 2.svg">../resources/InstrumentValueIcons/bookmark copy 2.svg</file>
|
||||
<file alias="volume-down.svg">../resources/InstrumentValueIcons/volume-down.svg</file>
|
||||
<file alias="travel-taxi-cab.svg">../resources/InstrumentValueIcons/travel-taxi-cab.svg</file>
|
||||
<file alias="camera.svg">../resources/InstrumentValueIcons/camera.svg</file>
|
||||
<file alias="apparel.svg">../resources/InstrumentValueIcons/apparel.svg</file>
|
||||
<file alias="checkmark-outline.svg">../resources/InstrumentValueIcons/checkmark-outline.svg</file>
|
||||
<file alias="envelope.svg">../resources/InstrumentValueIcons/envelope.svg</file>
|
||||
<file alias="flag.svg">../resources/InstrumentValueIcons/flag.svg</file>
|
||||
<file alias="window-new.svg">../resources/InstrumentValueIcons/window-new.svg</file>
|
||||
<file alias="arrow-simple-right.svg">../resources/InstrumentValueIcons/arrow-simple-right.svg</file>
|
||||
<file alias="filter.svg">../resources/InstrumentValueIcons/filter.svg</file>
|
||||
<file alias="minus-outline.svg">../resources/InstrumentValueIcons/minus-outline.svg</file>
|
||||
<file alias="edit-cut.svg">../resources/InstrumentValueIcons/edit-cut.svg</file>
|
||||
<file alias="volume-off.svg">../resources/InstrumentValueIcons/volume-off.svg</file>
|
||||
<file alias="zoom-in.svg">../resources/InstrumentValueIcons/zoom-in.svg</file>
|
||||
<file alias="pin.svg">../resources/InstrumentValueIcons/pin.svg</file>
|
||||
<file alias="layers.svg">../resources/InstrumentValueIcons/layers.svg</file>
|
||||
<file alias="airplane.svg">../resources/InstrumentValueIcons/airplane.svg</file>
|
||||
<file alias="view-tile.svg">../resources/InstrumentValueIcons/view-tile.svg</file>
|
||||
<file alias="location-marina.svg">../resources/InstrumentValueIcons/location-marina.svg</file>
|
||||
<file alias="border-top.svg">../resources/InstrumentValueIcons/border-top.svg</file>
|
||||
<file alias="refresh.svg">../resources/InstrumentValueIcons/refresh.svg</file>
|
||||
<file alias="travel-bus.svg">../resources/InstrumentValueIcons/travel-bus.svg</file>
|
||||
<file alias="add-solid.svg">../resources/InstrumentValueIcons/add-solid.svg</file>
|
||||
<file alias="notifications.svg">../resources/InstrumentValueIcons/notifications.svg</file>
|
||||
<file alias="indent-decrease.svg">../resources/InstrumentValueIcons/indent-decrease.svg</file>
|
||||
<file alias="badge.svg">../resources/InstrumentValueIcons/badge.svg</file>
|
||||
<file alias="align-center.svg">../resources/InstrumentValueIcons/align-center.svg</file>
|
||||
<file alias="queue.svg">../resources/InstrumentValueIcons/queue.svg</file>
|
||||
<file alias="conversation.svg">../resources/InstrumentValueIcons/conversation.svg</file>
|
||||
<file alias="inbox-download.svg">../resources/InstrumentValueIcons/inbox-download.svg</file>
|
||||
<file alias="cloud.svg">../resources/InstrumentValueIcons/cloud.svg</file>
|
||||
<file alias="text-decoration.svg">../resources/InstrumentValueIcons/text-decoration.svg</file>
|
||||
<file alias="date-add.svg">../resources/InstrumentValueIcons/date-add.svg</file>
|
||||
<file alias="network.svg">../resources/InstrumentValueIcons/network.svg</file>
|
||||
<file alias="list-add.svg">../resources/InstrumentValueIcons/list-add.svg</file>
|
||||
<file alias="film.svg">../resources/InstrumentValueIcons/film.svg</file>
|
||||
<file alias="book-reference.svg">../resources/InstrumentValueIcons/book-reference.svg</file>
|
||||
<file alias="star-full.svg">../resources/InstrumentValueIcons/star-full.svg</file>
|
||||
<file alias="information-outline.svg">../resources/InstrumentValueIcons/information-outline.svg</file>
|
||||
<file alias="user-group.svg">../resources/InstrumentValueIcons/user-group.svg</file>
|
||||
<file alias="hard-drive.svg">../resources/InstrumentValueIcons/hard-drive.svg</file>
|
||||
<file alias="chart-bar.svg">../resources/InstrumentValueIcons/chart-bar.svg</file>
|
||||
<file alias="box.svg">../resources/InstrumentValueIcons/box.svg</file>
|
||||
<file alias="music-notes.svg">../resources/InstrumentValueIcons/music-notes.svg</file>
|
||||
<file alias="bookmark copy 3.svg">../resources/InstrumentValueIcons/bookmark copy 3.svg</file>
|
||||
<file alias="anchor.svg">../resources/InstrumentValueIcons/anchor.svg</file>
|
||||
<file alias="mood-sad-solid.svg">../resources/InstrumentValueIcons/mood-sad-solid.svg</file>
|
||||
<file alias="coffee.svg">../resources/InstrumentValueIcons/coffee.svg</file>
|
||||
<file alias="mood-neutral-outline.svg">../resources/InstrumentValueIcons/mood-neutral-outline.svg</file>
|
||||
<file alias="menu.svg">../resources/InstrumentValueIcons/menu.svg</file>
|
||||
<file alias="fast-rewind.svg">../resources/InstrumentValueIcons/fast-rewind.svg</file>
|
||||
<file alias="user-add.svg">../resources/InstrumentValueIcons/user-add.svg</file>
|
||||
<file alias="mobile-devices.svg">../resources/InstrumentValueIcons/mobile-devices.svg</file>
|
||||
<file alias="time.svg">../resources/InstrumentValueIcons/time.svg</file>
|
||||
<file alias="subdirectory-left.svg">../resources/InstrumentValueIcons/subdirectory-left.svg</file>
|
||||
<file alias="window.svg">../resources/InstrumentValueIcons/window.svg</file>
|
||||
<file alias="hand-stop.svg">../resources/InstrumentValueIcons/hand-stop.svg</file>
|
||||
<file alias="beverage.svg">../resources/InstrumentValueIcons/beverage.svg</file>
|
||||
<file alias="volume-mute.svg">../resources/InstrumentValueIcons/volume-mute.svg</file>
|
||||
<file alias="reply-all.svg">../resources/InstrumentValueIcons/reply-all.svg</file>
|
||||
<file alias="location-food.svg">../resources/InstrumentValueIcons/location-food.svg</file>
|
||||
<file alias="arrow-thin-left.svg">../resources/InstrumentValueIcons/arrow-thin-left.svg</file>
|
||||
<file alias="folder-outline.svg">../resources/InstrumentValueIcons/folder-outline.svg</file>
|
||||
<file alias="dial-pad.svg">../resources/InstrumentValueIcons/dial-pad.svg</file>
|
||||
<file alias="battery-half.svg">../resources/InstrumentValueIcons/battery-half.svg</file>
|
||||
<file alias="trash.svg">../resources/InstrumentValueIcons/trash.svg</file>
|
||||
<file alias="notification.svg">../resources/InstrumentValueIcons/notification.svg</file>
|
||||
<file alias="send.svg">../resources/InstrumentValueIcons/send.svg</file>
|
||||
<file alias="station.svg">../resources/InstrumentValueIcons/station.svg</file>
|
||||
<file alias="pen-tool.svg">../resources/InstrumentValueIcons/pen-tool.svg</file>
|
||||
<file alias="gift.svg">../resources/InstrumentValueIcons/gift.svg</file>
|
||||
<file alias="arrow-outline-down.svg">../resources/InstrumentValueIcons/arrow-outline-down.svg</file>
|
||||
<file alias="ticket.svg">../resources/InstrumentValueIcons/ticket.svg</file>
|
||||
<file alias="border-none.svg">../resources/InstrumentValueIcons/border-none.svg</file>
|
||||
<file alias="format-italic.svg">../resources/InstrumentValueIcons/format-italic.svg</file>
|
||||
<file alias="user-solid-circle.svg">../resources/InstrumentValueIcons/user-solid-circle.svg</file>
|
||||
<file alias="edit-pencil.svg">../resources/InstrumentValueIcons/edit-pencil.svg</file>
|
||||
<file alias="step-forward.svg">../resources/InstrumentValueIcons/step-forward.svg</file>
|
||||
<file alias="edit-copy.svg">../resources/InstrumentValueIcons/edit-copy.svg</file>
|
||||
<file alias="globe.svg">../resources/InstrumentValueIcons/globe.svg</file>
|
||||
<file alias="arrow-thin-right.svg">../resources/InstrumentValueIcons/arrow-thin-right.svg</file>
|
||||
<file alias="inbox-full.svg">../resources/InstrumentValueIcons/inbox-full.svg</file>
|
||||
<file alias="mood-sad-outline.svg">../resources/InstrumentValueIcons/mood-sad-outline.svg</file>
|
||||
<file alias="bug.svg">../resources/InstrumentValueIcons/bug.svg</file>
|
||||
<file alias="question.svg">../resources/InstrumentValueIcons/question.svg</file>
|
||||
<file alias="dots-horizontal-double.svg">../resources/InstrumentValueIcons/dots-horizontal-double.svg</file>
|
||||
<file alias="format-bold.svg">../resources/InstrumentValueIcons/format-bold.svg</file>
|
||||
<file alias="close-outline.svg">../resources/InstrumentValueIcons/close-outline.svg</file>
|
||||
<file alias="dots-horizontal-triple.svg">../resources/InstrumentValueIcons/dots-horizontal-triple.svg</file>
|
||||
<file alias="format-text-size.svg">../resources/InstrumentValueIcons/format-text-size.svg</file>
|
||||
<file alias="computer-laptop.svg">../resources/InstrumentValueIcons/computer-laptop.svg</file>
|
||||
<file alias="arrow-thick-down.svg">../resources/InstrumentValueIcons/arrow-thick-down.svg</file>
|
||||
<file alias="cheveron-outline-down.svg">../resources/InstrumentValueIcons/cheveron-outline-down.svg</file>
|
||||
<file alias="travel.svg">../resources/InstrumentValueIcons/travel.svg</file>
|
||||
<file alias="usb.svg">../resources/InstrumentValueIcons/usb.svg</file>
|
||||
<file alias="cheveron-down.svg">../resources/InstrumentValueIcons/cheveron-down.svg</file>
|
||||
<file alias="key.svg">../resources/InstrumentValueIcons/key.svg</file>
|
||||
<file alias="tools copy.svg">../resources/InstrumentValueIcons/tools copy.svg</file>
|
||||
<file alias="album.svg">../resources/InstrumentValueIcons/album.svg</file>
|
||||
<file alias="arrow-base-down.svg">../resources/InstrumentValueIcons/arrow-base-down.svg</file>
|
||||
<file alias="copy.svg">../resources/InstrumentValueIcons/copy.svg</file>
|
||||
<file alias="align-left.svg">../resources/InstrumentValueIcons/align-left.svg</file>
|
||||
<file alias="explore.svg">../resources/InstrumentValueIcons/explore.svg</file>
|
||||
<file alias="watch.svg">../resources/InstrumentValueIcons/watch.svg</file>
|
||||
<file alias="playlist.svg">../resources/InstrumentValueIcons/playlist.svg</file>
|
||||
<file alias="pause-outline.svg">../resources/InstrumentValueIcons/pause-outline.svg</file>
|
||||
<file alias="location-current.svg">../resources/InstrumentValueIcons/location-current.svg</file>
|
||||
<file alias="home.svg">../resources/InstrumentValueIcons/home.svg</file>
|
||||
<file alias="battery-full.svg">../resources/InstrumentValueIcons/battery-full.svg</file>
|
||||
<file alias="format-font-size.svg">../resources/InstrumentValueIcons/format-font-size.svg</file>
|
||||
<file alias="exclamation-solid.svg">../resources/InstrumentValueIcons/exclamation-solid.svg</file>
|
||||
<file alias="music-artist.svg">../resources/InstrumentValueIcons/music-artist.svg</file>
|
||||
<file alias="music-album.svg">../resources/InstrumentValueIcons/music-album.svg</file>
|
||||
<file alias="chart-pie.svg">../resources/InstrumentValueIcons/chart-pie.svg</file>
|
||||
<file alias="photo.svg">../resources/InstrumentValueIcons/photo.svg</file>
|
||||
<file alias="lock-open.svg">../resources/InstrumentValueIcons/lock-open.svg</file>
|
||||
<file alias="inbox.svg">../resources/InstrumentValueIcons/inbox.svg</file>
|
||||
<file alias="hot.svg">../resources/InstrumentValueIcons/hot.svg</file>
|
||||
<file alias="browser-window-new.svg">../resources/InstrumentValueIcons/browser-window-new.svg</file>
|
||||
<file alias="zoom-out.svg">../resources/InstrumentValueIcons/zoom-out.svg</file>
|
||||
<file alias="search.svg">../resources/InstrumentValueIcons/search.svg</file>
|
||||
<file alias="backward.svg">../resources/InstrumentValueIcons/backward.svg</file>
|
||||
<file alias="store-front.svg">../resources/InstrumentValueIcons/store-front.svg</file>
|
||||
<file alias="user.svg">../resources/InstrumentValueIcons/user.svg</file>
|
||||
<file alias="lock-closed.svg">../resources/InstrumentValueIcons/lock-closed.svg</file>
|
||||
<file alias="load-balancer.svg">../resources/InstrumentValueIcons/load-balancer.svg</file>
|
||||
<file alias="border-all.svg">../resources/InstrumentValueIcons/border-all.svg</file>
|
||||
<file alias="location-gas-station.svg">../resources/InstrumentValueIcons/location-gas-station.svg</file>
|
||||
<file alias="news-paper.svg">../resources/InstrumentValueIcons/news-paper.svg</file>
|
||||
<file alias="align-justified.svg">../resources/InstrumentValueIcons/align-justified.svg</file>
|
||||
<file alias="color-palette.svg">../resources/InstrumentValueIcons/color-palette.svg</file>
|
||||
<file alias="radio.svg">../resources/InstrumentValueIcons/radio.svg</file>
|
||||
<file alias="reply.svg">../resources/InstrumentValueIcons/reply.svg</file>
|
||||
<file alias="target.svg">../resources/InstrumentValueIcons/target.svg</file>
|
||||
<file alias="border-vertical.svg">../resources/InstrumentValueIcons/border-vertical.svg</file>
|
||||
<file alias="duplicate.svg">../resources/InstrumentValueIcons/duplicate.svg</file>
|
||||
<file alias="arrow-thick-right.svg">../resources/InstrumentValueIcons/arrow-thick-right.svg</file>
|
||||
<file alias="exclamation-outline.svg">../resources/InstrumentValueIcons/exclamation-outline.svg</file>
|
||||
<file alias="bolt.svg">../resources/InstrumentValueIcons/bolt.svg</file>
|
||||
<file alias="shopping-cart.svg">../resources/InstrumentValueIcons/shopping-cart.svg</file>
|
||||
<file alias="calendar.svg">../resources/InstrumentValueIcons/calendar.svg</file>
|
||||
<file alias="travel-train.svg">../resources/InstrumentValueIcons/travel-train.svg</file>
|
||||
<file alias="save-disk.svg">../resources/InstrumentValueIcons/save-disk.svg</file>
|
||||
<file alias="cloud-upload.svg">../resources/InstrumentValueIcons/cloud-upload.svg</file>
|
||||
<file alias="dashboard.svg">../resources/InstrumentValueIcons/dashboard.svg</file>
|
||||
<file alias="arrow-simple-down.svg">../resources/InstrumentValueIcons/arrow-simple-down.svg</file>
|
||||
<file alias="computer-desktop.svg">../resources/InstrumentValueIcons/computer-desktop.svg</file>
|
||||
<file alias="music-playlist.svg">../resources/InstrumentValueIcons/music-playlist.svg</file>
|
||||
<file alias="share-01.svg">../resources/InstrumentValueIcons/share-01.svg</file>
|
||||
<file alias="travel-car.svg">../resources/InstrumentValueIcons/travel-car.svg</file>
|
||||
<file alias="border-horizontal.svg">../resources/InstrumentValueIcons/border-horizontal.svg</file>
|
||||
<file alias="fast-forward.svg">../resources/InstrumentValueIcons/fast-forward.svg</file>
|
||||
<file alias="keyboard.svg">../resources/InstrumentValueIcons/keyboard.svg</file>
|
||||
<file alias="chat-bubble-dots.svg">../resources/InstrumentValueIcons/chat-bubble-dots.svg</file>
|
||||
<file alias="folder.svg">../resources/InstrumentValueIcons/folder.svg</file>
|
||||
<file alias="document.svg">../resources/InstrumentValueIcons/document.svg</file>
|
||||
<file alias="format-underline.svg">../resources/InstrumentValueIcons/format-underline.svg</file>
|
||||
<file alias="arrow-thin-down.svg">../resources/InstrumentValueIcons/arrow-thin-down.svg</file>
|
||||
<file alias="cheveron-outline-left.svg">../resources/InstrumentValueIcons/cheveron-outline-left.svg</file>
|
||||
<file alias="thumbs-down.svg">../resources/InstrumentValueIcons/thumbs-down.svg</file>
|
||||
<file alias="stroke-width.svg">../resources/InstrumentValueIcons/stroke-width.svg</file>
|
||||
<file alias="yin-yang.svg">../resources/InstrumentValueIcons/yin-yang.svg</file>
|
||||
<file alias="thumbs-up.svg">../resources/InstrumentValueIcons/thumbs-up.svg</file>
|
||||
<file alias="cheveron-left.svg">../resources/InstrumentValueIcons/cheveron-left.svg</file>
|
||||
<file alias="radar.svg">../resources/InstrumentValueIcons/radar.svg</file>
|
||||
<file alias="play.svg">../resources/InstrumentValueIcons/play.svg</file>
|
||||
<file alias="bluetooth.svg">../resources/InstrumentValueIcons/bluetooth.svg</file>
|
||||
<file alias="clipboard.svg">../resources/InstrumentValueIcons/clipboard.svg</file>
|
||||
<file alias="mood-happy-outline.svg">../resources/InstrumentValueIcons/mood-happy-outline.svg</file>
|
||||
<file alias="reload.svg">../resources/InstrumentValueIcons/reload.svg</file>
|
||||
<file alias="information-solid.svg">../resources/InstrumentValueIcons/information-solid.svg</file>
|
||||
<file alias="php-elephant.svg">../resources/InstrumentValueIcons/php-elephant.svg</file>
|
||||
<file alias="bookmark-outline-add.svg">../resources/InstrumentValueIcons/bookmark-outline-add.svg</file>
|
||||
<file alias="border-inner.svg">../resources/InstrumentValueIcons/border-inner.svg</file>
|
||||
<file alias="brightness-up.svg">../resources/InstrumentValueIcons/brightness-up.svg</file>
|
||||
<file alias="view-hide.svg">../resources/InstrumentValueIcons/view-hide.svg</file>
|
||||
<file alias="forward-step.svg">../resources/InstrumentValueIcons/forward-step.svg</file>
|
||||
<file alias="cheveron-outline-up.svg">../resources/InstrumentValueIcons/cheveron-outline-up.svg</file>
|
||||
<file alias="cheveron-outline-right.svg">../resources/InstrumentValueIcons/cheveron-outline-right.svg</file>
|
||||
<file alias="share.svg">../resources/InstrumentValueIcons/share.svg</file>
|
||||
<file alias="border-right.svg">../resources/InstrumentValueIcons/border-right.svg</file>
|
||||
<file alias="location-hotel.svg">../resources/InstrumentValueIcons/location-hotel.svg</file>
|
||||
<file alias="brightness-down.svg">../resources/InstrumentValueIcons/brightness-down.svg</file>
|
||||
<file alias="light-bulb.svg">../resources/InstrumentValueIcons/light-bulb.svg</file>
|
||||
<file alias="location-park.svg">../resources/InstrumentValueIcons/location-park.svg</file>
|
||||
<file alias="factory.svg">../resources/InstrumentValueIcons/factory.svg</file>
|
||||
<file alias="stand-by.svg">../resources/InstrumentValueIcons/stand-by.svg</file>
|
||||
<file alias="swap.svg">../resources/InstrumentValueIcons/swap.svg</file>
|
||||
<file alias="portfolio.svg">../resources/InstrumentValueIcons/portfolio.svg</file>
|
||||
<file alias="arrow-outline-right.svg">../resources/InstrumentValueIcons/arrow-outline-right.svg</file>
|
||||
<file alias="tuning.svg">../resources/InstrumentValueIcons/tuning.svg</file>
|
||||
<file alias="view-carousel.svg">../resources/InstrumentValueIcons/view-carousel.svg</file>
|
||||
<file alias="calculator.svg">../resources/InstrumentValueIcons/calculator.svg</file>
|
||||
<file alias="show-sidebar.svg">../resources/InstrumentValueIcons/show-sidebar.svg</file>
|
||||
<file alias="step-backward.svg">../resources/InstrumentValueIcons/step-backward.svg</file>
|
||||
<file alias="tablet.svg">../resources/InstrumentValueIcons/tablet.svg</file>
|
||||
<file alias="backspace.svg">../resources/InstrumentValueIcons/backspace.svg</file>
|
||||
<file alias="map.svg">../resources/InstrumentValueIcons/map.svg</file>
|
||||
<file alias="arrow-simple-left.svg">../resources/InstrumentValueIcons/arrow-simple-left.svg</file>
|
||||
<file alias="view-show.svg">../resources/InstrumentValueIcons/view-show.svg</file>
|
||||
<file alias="adjust.svg">../resources/InstrumentValueIcons/adjust.svg</file>
|
||||
<file alias="border-bottom.svg">../resources/InstrumentValueIcons/border-bottom.svg</file>
|
||||
<file alias="document-add.svg">../resources/InstrumentValueIcons/document-add.svg</file>
|
||||
<file alias="plugin.svg">../resources/InstrumentValueIcons/plugin.svg</file>
|
||||
<file alias="navigation-more.svg">../resources/InstrumentValueIcons/navigation-more.svg</file>
|
||||
<file alias="browser-window-open.svg">../resources/InstrumentValueIcons/browser-window-open.svg</file>
|
||||
<file alias="flashlight.svg">../resources/InstrumentValueIcons/flashlight.svg</file>
|
||||
<file alias="currency-dollar.svg">../resources/InstrumentValueIcons/currency-dollar.svg</file>
|
||||
<file alias="close-solid.svg">../resources/InstrumentValueIcons/close-solid.svg</file>
|
||||
<file alias="vector.svg">../resources/InstrumentValueIcons/vector.svg</file>
|
||||
<file alias="paste.svg">../resources/InstrumentValueIcons/paste.svg</file>
|
||||
<file alias="arrow-outline-up.svg">../resources/InstrumentValueIcons/arrow-outline-up.svg</file>
|
||||
<file alias="pause.svg">../resources/InstrumentValueIcons/pause.svg</file>
|
||||
<file alias="artist.svg">../resources/InstrumentValueIcons/artist.svg</file>
|
||||
<file alias="hour-glass.svg">../resources/InstrumentValueIcons/hour-glass.svg</file>
|
||||
<file alias="browser-window.svg">../resources/InstrumentValueIcons/browser-window.svg</file>
|
||||
<file alias="border-left.svg">../resources/InstrumentValueIcons/border-left.svg</file>
|
||||
<file alias="tag.svg">../resources/InstrumentValueIcons/tag.svg</file>
|
||||
<file alias="translate.svg">../resources/InstrumentValueIcons/translate.svg</file>
|
||||
<file alias="mood-neutral-solid.svg">../resources/InstrumentValueIcons/mood-neutral-solid.svg</file>
|
||||
<file alias="pause-solid.svg">../resources/InstrumentValueIcons/pause-solid.svg</file>
|
||||
<file alias="phone.svg">../resources/InstrumentValueIcons/phone.svg</file>
|
||||
<file alias="heart.svg">../resources/InstrumentValueIcons/heart.svg</file>
|
||||
<file alias="headphones.svg">../resources/InstrumentValueIcons/headphones.svg</file>
|
||||
<file alias="servers.svg">../resources/InstrumentValueIcons/servers.svg</file>
|
||||
<file alias="close.svg">../resources/InstrumentValueIcons/close.svg</file>
|
||||
<file alias="directions.svg">../resources/InstrumentValueIcons/directions.svg</file>
|
||||
<file alias="arrow-thick-left.svg">../resources/InstrumentValueIcons/arrow-thick-left.svg</file>
|
||||
<file alias="play-outline.svg">../resources/InstrumentValueIcons/play-outline.svg</file>
|
||||
<file alias="arrow-thick-up.svg">../resources/InstrumentValueIcons/arrow-thick-up.svg</file>
|
||||
<file alias="code.svg">../resources/InstrumentValueIcons/code.svg</file>
|
||||
<file alias="thermometer.svg">../resources/InstrumentValueIcons/thermometer.svg</file>
|
||||
<file alias="location-restroom.svg">../resources/InstrumentValueIcons/location-restroom.svg</file>
|
||||
<file alias="list-bullet.svg">../resources/InstrumentValueIcons/list-bullet.svg</file>
|
||||
<file alias="wrench.svg">../resources/InstrumentValueIcons/wrench.svg</file>
|
||||
<file alias="compose.svg">../resources/InstrumentValueIcons/compose.svg</file>
|
||||
<file alias="at-symbol.svg">../resources/InstrumentValueIcons/at-symbol.svg</file>
|
||||
<file alias="library.svg">../resources/InstrumentValueIcons/library.svg</file>
|
||||
<file alias="view-list.svg">../resources/InstrumentValueIcons/view-list.svg</file>
|
||||
<file alias="timer.svg">../resources/InstrumentValueIcons/timer.svg</file>
|
||||
<file alias="window-open.svg">../resources/InstrumentValueIcons/window-open.svg</file>
|
||||
<file alias="mouse.svg">../resources/InstrumentValueIcons/mouse.svg</file>
|
||||
<file alias="buoy.svg">../resources/InstrumentValueIcons/buoy.svg</file>
|
||||
<file alias="subdirectory-right.svg">../resources/InstrumentValueIcons/subdirectory-right.svg</file>
|
||||
<file alias="volume-up.svg">../resources/InstrumentValueIcons/volume-up.svg</file>
|
||||
<file alias="edit-crop.svg">../resources/InstrumentValueIcons/edit-crop.svg</file>
|
||||
<file alias="screen-full.svg">../resources/InstrumentValueIcons/screen-full.svg</file>
|
||||
<file alias="forward.svg">../resources/InstrumentValueIcons/forward.svg</file>
|
||||
<file alias="pylon.svg">../resources/InstrumentValueIcons/pylon.svg</file>
|
||||
<file alias="align-right.svg">../resources/InstrumentValueIcons/align-right.svg</file>
|
||||
<file alias="border-outer.svg">../resources/InstrumentValueIcons/border-outer.svg</file>
|
||||
<file alias="arrow-thin-up.svg">../resources/InstrumentValueIcons/arrow-thin-up.svg</file>
|
||||
<file alias="printer.svg">../resources/InstrumentValueIcons/printer.svg</file>
|
||||
<file alias="wallet.svg">../resources/InstrumentValueIcons/wallet.svg</file>
|
||||
<file alias="arrow-outline-left.svg">../resources/InstrumentValueIcons/arrow-outline-left.svg</file>
|
||||
<file alias="credit-card.svg">../resources/InstrumentValueIcons/credit-card.svg</file>
|
||||
<file alias="repost.svg">../resources/InstrumentValueIcons/repost.svg</file>
|
||||
<file alias="notifications-outline.svg">../resources/InstrumentValueIcons/notifications-outline.svg</file>
|
||||
<file alias="bookmark-outline.svg">../resources/InstrumentValueIcons/bookmark-outline.svg</file>
|
||||
<file alias="radar copy 2.svg">../resources/InstrumentValueIcons/radar copy 2.svg</file>
|
||||
<file alias="share-alt.svg">../resources/InstrumentValueIcons/share-alt.svg</file>
|
||||
<file alias="link.svg">../resources/InstrumentValueIcons/link.svg</file>
|
||||
<file alias="attachment.svg">../resources/InstrumentValueIcons/attachment.svg</file>
|
||||
<file alias="chart.svg">../resources/InstrumentValueIcons/chart.svg</file>
|
||||
<file alias="shield.svg">../resources/InstrumentValueIcons/shield.svg</file>
|
||||
<file alias="block.svg">../resources/InstrumentValueIcons/block.svg</file>
|
||||
<file alias="indent-increase.svg">../resources/InstrumentValueIcons/indent-increase.svg</file>
|
||||
<file alias="arrow-base-up.svg">../resources/InstrumentValueIcons/arrow-base-up.svg</file>
|
||||
<file alias="minus-solid.svg">../resources/InstrumentValueIcons/minus-solid.svg</file>
|
||||
<file alias="folder-outline-add.svg">../resources/InstrumentValueIcons/folder-outline-add.svg</file>
|
||||
<file alias="location.svg">../resources/InstrumentValueIcons/location.svg</file>
|
||||
<file alias="mic.svg">../resources/InstrumentValueIcons/mic.svg</file>
|
||||
<file alias="education.svg">../resources/InstrumentValueIcons/education.svg</file>
|
||||
<file alias="announcement.svg">../resources/InstrumentValueIcons/announcement.svg</file>
|
||||
<file alias="user-solid-square.svg">../resources/InstrumentValueIcons/user-solid-square.svg</file>
|
||||
<file alias="shield.svg">../resources/InstrumentValueIcons/shield.svg</file>
|
||||
<file alias="watch.svg">../resources/InstrumentValueIcons/watch.svg</file>
|
||||
<file alias="share.svg">../resources/InstrumentValueIcons/share.svg</file>
|
||||
<file alias="bookmark-outline-add.svg">../resources/InstrumentValueIcons/bookmark-outline-add.svg</file>
|
||||
<file alias="arrow-thick-left.svg">../resources/InstrumentValueIcons/arrow-thick-left.svg</file>
|
||||
<file alias="reload.svg">../resources/InstrumentValueIcons/reload.svg</file>
|
||||
<file alias="badge.svg">../resources/InstrumentValueIcons/badge.svg</file>
|
||||
<file alias="travel-walk.svg">../resources/InstrumentValueIcons/travel-walk.svg</file>
|
||||
<file alias="cog.svg">../resources/InstrumentValueIcons/cog.svg</file>
|
||||
<file alias="folder-outline.svg">../resources/InstrumentValueIcons/folder-outline.svg</file>
|
||||
<file alias="queue.svg">../resources/InstrumentValueIcons/queue.svg</file>
|
||||
<file alias="indent-decrease.svg">../resources/InstrumentValueIcons/indent-decrease.svg</file>
|
||||
<file alias="menu.svg">../resources/InstrumentValueIcons/menu.svg</file>
|
||||
<file alias="computer-laptop.svg">../resources/InstrumentValueIcons/computer-laptop.svg</file>
|
||||
<file alias="view-column.svg">../resources/InstrumentValueIcons/view-column.svg</file>
|
||||
<file alias="list.svg">../resources/InstrumentValueIcons/list.svg</file>
|
||||
<file alias="question.svg">../resources/InstrumentValueIcons/question.svg</file>
|
||||
<file alias="music-artist.svg">../resources/InstrumentValueIcons/music-artist.svg</file>
|
||||
<file alias="playlist.svg">../resources/InstrumentValueIcons/playlist.svg</file>
|
||||
<file alias="wallet.svg">../resources/InstrumentValueIcons/wallet.svg</file>
|
||||
<file alias="bluetooth.svg">../resources/InstrumentValueIcons/bluetooth.svg</file>
|
||||
<file alias="radar copy 2.svg">../resources/InstrumentValueIcons/radar copy 2.svg</file>
|
||||
<file alias="tuning.svg">../resources/InstrumentValueIcons/tuning.svg</file>
|
||||
<file alias="book-reference.svg">../resources/InstrumentValueIcons/book-reference.svg</file>
|
||||
<file alias="information-solid.svg">../resources/InstrumentValueIcons/information-solid.svg</file>
|
||||
<file alias="user-group.svg">../resources/InstrumentValueIcons/user-group.svg</file>
|
||||
<file alias="view-hide.svg">../resources/InstrumentValueIcons/view-hide.svg</file>
|
||||
<file alias="gift.svg">../resources/InstrumentValueIcons/gift.svg</file>
|
||||
<file alias="pylon.svg">../resources/InstrumentValueIcons/pylon.svg</file>
|
||||
<file alias="arrow-thin-left.svg">../resources/InstrumentValueIcons/arrow-thin-left.svg</file>
|
||||
<file alias="pause.svg">../resources/InstrumentValueIcons/pause.svg</file>
|
||||
<file alias="layers.svg">../resources/InstrumentValueIcons/layers.svg</file>
|
||||
<file alias="repost.svg">../resources/InstrumentValueIcons/repost.svg</file>
|
||||
<file alias="hand-stop.svg">../resources/InstrumentValueIcons/hand-stop.svg</file>
|
||||
<file alias="border-horizontal.svg">../resources/InstrumentValueIcons/border-horizontal.svg</file>
|
||||
<file alias="send.svg">../resources/InstrumentValueIcons/send.svg</file>
|
||||
<file alias="beverage.svg">../resources/InstrumentValueIcons/beverage.svg</file>
|
||||
<file alias="align-center.svg">../resources/InstrumentValueIcons/align-center.svg</file>
|
||||
<file alias="travel-bus.svg">../resources/InstrumentValueIcons/travel-bus.svg</file>
|
||||
<file alias="artist.svg">../resources/InstrumentValueIcons/artist.svg</file>
|
||||
<file alias="color-palette.svg">../resources/InstrumentValueIcons/color-palette.svg</file>
|
||||
<file alias="compose.svg">../resources/InstrumentValueIcons/compose.svg</file>
|
||||
<file alias="news-paper.svg">../resources/InstrumentValueIcons/news-paper.svg</file>
|
||||
<file alias="printer.svg">../resources/InstrumentValueIcons/printer.svg</file>
|
||||
<file alias="border-all.svg">../resources/InstrumentValueIcons/border-all.svg</file>
|
||||
<file alias="edit-copy.svg">../resources/InstrumentValueIcons/edit-copy.svg</file>
|
||||
<file alias="dots-horizontal-triple.svg">../resources/InstrumentValueIcons/dots-horizontal-triple.svg</file>
|
||||
<file alias="border-left.svg">../resources/InstrumentValueIcons/border-left.svg</file>
|
||||
<file alias="view-show.svg">../resources/InstrumentValueIcons/view-show.svg</file>
|
||||
<file alias="globe.svg">../resources/InstrumentValueIcons/globe.svg</file>
|
||||
<file alias="subdirectory-right.svg">../resources/InstrumentValueIcons/subdirectory-right.svg</file>
|
||||
<file alias="chart.svg">../resources/InstrumentValueIcons/chart.svg</file>
|
||||
<file alias="arrow-outline-down.svg">../resources/InstrumentValueIcons/arrow-outline-down.svg</file>
|
||||
<file alias="browser-window.svg">../resources/InstrumentValueIcons/browser-window.svg</file>
|
||||
<file alias="inbox.svg">../resources/InstrumentValueIcons/inbox.svg</file>
|
||||
<file alias="music-album.svg">../resources/InstrumentValueIcons/music-album.svg</file>
|
||||
<file alias="currency-dollar.svg">../resources/InstrumentValueIcons/currency-dollar.svg</file>
|
||||
<file alias="chart-bar.svg">../resources/InstrumentValueIcons/chart-bar.svg</file>
|
||||
<file alias="text-box.svg">../resources/InstrumentValueIcons/text-box.svg</file>
|
||||
<file alias="border-outer.svg">../resources/InstrumentValueIcons/border-outer.svg</file>
|
||||
<file alias="stethoscope.svg">../resources/InstrumentValueIcons/stethoscope.svg</file>
|
||||
<file alias="coffee.svg">../resources/InstrumentValueIcons/coffee.svg</file>
|
||||
<file alias="timer.svg">../resources/InstrumentValueIcons/timer.svg</file>
|
||||
<file alias="mood-sad-outline.svg">../resources/InstrumentValueIcons/mood-sad-outline.svg</file>
|
||||
<file alias="show-sidebar.svg">../resources/InstrumentValueIcons/show-sidebar.svg</file>
|
||||
<file alias="border-vertical.svg">../resources/InstrumentValueIcons/border-vertical.svg</file>
|
||||
<file alias="thumbs-up.svg">../resources/InstrumentValueIcons/thumbs-up.svg</file>
|
||||
<file alias="step-forward.svg">../resources/InstrumentValueIcons/step-forward.svg</file>
|
||||
<file alias="location-marina.svg">../resources/InstrumentValueIcons/location-marina.svg</file>
|
||||
<file alias="inbox-download.svg">../resources/InstrumentValueIcons/inbox-download.svg</file>
|
||||
<file alias="cheveron-outline-down.svg">../resources/InstrumentValueIcons/cheveron-outline-down.svg</file>
|
||||
<file alias="volume-down.svg">../resources/InstrumentValueIcons/volume-down.svg</file>
|
||||
<file alias="browser-window-new.svg">../resources/InstrumentValueIcons/browser-window-new.svg</file>
|
||||
<file alias="add-solid.svg">../resources/InstrumentValueIcons/add-solid.svg</file>
|
||||
<file alias="credit-card.svg">../resources/InstrumentValueIcons/credit-card.svg</file>
|
||||
<file alias="cheveron-outline-up.svg">../resources/InstrumentValueIcons/cheveron-outline-up.svg</file>
|
||||
<file alias="edit-pencil.svg">../resources/InstrumentValueIcons/edit-pencil.svg</file>
|
||||
<file alias="format-bold.svg">../resources/InstrumentValueIcons/format-bold.svg</file>
|
||||
<file alias="paste.svg">../resources/InstrumentValueIcons/paste.svg</file>
|
||||
<file alias="radio.svg">../resources/InstrumentValueIcons/radio.svg</file>
|
||||
<file alias="album.svg">../resources/InstrumentValueIcons/album.svg</file>
|
||||
<file alias="at-symbol.svg">../resources/InstrumentValueIcons/at-symbol.svg</file>
|
||||
<file alias="education.svg">../resources/InstrumentValueIcons/education.svg</file>
|
||||
<file alias="radar.svg">../resources/InstrumentValueIcons/radar.svg</file>
|
||||
<file alias="headphones.svg">../resources/InstrumentValueIcons/headphones.svg</file>
|
||||
<file alias="load-balancer.svg">../resources/InstrumentValueIcons/load-balancer.svg</file>
|
||||
<file alias="home.svg">../resources/InstrumentValueIcons/home.svg</file>
|
||||
<file alias="backward.svg">../resources/InstrumentValueIcons/backward.svg</file>
|
||||
<file alias="tablet.svg">../resources/InstrumentValueIcons/tablet.svg</file>
|
||||
<file alias="mood-happy-solid.svg">../resources/InstrumentValueIcons/mood-happy-solid.svg</file>
|
||||
<file alias="align-right.svg">../resources/InstrumentValueIcons/align-right.svg</file>
|
||||
<file alias="folder.svg">../resources/InstrumentValueIcons/folder.svg</file>
|
||||
<file alias="duplicate.svg">../resources/InstrumentValueIcons/duplicate.svg</file>
|
||||
<file alias="envelope.svg">../resources/InstrumentValueIcons/envelope.svg</file>
|
||||
<file alias="bookmark copy 3.svg">../resources/InstrumentValueIcons/bookmark copy 3.svg</file>
|
||||
<file alias="lock-closed.svg">../resources/InstrumentValueIcons/lock-closed.svg</file>
|
||||
<file alias="clipboard.svg">../resources/InstrumentValueIcons/clipboard.svg</file>
|
||||
<file alias="border-bottom.svg">../resources/InstrumentValueIcons/border-bottom.svg</file>
|
||||
<file alias="shuffle.svg">../resources/InstrumentValueIcons/shuffle.svg</file>
|
||||
<file alias="save-disk.svg">../resources/InstrumentValueIcons/save-disk.svg</file>
|
||||
<file alias="refresh.svg">../resources/InstrumentValueIcons/refresh.svg</file>
|
||||
<file alias="lock-open.svg">../resources/InstrumentValueIcons/lock-open.svg</file>
|
||||
<file alias="link.svg">../resources/InstrumentValueIcons/link.svg</file>
|
||||
<file alias="view-carousel.svg">../resources/InstrumentValueIcons/view-carousel.svg</file>
|
||||
<file alias="share-01.svg">../resources/InstrumentValueIcons/share-01.svg</file>
|
||||
<file alias="arrow-thick-down.svg">../resources/InstrumentValueIcons/arrow-thick-down.svg</file>
|
||||
<file alias="ticket.svg">../resources/InstrumentValueIcons/ticket.svg</file>
|
||||
<file alias="portfolio.svg">../resources/InstrumentValueIcons/portfolio.svg</file>
|
||||
<file alias="arrow-simple-down.svg">../resources/InstrumentValueIcons/arrow-simple-down.svg</file>
|
||||
<file alias="location-restroom.svg">../resources/InstrumentValueIcons/location-restroom.svg</file>
|
||||
<file alias="yin-yang.svg">../resources/InstrumentValueIcons/yin-yang.svg</file>
|
||||
<file alias="buoy.svg">../resources/InstrumentValueIcons/buoy.svg</file>
|
||||
<file alias="play-outline.svg">../resources/InstrumentValueIcons/play-outline.svg</file>
|
||||
<file alias="box.svg">../resources/InstrumentValueIcons/box.svg</file>
|
||||
<file alias="align-left.svg">../resources/InstrumentValueIcons/align-left.svg</file>
|
||||
<file alias="minus-solid.svg">../resources/InstrumentValueIcons/minus-solid.svg</file>
|
||||
<file alias="play.svg">../resources/InstrumentValueIcons/play.svg</file>
|
||||
<file alias="format-italic.svg">../resources/InstrumentValueIcons/format-italic.svg</file>
|
||||
<file alias="close.svg">../resources/InstrumentValueIcons/close.svg</file>
|
||||
<file alias="screen-full.svg">../resources/InstrumentValueIcons/screen-full.svg</file>
|
||||
<file alias="airplane.svg">../resources/InstrumentValueIcons/airplane.svg</file>
|
||||
<file alias="forward.svg">../resources/InstrumentValueIcons/forward.svg</file>
|
||||
<file alias="document.svg">../resources/InstrumentValueIcons/document.svg</file>
|
||||
<file alias="cheveron-outline-left.svg">../resources/InstrumentValueIcons/cheveron-outline-left.svg</file>
|
||||
<file alias="travel-car.svg">../resources/InstrumentValueIcons/travel-car.svg</file>
|
||||
<file alias="library.svg">../resources/InstrumentValueIcons/library.svg</file>
|
||||
<file alias="heart.svg">../resources/InstrumentValueIcons/heart.svg</file>
|
||||
<file alias="zoom-out.svg">../resources/InstrumentValueIcons/zoom-out.svg</file>
|
||||
<file alias="travel-taxi-cab.svg">../resources/InstrumentValueIcons/travel-taxi-cab.svg</file>
|
||||
<file alias="chat-bubble-dots.svg">../resources/InstrumentValueIcons/chat-bubble-dots.svg</file>
|
||||
<file alias="vector.svg">../resources/InstrumentValueIcons/vector.svg</file>
|
||||
<file alias="notifications-outline.svg">../resources/InstrumentValueIcons/notifications-outline.svg</file>
|
||||
<file alias="swap.svg">../resources/InstrumentValueIcons/swap.svg</file>
|
||||
<file alias="mic.svg">../resources/InstrumentValueIcons/mic.svg</file>
|
||||
<file alias="folder-outline-add.svg">../resources/InstrumentValueIcons/folder-outline-add.svg</file>
|
||||
<file alias="forward-step.svg">../resources/InstrumentValueIcons/forward-step.svg</file>
|
||||
<file alias="minus-outline.svg">../resources/InstrumentValueIcons/minus-outline.svg</file>
|
||||
<file alias="translate.svg">../resources/InstrumentValueIcons/translate.svg</file>
|
||||
<file alias="navigation-more.svg">../resources/InstrumentValueIcons/navigation-more.svg</file>
|
||||
<file alias="battery-full.svg">../resources/InstrumentValueIcons/battery-full.svg</file>
|
||||
<file alias="pause-solid.svg">../resources/InstrumentValueIcons/pause-solid.svg</file>
|
||||
<file alias="explore.svg">../resources/InstrumentValueIcons/explore.svg</file>
|
||||
<file alias="format-text-size.svg">../resources/InstrumentValueIcons/format-text-size.svg</file>
|
||||
<file alias="reply.svg">../resources/InstrumentValueIcons/reply.svg</file>
|
||||
<file alias="volume-off.svg">../resources/InstrumentValueIcons/volume-off.svg</file>
|
||||
<file alias="list-add.svg">../resources/InstrumentValueIcons/list-add.svg</file>
|
||||
<file alias="pin.svg">../resources/InstrumentValueIcons/pin.svg</file>
|
||||
<file alias="zoom-in.svg">../resources/InstrumentValueIcons/zoom-in.svg</file>
|
||||
<file alias="photo.svg">../resources/InstrumentValueIcons/photo.svg</file>
|
||||
<file alias="mobile-devices.svg">../resources/InstrumentValueIcons/mobile-devices.svg</file>
|
||||
<file alias="text-decoration.svg">../resources/InstrumentValueIcons/text-decoration.svg</file>
|
||||
<file alias="music-playlist.svg">../resources/InstrumentValueIcons/music-playlist.svg</file>
|
||||
<file alias="step-backward.svg">../resources/InstrumentValueIcons/step-backward.svg</file>
|
||||
<file alias="information-outline.svg">../resources/InstrumentValueIcons/information-outline.svg</file>
|
||||
<file alias="share-alt.svg">../resources/InstrumentValueIcons/share-alt.svg</file>
|
||||
<file alias="exclamation-outline.svg">../resources/InstrumentValueIcons/exclamation-outline.svg</file>
|
||||
<file alias="notification.svg">../resources/InstrumentValueIcons/notification.svg</file>
|
||||
<file alias="window.svg">../resources/InstrumentValueIcons/window.svg</file>
|
||||
<file alias="map.svg">../resources/InstrumentValueIcons/map.svg</file>
|
||||
<file alias="thermometer.svg">../resources/InstrumentValueIcons/thermometer.svg</file>
|
||||
<file alias="calendar.svg">../resources/InstrumentValueIcons/calendar.svg</file>
|
||||
<file alias="stand-by.svg">../resources/InstrumentValueIcons/stand-by.svg</file>
|
||||
<file alias="thumbs-down.svg">../resources/InstrumentValueIcons/thumbs-down.svg</file>
|
||||
<file alias="cheveron-down.svg">../resources/InstrumentValueIcons/cheveron-down.svg</file>
|
||||
<file alias="factory.svg">../resources/InstrumentValueIcons/factory.svg</file>
|
||||
<file alias="stroke-width.svg">../resources/InstrumentValueIcons/stroke-width.svg</file>
|
||||
<file alias="indent-increase.svg">../resources/InstrumentValueIcons/indent-increase.svg</file>
|
||||
<file alias="search.svg">../resources/InstrumentValueIcons/search.svg</file>
|
||||
<file alias="add-outline.svg">../resources/InstrumentValueIcons/add-outline.svg</file>
|
||||
<file alias="mood-neutral-outline.svg">../resources/InstrumentValueIcons/mood-neutral-outline.svg</file>
|
||||
<file alias="cheveron-outline-right.svg">../resources/InstrumentValueIcons/cheveron-outline-right.svg</file>
|
||||
<file alias="arrow-thick-right.svg">../resources/InstrumentValueIcons/arrow-thick-right.svg</file>
|
||||
<file alias="key.svg">../resources/InstrumentValueIcons/key.svg</file>
|
||||
<file alias="cloud.svg">../resources/InstrumentValueIcons/cloud.svg</file>
|
||||
<file alias="mood-happy-outline.svg">../resources/InstrumentValueIcons/mood-happy-outline.svg</file>
|
||||
<file alias="dots-horizontal-double.svg">../resources/InstrumentValueIcons/dots-horizontal-double.svg</file>
|
||||
<file alias="format-font-size.svg">../resources/InstrumentValueIcons/format-font-size.svg</file>
|
||||
<file alias="arrow-outline-up.svg">../resources/InstrumentValueIcons/arrow-outline-up.svg</file>
|
||||
<file alias="arrow-thin-up.svg">../resources/InstrumentValueIcons/arrow-thin-up.svg</file>
|
||||
<file alias="network.svg">../resources/InstrumentValueIcons/network.svg</file>
|
||||
<file alias="mouse.svg">../resources/InstrumentValueIcons/mouse.svg</file>
|
||||
<file alias="checkmark-outline.svg">../resources/InstrumentValueIcons/checkmark-outline.svg</file>
|
||||
<file alias="mood-sad-solid.svg">../resources/InstrumentValueIcons/mood-sad-solid.svg</file>
|
||||
<file alias="store-front.svg">../resources/InstrumentValueIcons/store-front.svg</file>
|
||||
<file alias="battery-half.svg">../resources/InstrumentValueIcons/battery-half.svg</file>
|
||||
<file alias="tools copy.svg">../resources/InstrumentValueIcons/tools copy.svg</file>
|
||||
<file alias="time.svg">../resources/InstrumentValueIcons/time.svg</file>
|
||||
<file alias="block.svg">../resources/InstrumentValueIcons/block.svg</file>
|
||||
<file alias="camera.svg">../resources/InstrumentValueIcons/camera.svg</file>
|
||||
<file alias="user-add.svg">../resources/InstrumentValueIcons/user-add.svg</file>
|
||||
<file alias="cheveron-up.svg">../resources/InstrumentValueIcons/cheveron-up.svg</file>
|
||||
<file alias="window-new.svg">../resources/InstrumentValueIcons/window-new.svg</file>
|
||||
<file alias="battery-low.svg">../resources/InstrumentValueIcons/battery-low.svg</file>
|
||||
<file alias="volume-up.svg">../resources/InstrumentValueIcons/volume-up.svg</file>
|
||||
<file alias="volume-mute.svg">../resources/InstrumentValueIcons/volume-mute.svg</file>
|
||||
<file alias="arrow-simple-up.svg">../resources/InstrumentValueIcons/arrow-simple-up.svg</file>
|
||||
<file alias="travel.svg">../resources/InstrumentValueIcons/travel.svg</file>
|
||||
<file alias="location.svg">../resources/InstrumentValueIcons/location.svg</file>
|
||||
<file alias="dashboard.svg">../resources/InstrumentValueIcons/dashboard.svg</file>
|
||||
<file alias="light-bulb.svg">../resources/InstrumentValueIcons/light-bulb.svg</file>
|
||||
<file alias="travel-case.svg">../resources/InstrumentValueIcons/travel-case.svg</file>
|
||||
<file alias="edit-crop.svg">../resources/InstrumentValueIcons/edit-crop.svg</file>
|
||||
<file alias="close-solid.svg">../resources/InstrumentValueIcons/close-solid.svg</file>
|
||||
<file alias="notifications.svg">../resources/InstrumentValueIcons/notifications.svg</file>
|
||||
<file alias="video-camera.svg">../resources/InstrumentValueIcons/video-camera.svg</file>
|
||||
<file alias="film.svg">../resources/InstrumentValueIcons/film.svg</file>
|
||||
<file alias="border-right.svg">../resources/InstrumentValueIcons/border-right.svg</file>
|
||||
<file alias="bolt.svg">../resources/InstrumentValueIcons/bolt.svg</file>
|
||||
<file alias="keyboard.svg">../resources/InstrumentValueIcons/keyboard.svg</file>
|
||||
<file alias="shopping-cart.svg">../resources/InstrumentValueIcons/shopping-cart.svg</file>
|
||||
<file alias="cheveron-left.svg">../resources/InstrumentValueIcons/cheveron-left.svg</file>
|
||||
<file alias="flag.svg">../resources/InstrumentValueIcons/flag.svg</file>
|
||||
<file alias="adjust.svg">../resources/InstrumentValueIcons/adjust.svg</file>
|
||||
<file alias="wrench.svg">../resources/InstrumentValueIcons/wrench.svg</file>
|
||||
<file alias="station.svg">../resources/InstrumentValueIcons/station.svg</file>
|
||||
<file alias="target.svg">../resources/InstrumentValueIcons/target.svg</file>
|
||||
<file alias="location-food.svg">../resources/InstrumentValueIcons/location-food.svg</file>
|
||||
<file alias="hour-glass.svg">../resources/InstrumentValueIcons/hour-glass.svg</file>
|
||||
<file alias="date-add.svg">../resources/InstrumentValueIcons/date-add.svg</file>
|
||||
<file alias="location-gas-station.svg">../resources/InstrumentValueIcons/location-gas-station.svg</file>
|
||||
<file alias="cheveron-right.svg">../resources/InstrumentValueIcons/cheveron-right.svg</file>
|
||||
<file alias="checkmark.svg">../resources/InstrumentValueIcons/checkmark.svg</file>
|
||||
<file alias="format-underline.svg">../resources/InstrumentValueIcons/format-underline.svg</file>
|
||||
<file alias="border-none.svg">../resources/InstrumentValueIcons/border-none.svg</file>
|
||||
<file alias="inbox-full.svg">../resources/InstrumentValueIcons/inbox-full.svg</file>
|
||||
<file alias="window-open.svg">../resources/InstrumentValueIcons/window-open.svg</file>
|
||||
<file alias="travel-train.svg">../resources/InstrumentValueIcons/travel-train.svg</file>
|
||||
<file alias="location-current.svg">../resources/InstrumentValueIcons/location-current.svg</file>
|
||||
<file alias="computer-desktop.svg">../resources/InstrumentValueIcons/computer-desktop.svg</file>
|
||||
<file alias="servers.svg">../resources/InstrumentValueIcons/servers.svg</file>
|
||||
<file alias="close-outline.svg">../resources/InstrumentValueIcons/close-outline.svg</file>
|
||||
<file alias="apparel.svg">../resources/InstrumentValueIcons/apparel.svg</file>
|
||||
<file alias="arrow-thick-up.svg">../resources/InstrumentValueIcons/arrow-thick-up.svg</file>
|
||||
<file alias="border-top.svg">../resources/InstrumentValueIcons/border-top.svg</file>
|
||||
<file alias="bookmark copy 2.svg">../resources/InstrumentValueIcons/bookmark copy 2.svg</file>
|
||||
<file alias="trophy.svg">../resources/InstrumentValueIcons/trophy.svg</file>
|
||||
<file alias="view-list.svg">../resources/InstrumentValueIcons/view-list.svg</file>
|
||||
<file alias="arrow-thin-right.svg">../resources/InstrumentValueIcons/arrow-thin-right.svg</file>
|
||||
<file alias="arrow-outline-left.svg">../resources/InstrumentValueIcons/arrow-outline-left.svg</file>
|
||||
<file alias="edit-cut.svg">../resources/InstrumentValueIcons/edit-cut.svg</file>
|
||||
<file alias="brightness-up.svg">../resources/InstrumentValueIcons/brightness-up.svg</file>
|
||||
<file alias="phone.svg">../resources/InstrumentValueIcons/phone.svg</file>
|
||||
<file alias="arrow-outline-right.svg">../resources/InstrumentValueIcons/arrow-outline-right.svg</file>
|
||||
<file alias="mood-neutral-solid.svg">../resources/InstrumentValueIcons/mood-neutral-solid.svg</file>
|
||||
<file alias="arrow-base-down.svg">../resources/InstrumentValueIcons/arrow-base-down.svg</file>
|
||||
<file alias="arrow-simple-left.svg">../resources/InstrumentValueIcons/arrow-simple-left.svg</file>
|
||||
<file alias="browser-window-open.svg">../resources/InstrumentValueIcons/browser-window-open.svg</file>
|
||||
<file alias="document-add.svg">../resources/InstrumentValueIcons/document-add.svg</file>
|
||||
<file alias="inbox-check.svg">../resources/InstrumentValueIcons/inbox-check.svg</file>
|
||||
<file alias="star-full.svg">../resources/InstrumentValueIcons/star-full.svg</file>
|
||||
<file alias="fast-forward.svg">../resources/InstrumentValueIcons/fast-forward.svg</file>
|
||||
<file alias="fast-rewind.svg">../resources/InstrumentValueIcons/fast-rewind.svg</file>
|
||||
<file alias="hot.svg">../resources/InstrumentValueIcons/hot.svg</file>
|
||||
<file alias="brightness-down.svg">../resources/InstrumentValueIcons/brightness-down.svg</file>
|
||||
<file alias="backward-step.svg">../resources/InstrumentValueIcons/backward-step.svg</file>
|
||||
<file alias="user.svg">../resources/InstrumentValueIcons/user.svg</file>
|
||||
<file alias="backspace.svg">../resources/InstrumentValueIcons/backspace.svg</file>
|
||||
<file alias="border-inner.svg">../resources/InstrumentValueIcons/border-inner.svg</file>
|
||||
<file alias="chart-pie.svg">../resources/InstrumentValueIcons/chart-pie.svg</file>
|
||||
<file alias="arrow-base-up.svg">../resources/InstrumentValueIcons/arrow-base-up.svg</file>
|
||||
<file alias="music-notes.svg">../resources/InstrumentValueIcons/music-notes.svg</file>
|
||||
<file alias="filter.svg">../resources/InstrumentValueIcons/filter.svg</file>
|
||||
<file alias="code.svg">../resources/InstrumentValueIcons/code.svg</file>
|
||||
<file alias="dial-pad.svg">../resources/InstrumentValueIcons/dial-pad.svg</file>
|
||||
<file alias="reply-all.svg">../resources/InstrumentValueIcons/reply-all.svg</file>
|
||||
<file alias="arrow-thin-down.svg">../resources/InstrumentValueIcons/arrow-thin-down.svg</file>
|
||||
<file alias="usb.svg">../resources/InstrumentValueIcons/usb.svg</file>
|
||||
<file alias="anchor.svg">../resources/InstrumentValueIcons/anchor.svg</file>
|
||||
<file alias="align-justified.svg">../resources/InstrumentValueIcons/align-justified.svg</file>
|
||||
<file alias="conversation.svg">../resources/InstrumentValueIcons/conversation.svg</file>
|
||||
<file alias="bug.svg">../resources/InstrumentValueIcons/bug.svg</file>
|
||||
<file alias="arrow-simple-right.svg">../resources/InstrumentValueIcons/arrow-simple-right.svg</file>
|
||||
<file alias="location-park.svg">../resources/InstrumentValueIcons/location-park.svg</file>
|
||||
<file alias="flashlight.svg">../resources/InstrumentValueIcons/flashlight.svg</file>
|
||||
<file alias="pen-tool.svg">../resources/InstrumentValueIcons/pen-tool.svg</file>
|
||||
<file alias="subdirectory-left.svg">../resources/InstrumentValueIcons/subdirectory-left.svg</file>
|
||||
<file alias="exclamation-solid.svg">../resources/InstrumentValueIcons/exclamation-solid.svg</file>
|
||||
<file alias="php-elephant.svg">../resources/InstrumentValueIcons/php-elephant.svg</file>
|
||||
<file alias="bookmark.svg">../resources/InstrumentValueIcons/bookmark.svg</file>
|
||||
<file alias="location-hotel.svg">../resources/InstrumentValueIcons/location-hotel.svg</file>
|
||||
<file alias="calculator.svg">../resources/InstrumentValueIcons/calculator.svg</file>
|
||||
<file alias="view-tile.svg">../resources/InstrumentValueIcons/view-tile.svg</file>
|
||||
<file alias="plugin.svg">../resources/InstrumentValueIcons/plugin.svg</file>
|
||||
<file alias="tag.svg">../resources/InstrumentValueIcons/tag.svg</file>
|
||||
<file alias="pause-outline.svg">../resources/InstrumentValueIcons/pause-outline.svg</file>
|
||||
<file alias="copy.svg">../resources/InstrumentValueIcons/copy.svg</file>
|
||||
<file alias="hard-drive.svg">../resources/InstrumentValueIcons/hard-drive.svg</file>
|
||||
<file alias="attachment.svg">../resources/InstrumentValueIcons/attachment.svg</file>
|
||||
<file alias="cloud-upload.svg">../resources/InstrumentValueIcons/cloud-upload.svg</file>
|
||||
<file alias="list-bullet.svg">../resources/InstrumentValueIcons/list-bullet.svg</file>
|
||||
<file alias="user-solid-circle.svg">../resources/InstrumentValueIcons/user-solid-circle.svg</file>
|
||||
<file alias="trash.svg">../resources/InstrumentValueIcons/trash.svg</file>
|
||||
<file alias="bookmark-outline.svg">../resources/InstrumentValueIcons/bookmark-outline.svg</file>
|
||||
<file alias="location-shopping.svg">../resources/InstrumentValueIcons/location-shopping.svg</file>
|
||||
</qresource>
|
||||
</RCC>
|
Before Width: | Height: | Size: 170 KiB After Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
|
@ -23,6 +23,7 @@ DEFINES += APP_VERSION_STR=\"\\\"$$CUSTOM_QGC_VERSION\\\"\"
|
|||
message(Custom QGC Version: $${CUSTOM_QGC_VERSION})
|
||||
|
||||
# Build a single flight stack by disabling APM support
|
||||
MAVLINK_CONF = common
|
||||
CONFIG += QGC_DISABLE_APM_MAVLINK
|
||||
CONFIG += QGC_DISABLE_APM_PLUGIN QGC_DISABLE_APM_PLUGIN_FACTORY
|
||||
|
||||
|
@ -34,19 +35,19 @@ CONFIG += QGC_DISABLE_PX4_PLUGIN_FACTORY
|
|||
DEFINES += CUSTOMHEADER=\"\\\"CustomPlugin.h\\\"\"
|
||||
DEFINES += CUSTOMCLASS=CustomPlugin
|
||||
|
||||
TARGET = CustomQGroundControl
|
||||
DEFINES += QGC_APPLICATION_NAME='"\\\"Custom QGroundControl\\\""'
|
||||
TARGET = Spiri
|
||||
DEFINES += QGC_APPLICATION_NAME='"\\\"Spiri\\\""'
|
||||
|
||||
DEFINES += QGC_ORG_NAME=\"\\\"qgroundcontrol.org\\\"\"
|
||||
DEFINES += QGC_ORG_DOMAIN=\"\\\"org.qgroundcontrol\\\"\"
|
||||
DEFINES += QGC_ORG_NAME=\"\\\"spiri.org\\\"\"
|
||||
DEFINES += QGC_ORG_DOMAIN=\"\\\"org.spiri\\\"\"
|
||||
|
||||
QGC_APP_NAME = "Custom QGroundControl"
|
||||
QGC_BINARY_NAME = "CustomQGroundControl"
|
||||
QGC_ORG_NAME = "Custom"
|
||||
QGC_ORG_DOMAIN = "org.custom"
|
||||
QGC_ANDROID_PACKAGE = "org.custom.qgroundcontrol"
|
||||
QGC_APP_DESCRIPTION = "Custom QGroundControl"
|
||||
QGC_APP_COPYRIGHT = "Copyright (C) 2020 QGroundControl Development Team. All rights reserved."
|
||||
QGC_APP_NAME = "Spiri"
|
||||
QGC_BINARY_NAME = "Spiri"
|
||||
QGC_ORG_NAME = "Spiri"
|
||||
QGC_ORG_DOMAIN = "org.spiri"
|
||||
QGC_ANDROID_PACKAGE = "org.spiri.spiri"
|
||||
QGC_APP_DESCRIPTION = "Spiri"
|
||||
QGC_APP_COPYRIGHT = "Copyright (C) 2023 Spiri Development Team. All rights reserved."
|
||||
|
||||
# Our own, custom resources
|
||||
RESOURCES += \
|
0
custom-example/deploy/qgroundcontrol-start.sh → custom/deploy/qgroundcontrol-start.sh
Executable file → Normal file
|
@ -31,7 +31,6 @@
|
|||
<file alias="LockClosed.svg">../resources/LockClosed.svg</file>
|
||||
<file alias="LockOpen.svg">../resources/LockOpen.svg</file>
|
||||
<file alias="notile.png">../resources/notile.png</file>
|
||||
<file alias="NoVideoBackground.jpg">../resources/NoVideoBackground.jpg</file>
|
||||
<file alias="Pause.svg">../resources/Pause.svg</file>
|
||||
<file alias="pause-mission.svg">../resources/pause-mission.svg</file>
|
||||
<file alias="pencil.svg">../resources/pencil.svg</file>
|
||||
|
@ -55,9 +54,6 @@
|
|||
<file alias="XDelete.svg">../resources/XDelete.svg</file>
|
||||
<file alias="XDeleteBlack.svg">../resources/XDeleteBlack.svg</file>
|
||||
<file alias="waypoint.svg">../resources/waypoint.svg</file>
|
||||
<file alias="Gripper.svg">../resources/Gripper.svg</file>
|
||||
<file alias="GripperRelease.svg">../resources/GripperRelease.svg</file>
|
||||
<file alias="GripperGrab.svg">../resources/GripperGrab.svg</file>
|
||||
<file>../resources/icons/qgroundcontrol.ico</file>
|
||||
</qresource>
|
||||
<qresource prefix="/res/firmware">
|
|
@ -14,11 +14,9 @@
|
|||
<file alias="ModeIndicator.qml">../src/ui/toolbar/ModeIndicator.qml</file>
|
||||
<file alias="MultiVehicleSelector.qml">../src/ui/toolbar/MultiVehicleSelector.qml</file>
|
||||
<file alias="RCRSSIIndicator.qml">../src/ui/toolbar/RCRSSIIndicator.qml</file>
|
||||
<file alias="RemoteIDIndicator.qml">../src/ui/toolbar/RemoteIDIndicator.qml</file>
|
||||
<file alias="ROIIndicator.qml">../src/ui/toolbar/ROIIndicator.qml</file>
|
||||
<file alias="TelemetryRSSIIndicator.qml">../src/ui/toolbar/TelemetryRSSIIndicator.qml</file>
|
||||
<file alias="VTOLModeIndicator.qml">../src/ui/toolbar/VTOLModeIndicator.qml</file>
|
||||
<file alias="APMSupportForwardingIndicator.qml">../src/ui/toolbar/APMSupportForwardingIndicator.qml</file>
|
||||
</qresource>
|
||||
<qresource prefix="/checklists">
|
||||
<file alias="DefaultChecklist.qml">../src/FlightDisplay/DefaultChecklist.qml</file>
|
||||
|
@ -40,7 +38,6 @@
|
|||
<file alias="BluetoothSettings.qml">../src/ui/preferences/BluetoothSettings.qml</file>
|
||||
<file alias="CorridorScanEditor.qml">../src/PlanView/CorridorScanEditor.qml</file>
|
||||
<file alias="DebugWindow.qml">../src/ui/preferences/DebugWindow.qml</file>
|
||||
<file alias="RemoteIDSettings.qml">../src/ui/preferences/RemoteIDSettings.qml</file>
|
||||
<file alias="ESP8266Component.qml">../src/AutoPilotPlugins/Common/ESP8266Component.qml</file>
|
||||
<file alias="ESP8266ComponentSummary.qml">../src/AutoPilotPlugins/Common/ESP8266ComponentSummary.qml</file>
|
||||
<file alias="ExitWithErrorWindow.qml">../src/ui/ExitWithErrorWindow.qml</file>
|
||||
|
@ -111,7 +108,6 @@
|
|||
<file alias="QGroundControl/Controls/KMLOrSHPFileDialog.qml">../src/QmlControls/KMLOrSHPFileDialog.qml</file>
|
||||
<file alias="QGroundControl/Controls/LogReplayStatusBar.qml">../src/QmlControls/LogReplayStatusBar.qml</file>
|
||||
<file alias="QGroundControl/Controls/MainStatusIndicator.qml">../src/ui/toolbar/MainStatusIndicator.qml</file>
|
||||
<file alias="QGroundControl/Controls/FlightModeMenuIndicator.qml">../src/ui/toolbar/FlightModeMenuIndicator.qml</file>
|
||||
<file alias="QGroundControl/Controls/MainToolBar.qml">../src/ui/toolbar/MainToolBar.qml</file>
|
||||
<file alias="QGroundControl/Controls/MainWindowSavedState.qml">../src/QmlControls/MainWindowSavedState.qml</file>
|
||||
<file alias="QGroundControl/Controls/MAVLinkChart.qml">../src/QmlControls/MAVLinkChart.qml</file>
|
||||
|
@ -133,7 +129,6 @@
|
|||
<file alias="QGroundControl/Controls/PreFlightCheckGroup.qml">../src/QmlControls/PreFlightCheckGroup.qml</file>
|
||||
<file alias="QGroundControl/Controls/PreFlightCheckModel.qml">../src/QmlControls/PreFlightCheckModel.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCButton.qml">../src/QmlControls/QGCButton.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCColumnButton.qml">../src/QmlControls/QGCColumnButton.qml</file>
|
||||
<file alias="QGroundControl/Controls/AutotuneUI.qml">../src/QmlControls/AutotuneUI.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCCheckBox.qml">../src/QmlControls/QGCCheckBox.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCColoredImage.qml">../src/QmlControls/QGCColoredImage.qml</file>
|
||||
|
@ -156,10 +151,10 @@
|
|||
<file alias="QGroundControl/Controls/QGCMouseArea.qml">../src/QmlControls/QGCMouseArea.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCMovableItem.qml">../src/QmlControls/QGCMovableItem.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCPopupDialog.qml">../src/QmlControls/QGCPopupDialog.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCPopupDialogContainer.qml">../src/QmlControls/QGCPopupDialogContainer.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCPipOverlay.qml">../src/QmlControls/QGCPipOverlay.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCPipState.qml">../src/QmlControls/QGCPipState.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCRadioButton.qml">../src/QmlControls/QGCRadioButton.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCSimpleMessageDialog.qml">../src/QmlControls/QGCSimpleMessageDialog.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCSlider.qml">../src/QmlControls/QGCSlider.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCSwitch.qml">../src/QmlControls/QGCSwitch.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCTabBar.qml">../src/QmlControls/QGCTabBar.qml</file>
|
||||
|
@ -167,6 +162,9 @@
|
|||
<file alias="QGroundControl/Controls/QGCTextField.qml">../src/QmlControls/QGCTextField.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCToolBarButton.qml">../src/QmlControls/QGCToolBarButton.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCToolInsets.qml">../src/QmlControls/QGCToolInsets.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCViewDialog.qml">../src/QmlControls/QGCViewDialog.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCViewDialogContainer.qml">../src/QmlControls/QGCViewDialogContainer.qml</file>
|
||||
<file alias="QGroundControl/Controls/QGCViewMessage.qml">../src/QmlControls/QGCViewMessage.qml</file>
|
||||
<file alias="QGroundControl/Controls/qmldir">../src/QmlControls/QGroundControl/Controls/qmldir</file>
|
||||
<file alias="QGroundControl/Controls/RallyPointEditorHeader.qml">../src/PlanView/RallyPointEditorHeader.qml</file>
|
||||
<file alias="QGroundControl/Controls/RallyPointItemEditor.qml">../src/PlanView/RallyPointItemEditor.qml</file>
|
||||
|
@ -206,6 +204,7 @@
|
|||
<file alias="QGroundControl/FactControls/qmldir">../src/QmlControls/QGroundControl/FactControls/qmldir</file>
|
||||
<file alias="QGroundControl/FlightDisplay/FlightDisplayViewVideo.qml">../src/FlightDisplay/FlightDisplayViewVideo.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/FlightDisplayViewWidgets.qml">../src/FlightDisplay/FlightDisplayViewWidgets.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/FlyViewAirspaceIndicator.qml">../src/FlightDisplay/FlyViewAirspaceIndicator.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/FlyView.qml">../src/FlightDisplay/FlyView.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/FlyViewInstrumentPanel.qml">../src/FlightDisplay/FlyViewInstrumentPanel.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/FlyViewMap.qml">../src/FlightDisplay/FlyViewMap.qml</file>
|
||||
|
@ -221,11 +220,9 @@
|
|||
<file alias="QGroundControl/FlightDisplay/GuidedActionLand.qml">../src/FlightDisplay/GuidedActionLand.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/GuidedActionList.qml">../src/FlightDisplay/GuidedActionList.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/GuidedActionTakeoff.qml">../src/FlightDisplay/GuidedActionTakeoff.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/GuidedActionGripper.qml">../src/FlightDisplay/GuidedActionGripper.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/GripperMenu.qml">../src/FlightDisplay/GripperMenu.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/GuidedActionPause.qml">../src/FlightDisplay/GuidedActionPause.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/GuidedActionRTL.qml">../src/FlightDisplay/GuidedActionRTL.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/GuidedValueSlider.qml">../src/FlightDisplay/GuidedValueSlider.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/GuidedAltitudeSlider.qml">../src/FlightDisplay/GuidedAltitudeSlider.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/GuidedToolStripAction.qml">../src/FlightDisplay/GuidedToolStripAction.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/MultiVehicleList.qml">../src/FlightDisplay/MultiVehicleList.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/PreFlightBatteryCheck.qml">../src/FlightDisplay/PreFlightBatteryCheck.qml</file>
|
||||
|
@ -286,8 +283,6 @@
|
|||
<file alias="VibrationPage.qml">../src/AnalyzeView/VibrationPage.qml</file>
|
||||
<file alias="VirtualJoystick.qml">../src/FlightDisplay/VirtualJoystick.qml</file>
|
||||
<file alias="VTOLLandingPatternEditor.qml">../src/PlanView/VTOLLandingPatternEditor.qml</file>
|
||||
<file alias="QGroundControl/Controls/MockLinkOptionsDlg.qml">../src/comm/MockLinkOptionsDlg.qml</file>
|
||||
<file alias="QGroundControl/FlightDisplay/FlyViewInsetViewer.qml">../src/FlightDisplay/FlyViewInsetViewer.qml</file>
|
||||
</qresource>
|
||||
<qresource prefix="/FirstRunPromptDialogs">
|
||||
<file alias="UnitsFirstRunPrompt.qml">../src/FirstRunPromptDialogs/UnitsFirstRunPrompt.qml</file>
|
||||
|
@ -304,7 +299,6 @@
|
|||
<file alias="CameraSection.FactMetaData.json">../src/MissionManager/CameraSection.FactMetaData.json</file>
|
||||
<file alias="CameraSpec.FactMetaData.json">../src/MissionManager/CameraSpec.FactMetaData.json</file>
|
||||
<file alias="CorridorScan.SettingsGroup.json">../src/MissionManager/CorridorScan.SettingsGroup.json</file>
|
||||
<file alias="RemoteID.SettingsGroup.json">../src/Settings/RemoteID.SettingsGroup.json</file>
|
||||
<file alias="EditPositionDialog.FactMetaData.json">../src/QmlControls/EditPositionDialog.FactMetaData.json</file>
|
||||
<file alias="FirmwareUpgrade.SettingsGroup.json">../src/Settings/FirmwareUpgrade.SettingsGroup.json</file>
|
||||
<file alias="FlightMap.SettingsGroup.json">../src/Settings/FlightMap.SettingsGroup.json</file>
|
||||
|
@ -346,8 +340,6 @@
|
|||
<file alias="Vehicle/VibrationFact.json">../src/Vehicle/VibrationFact.json</file>
|
||||
<file alias="Vehicle/WindFact.json">../src/Vehicle/WindFact.json</file>
|
||||
<file alias="Vehicle/HygrometerFact.json">../src/Vehicle/HygrometerFact.json</file>
|
||||
<file alias="Vehicle/GeneratorFact.json">../src/Vehicle/GeneratorFact.json</file>
|
||||
<file alias="Vehicle/EFIFact.json">../src/Vehicle/EFIFact.json</file>
|
||||
<file alias="Video.SettingsGroup.json">../src/Settings/Video.SettingsGroup.json</file>
|
||||
<file alias="VTOLLandingPattern.FactMetaData.json">../src/MissionManager/VTOLLandingPattern.FactMetaData.json</file>
|
||||
</qresource>
|
||||
|
@ -358,6 +350,5 @@
|
|||
<file alias="General.MetaData.json.xz">../src/comm/MockLink.General.MetaData.json.xz</file>
|
||||
<file alias="Parameter.MetaData.json.xz">../src/comm/MockLink.Parameter.MetaData.json.xz</file>
|
||||
<file alias="Parameter.MetaData.json">../src/comm/MockLink.Parameter.MetaData.json</file>
|
||||
<file alias="Arduplane.params.ftp.bin">../src/comm/Mocklink.Arduplane.params.ftp.bin</file>
|
||||
</qresource>
|
||||
</RCC>
|
|
@ -55,38 +55,8 @@ Item {
|
|||
|
||||
QGCToolInsets {
|
||||
id: _totalToolInsets
|
||||
leftEdgeTopInset: parentToolInsets.leftEdgeTopInset
|
||||
leftEdgeCenterInset: exampleRectangle.leftEdgeCenterInset
|
||||
leftEdgeBottomInset: parentToolInsets.leftEdgeBottomInset
|
||||
rightEdgeTopInset: parentToolInsets.rightEdgeTopInset
|
||||
rightEdgeCenterInset: parentToolInsets.rightEdgeCenterInset
|
||||
rightEdgeBottomInset: parent.width - compassBackground.x
|
||||
topEdgeLeftInset: parentToolInsets.topEdgeLeftInset
|
||||
topEdgeCenterInset: compassArrowIndicator.y + compassArrowIndicator.height
|
||||
topEdgeRightInset: parentToolInsets.topEdgeRightInset
|
||||
bottomEdgeLeftInset: parentToolInsets.bottomEdgeLeftInset
|
||||
bottomEdgeCenterInset: parentToolInsets.bottomEdgeCenterInset
|
||||
bottomEdgeRightInset: parent.height - attitudeIndicator.y
|
||||
}
|
||||
|
||||
// This is an example of how you can use parent tool insets to position an element on the custom fly view layer
|
||||
// - we use parent topEdgeLeftInset to position the widget below the toolstrip
|
||||
// - we use parent bottomEdgeLeftInset to dodge the virtual joystick if enabled
|
||||
// - we use the parent leftEdgeTopInset to size our element to the same width as the ToolStripAction
|
||||
// - we export the width of this element as the leftEdgeCenterInset so that the map will recenter if the vehicle flys behind this element
|
||||
Rectangle {
|
||||
id: exampleRectangle
|
||||
visible: false // to see this example, set this to true. To view insets, enable the insets viewer FlyView.qml
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.topMargin: parentToolInsets.topEdgeLeftInset + _toolsMargin
|
||||
anchors.bottomMargin: parentToolInsets.bottomEdgeLeftInset + _toolsMargin
|
||||
anchors.leftMargin: _toolsMargin
|
||||
width: parentToolInsets.leftEdgeTopInset - _toolsMargin
|
||||
color: 'red'
|
||||
|
||||
property real leftEdgeCenterInset: visible ? x + width : 0
|
||||
rightEdgeBottomInset: parent.width - compassBackground.x
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
|
@ -239,7 +209,7 @@ Item {
|
|||
|
||||
Rectangle {
|
||||
id: attitudeIndicator
|
||||
anchors.bottomMargin: _toolsMargin + parentToolInsets.bottomEdgeRightInset
|
||||
anchors.bottomMargin: _toolsMargin
|
||||
anchors.rightMargin: _toolsMargin
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.right: parent.right
|
Before Width: | Height: | Size: 136 KiB After Width: | Height: | Size: 136 KiB |
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 187 B After Width: | Height: | Size: 187 B |
Before Width: | Height: | Size: 775 B After Width: | Height: | Size: 775 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 510 B After Width: | Height: | Size: 510 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 660 B After Width: | Height: | Size: 660 B |
Before Width: | Height: | Size: 558 B After Width: | Height: | Size: 558 B |
Before Width: | Height: | Size: 915 B After Width: | Height: | Size: 915 B |
Before Width: | Height: | Size: 688 B After Width: | Height: | Size: 688 B |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 692 B After Width: | Height: | Size: 692 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
0
custom-example/updateinstrumentqrc.py → custom/updateinstrumentqrc.py
Executable file → Normal file
|
@ -18,7 +18,7 @@ ENV QT_DESKTOP $QT_PATH/${QT_VERSION}/gcc_64
|
|||
|
||||
ENV PATH /usr/lib/ccache:$QT_DESKTOP/bin:$PATH
|
||||
|
||||
RUN apt-get update && apt-get -y --quiet --no-install-recommends install \
|
||||
RUN apt update && apt -y --quiet --no-install-recommends install \
|
||||
apt-utils \
|
||||
binutils \
|
||||
build-essential \
|
||||
|
|
|
@ -10,9 +10,9 @@ QT_MODULES="${QT_MODULES:-qtcharts}"
|
|||
# Exit immediately if a command exits with a non-zero status
|
||||
set -e
|
||||
|
||||
apt-get update
|
||||
apt-get install python3 python3-pip -y
|
||||
apt update
|
||||
apt install python3 python3-pip -y
|
||||
pip3 install aqtinstall
|
||||
aqt install-qt ${QT_HOST} ${QT_TARGET} ${QT_VERSION} -O ${QT_PATH} -m ${QT_MODULES}
|
||||
aqt install --outputdir ${QT_PATH} ${QT_VERSION} ${QT_HOST} ${QT_TARGET} -m ${QT_MODULES}
|
||||
echo "Remember to export the following to your PATH: ${QT_PATH}/${QT_VERSION}/*/bin"
|
||||
echo "export PATH=$(readlink -e ${QT_PATH}/${QT_VERSION}/*/bin/):PATH"
|
|
@ -47,47 +47,40 @@ find "${SEARCHDIR}" \
|
|||
-executable \
|
||||
2>/dev/null |
|
||||
while IFS='' read -r library; do
|
||||
# Get the library's current RPATH (RUNPATH)
|
||||
# Example output of `readelf -d ./build/build-qgroundcontrol-Desktop_Qt_5_15_2_GCC_64bit-Debug/staging/QGroundControl`:
|
||||
# 0x000000000000001d (RUNPATH) Library runpath: [$ORIGIN/Qt/libs:/home/kbennett/storage/Qt/5.15.2/gcc_64/lib]
|
||||
#
|
||||
# It's possible there's no current rpath for a particular library, so turn
|
||||
# off pipefail to avoid grep causing it to die.
|
||||
# If you find a better way to do this, please fix.
|
||||
set +o pipefail
|
||||
current_rpath="$(
|
||||
# read the library, parsing its header
|
||||
# search for the RUNPATH field
|
||||
# filter out the human-readable text to leave only the RUNPATH value
|
||||
readelf -d "${library}" |
|
||||
grep -P '^ 0x[0-9a-f]+ +\(RUNPATH\) ' |
|
||||
sed -r 's/^ 0x[0-9a-f]+ +\(RUNPATH\) +Library runpath: \[(.*)\]$/\1/g'
|
||||
)"
|
||||
set -o pipefail
|
||||
|
||||
# readelf is expensive, so keep track of updates with a timestamp file
|
||||
if [ ! -e "$library.stamp" ] || [ "$library" -nt "$library.stamp" ]; then
|
||||
# Get the directory containing the library
|
||||
library_dir="$(dirname "${library}")"
|
||||
|
||||
# Get the library's current RPATH (RUNPATH)
|
||||
# Example output of `readelf -d ./build/build-qgroundcontrol-Desktop_Qt_5_15_2_GCC_64bit-Debug/staging/QGroundControl`:
|
||||
# 0x000000000000001d (RUNPATH) Library runpath: [$ORIGIN/Qt/libs:/home/kbennett/storage/Qt/5.15.2/gcc_64/lib]
|
||||
#
|
||||
# It's possible there's no current rpath for a particular library, so turn
|
||||
# off pipefail to avoid grep causing it to die.
|
||||
# If you find a better way to do this, please fix.
|
||||
set +o pipefail
|
||||
current_rpath="$(
|
||||
# read the library, parsing its header
|
||||
# search for the RUNPATH field
|
||||
# filter out the human-readable text to leave only the RUNPATH value
|
||||
readelf -d "${library}" |
|
||||
grep -P '^ 0x[0-9a-f]+ +\(RUNPATH\) ' |
|
||||
sed -r 's/^ 0x[0-9a-f]+ +\(RUNPATH\) +Library runpath: \[(.*)\]$/\1/g'
|
||||
)"
|
||||
set -o pipefail
|
||||
# Get the relative path from the library's directory to the Qt/libs directory.
|
||||
our_rpath="$(realpath --relative-to "${library_dir}" "${RPATHDIR}")"
|
||||
|
||||
# Get the directory containing the library
|
||||
library_dir="$(dirname "${library}")"
|
||||
# Calculate a new rpath with our library's rpath prefixed.
|
||||
# Note: '$ORIGIN' must not be expanded by the shell!
|
||||
# shellcheck disable=SC2016
|
||||
new_rpath='$ORIGIN/'"${our_rpath}"
|
||||
|
||||
# Get the relative path from the library's directory to the Qt/libs directory.
|
||||
our_rpath="$(realpath --relative-to "${library_dir}" "${RPATHDIR}")"
|
||||
|
||||
# Calculate a new rpath with our library's rpath prefixed.
|
||||
# Note: '$ORIGIN' must not be expanded by the shell!
|
||||
# shellcheck disable=SC2016
|
||||
new_rpath='$ORIGIN/'"${our_rpath}"
|
||||
|
||||
# If the library already had an rpath, then prefix ours to it.
|
||||
if [ -n "${current_rpath}" ]; then
|
||||
new_rpath="${new_rpath}:${current_rpath}"
|
||||
fi
|
||||
|
||||
# patch the library's rpath
|
||||
patchelf --set-rpath "${new_rpath}" "${library}"
|
||||
|
||||
touch "$library.stamp"
|
||||
# If the library already had an rpath, then prefix ours to it.
|
||||
if [ -n "${current_rpath}" ]; then
|
||||
new_rpath="${new_rpath}:${current_rpath}"
|
||||
fi
|
||||
|
||||
# patch the library's rpath
|
||||
patchelf --set-rpath "${new_rpath}" "${library}"
|
||||
done
|
||||
|
|
|
@ -97,7 +97,7 @@ doInstall:
|
|||
; QGC stores its own driver version key to prevent installation if already up to date
|
||||
; This prevents running the driver install a second time which will start up in repair mode which is confusing
|
||||
!define QGCDRIVERVERSIONKEY "SOFTWARE\QGroundControlUAVDrivers"
|
||||
!define QGCCURRENTDRIVERVERSION 3
|
||||
!define QGCCURRENTDRIVERVERSION 2
|
||||
|
||||
; If the drivers are already installed the key "HKCU/SOFTWARE\MichaelOborne\driver\installed" will be present and set to 1
|
||||
SetRegView 64
|
||||
|
|
|
@ -142,11 +142,15 @@ FILE_PATTERNS = *.c \
|
|||
*.py \
|
||||
*.qml
|
||||
RECURSIVE = YES
|
||||
EXCLUDE = ../src/PairingManager/NfcLibrary \
|
||||
EXCLUDE = ../src/Airmap/QJsonWebToken \
|
||||
../src/PairingManager/NfcLibrary \
|
||||
../src/PairingManager/NfcTask \
|
||||
../src/PairingManager/TML \
|
||||
../src/GPS/Drivers \
|
||||
../src/GPS/RTCM \
|
||||
../src/Airmap/QJsonWebToken \
|
||||
../src/Airmap/README.md \
|
||||
../src/QtLocationPlugin/qtlocation/README.md \
|
||||
../src/VideoStreaming/README.md
|
||||
EXCLUDE_SYMLINKS = NO
|
||||
EXCLUDE_PATTERNS = *Test.*
|
||||
|
|
|
@ -11,7 +11,3 @@ add_library(libevents_parser
|
|||
target_include_directories(libevents_parser PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
target_link_libraries(libevents_parser PUBLIC Qt5::Core)
|
||||
target_link_libraries(libevents_parser PUBLIC comm)
|
||||
|
||||
add_library(libevents_health_and_arming_checks
|
||||
libevents/libs/cpp/parse/health_and_arming_checks.cpp)
|
||||
target_link_libraries(libevents_health_and_arming_checks PRIVATE comm)
|
||||
|
|