Skip to content

Commit 25a7957

Browse files
committed
Done for now
1 parent 5dbc0d5 commit 25a7957

File tree

1,277 files changed

+185
-179048
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,277 files changed

+185
-179048
lines changed

QGCApplication.pro

+28-16
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,12 @@ include(QGCCommon.pri)
2121

2222
TARGET = qgroundcontrol
2323
TEMPLATE = app
24-
DESTDIR = $${OUT_PWD}/build
24+
25+
DebugBuild {
26+
DESTDIR = $${OUT_PWD}/debug
27+
} else {
28+
DESTDIR = $${OUT_PWD}/release
29+
}
2530

2631
# Load additional config flags from user_config.pri
2732
exists(user_config.pri):infile(user_config.pri, CONFIG) {
@@ -35,7 +40,7 @@ LinuxBuild {
3540

3641
# QGC QtLocation plugin (for ios, it's all compiled in with the rest.)
3742

38-
!ios {
43+
!iOSBuild {
3944
LIBS += -L$${LOCATION_PLUGIN_DESTDIR}
4045
LIBS += -l$${LOCATION_PLUGIN_NAME}
4146
}
@@ -78,18 +83,25 @@ QT += testlib
7883
#
7984

8085
MacBuild {
81-
QMAKE_INFO_PLIST = Custom-Info.plist
82-
ICON = $${BASEDIR}/resources/icons/macx.icns
83-
OTHER_FILES += Custom-Info.plist
86+
QMAKE_INFO_PLIST = Custom-Info.plist
87+
ICON = $${BASEDIR}/resources/icons/macx.icns
88+
OTHER_FILES += Custom-Info.plist
8489
}
8590

8691
iOSBuild {
87-
QMAKE_INFO_PLIST = $${BASEDIR}/ios/iOS-Info.plist
88-
OTHER_FILES += $${BASEDIR}/ios/iOS-Info.plist
89-
BUNDLE.files = $$files($$PWD/ios/AppIcon*.png) $$PWD/ios/LaunchScreen.xib
92+
BUNDLE.files = $$files($$PWD/ios/AppIcon*.png) $$PWD/ios/QGCLaunchScreen.xib
9093
QMAKE_BUNDLE_DATA += BUNDLE
9194
LIBS += -framework AVFoundation
9295
OBJECTIVE_SOURCES += src/audio/QGCAudioWorker_iOS.mm
96+
#-- Info.plist (need an "official" one for the App Store)
97+
ForAppStore {
98+
message(App Store Build)
99+
QMAKE_INFO_PLIST = $${BASEDIR}/ios/iOSForAppStore-Info.plist
100+
OTHER_FILES += $${BASEDIR}/ios/iOSForAppStore-Info.plist
101+
} else {
102+
QMAKE_INFO_PLIST = $${BASEDIR}/ios/iOS-Info.plist
103+
OTHER_FILES += $${BASEDIR}/ios/iOS-Info.plist
104+
}
93105
#-- TODO: Add iTunesArtwork
94106
}
95107

@@ -662,6 +674,14 @@ AndroidBuild {
662674
$$PWD/android/src/com/hoho/android/usbserial/driver/UsbSerialRuntimeException.java \
663675
$$PWD/android/src/org/qgroundcontrol/qgchelper/UsbDeviceJNI.java \
664676
$$PWD/android/src/org/qgroundcontrol/qgchelper/UsbIoManager.java
677+
678+
DISTFILES += \
679+
android/gradle/wrapper/gradle-wrapper.jar \
680+
android/gradlew \
681+
android/res/values/libs.xml \
682+
android/build.gradle \
683+
android/gradle/wrapper/gradle-wrapper.properties \
684+
android/gradlew.bat
665685
}
666686

667687
#-------------------------------------------------------------------------------------
@@ -676,11 +696,3 @@ include(QGCSetup.pri)
676696
#
677697

678698
include(QGCInstaller.pri)
679-
680-
DISTFILES += \
681-
android/gradle/wrapper/gradle-wrapper.jar \
682-
android/gradlew \
683-
android/res/values/libs.xml \
684-
android/build.gradle \
685-
android/gradle/wrapper/gradle-wrapper.properties \
686-
android/gradlew.bat

QGCCommon.pri

+1-1
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ win32:debug_and_release {
122122

123123
BASEDIR = $$IN_PWD
124124

125-
!ios {
125+
!iOSBuild {
126126
OBJECTS_DIR = $${OUT_PWD}/obj
127127
MOC_DIR = $${OUT_PWD}/moc
128128
UI_DIR = $${OUT_PWD}/ui

QGCInstaller.pri

+14-12
Original file line numberDiff line numberDiff line change
@@ -23,39 +23,41 @@ installer {
2323
VideoEnabled {
2424
# Install the gstreamer framework
2525
# This will:
26-
# Copy from the original distibution into libs/lib/Framworks (if not already there)
26+
# Copy from the original distibution into DESTDIR/gstwork (if not already there)
2727
# Prune the framework, removing stuff we don't need
2828
# Relocate all dylibs so they can work under @executable_path/...
2929
# Copy the result into the app bundle
3030
# Make sure qgroundcontrol can find them
3131
message("Preparing GStreamer Framework")
32-
QMAKE_POST_LINK += && $$BASEDIR/tools/prepare_gstreamer_framework.sh $$BASEDIR/libs/lib/Frameworks/ $$DESTDIR/$${TARGET}.app $${TARGET}
32+
QMAKE_POST_LINK += && $$BASEDIR/tools/prepare_gstreamer_framework.sh $${OUT_PWD}/gstwork/ $${DESTDIR}/$${TARGET}.app $${TARGET}
3333
} else {
3434
message("Skipping GStreamer Framework")
3535
}
3636
# We cd to release directory so we can run macdeployqt without a path to the
3737
# qgroundcontrol.app file. If you specify a path to the .app file the symbolic
3838
# links to plugins will not be created correctly.
39-
QMAKE_POST_LINK += && cd release && mkdir package
40-
QMAKE_POST_LINK += && $$dirname(QMAKE_QMAKE)/macdeployqt qgroundcontrol.app -verbose=2 -qmldir=../src
41-
QMAKE_POST_LINK += && cd ..
39+
QMAKE_POST_LINK += && cd $${DESTDIR} && mkdir package
40+
QMAKE_POST_LINK += && $$dirname(QMAKE_QMAKE)/macdeployqt qgroundcontrol.app -verbose=2 -qmldir=$${BASEDIR}/src
41+
QMAKE_POST_LINK += && cd $${OUT_PWD}
4242
QMAKE_POST_LINK += && hdiutil create -layout SPUD -srcfolder $${DESTDIR}/qgroundcontrol.app -volname QGroundControl $${DESTDIR}/package/qgroundcontrol.dmg
4343
}
4444
WindowsBuild {
45-
# The pdb moving command are commented out for now since we are including the .pdb in the installer. This makes it much
46-
# easier to debug user crashes.
47-
#QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY $${DESTDIR_WIN}\\qgroundcontrol.pdb
48-
#QMAKE_POST_LINK += $$escape_expand(\\n) del $${DESTDIR_WIN}\\qgroundcontrol.pdb
45+
# The pdb moving command are commented out for now since we are including the .pdb in the installer. This makes it much
46+
# easier to debug user crashes.
47+
#QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY $${DESTDIR_WIN}\\qgroundcontrol.pdb
48+
#QMAKE_POST_LINK += $$escape_expand(\\n) del $${DESTDIR_WIN}\\qgroundcontrol.pdb
4949
QMAKE_POST_LINK += $$escape_expand(\\n) $$quote("\"C:\\Program Files \(x86\)\\NSIS\\makensis.exe\"" /NOCD "\"/XOutFile $${DESTDIR_WIN}\\qgroundcontrol-installer.exe\"" "$$BASEDIR_WIN\\deploy\\qgroundcontrol_installer.nsi")
50-
#QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY qgroundcontrol.pdb $${DESTDIR_WIN}
51-
#QMAKE_POST_LINK += $$escape_expand(\\n) del qgroundcontrol.pdb
50+
#QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY qgroundcontrol.pdb $${DESTDIR_WIN}
51+
#QMAKE_POST_LINK += $$escape_expand(\\n) del qgroundcontrol.pdb
5252
OTHER_FILES += deploy/qgroundcontrol_installer.nsi
5353
}
5454
LinuxBuild {
55+
#-- TODO: This uses hardcoded paths. It should use $${DESTDIR}
5556
QMAKE_POST_LINK += && mkdir -p release/package
56-
QMAKE_POST_LINK += && tar -cjf release/package/qgroundcontrol.tar.bz2 release --exclude='package' --transform 's/release/qgroundcontrol/'
57+
QMAKE_POST_LINK += && tar -cjf release/package/qgroundcontrol.tar.bz2 release --exclude='package' --transform 's/release/qgroundcontrol/'
5758
}
5859
AndroidBuild {
60+
#-- TODO: This uses hardcoded paths. It should use $${DESTDIR}
5961
QMAKE_POST_LINK += && mkdir -p release/package
6062
QMAKE_POST_LINK += && make install INSTALL_ROOT=release/android-build/
6163
QMAKE_POST_LINK += && androiddeployqt --input android-libqgroundcontrol.so-deployment-settings.json --output release/android-build --deployment bundled --gradle --sign android/android_release.keystore dagar --storepass $$(ANDROID_STOREPASS)

QGCSetup.pri

+20-116
Original file line numberDiff line numberDiff line change
@@ -51,106 +51,10 @@ WindowsBuild {
5151
#
5252

5353
MacBuild {
54-
55-
# Copy non-standard libraries and frameworks into app package
56-
QMAKE_POST_LINK += && $$QMAKE_COPY_DIR $$BASEDIR/libs/lib/mac64/lib $$DESTDIR/$${TARGET}.app/Contents/libs
54+
# Copy non-standard frameworks into app package
5755
QMAKE_POST_LINK += && rsync -a --delete $$BASEDIR/libs/lib/Frameworks $$DESTDIR/$${TARGET}.app/Contents/
58-
59-
# Fix library paths inside executable
60-
61-
INSTALL_NAME_TARGET = $$DESTDIR/$${TARGET}.app/Contents/MacOS/$${TARGET}
62-
INSTALL_NAME_LIB_LIST = \
63-
libOpenThreads.dylib \
64-
libosg.dylib \
65-
libosgViewer.dylib \
66-
libosgGA.dylib \
67-
libosgDB.dylib \
68-
libosgText.dylib \
69-
libosgWidget.dylib
70-
for(INSTALL_NAME_LIB, INSTALL_NAME_LIB_LIST) {
71-
QMAKE_POST_LINK += && install_name_tool -change $$INSTALL_NAME_LIB "@executable_path/../libs/$${INSTALL_NAME_LIB}" $$INSTALL_NAME_TARGET
72-
}
73-
74-
# Fix library paths within libraries (inter-library dependencies)
75-
76-
# OSG GA LIBRARY
77-
INSTALL_NAME_TARGET = $$DESTDIR/$${TARGET}.app/Contents/libs/libosgGA.dylib
78-
INSTALL_NAME_LIB_LIST = \
79-
libOpenThreads.dylib \
80-
libosg.dylib \
81-
libosgGA.dylib \
82-
libosgDB.dylib \
83-
libosgUtil.dylib
84-
for(INSTALL_NAME_LIB, INSTALL_NAME_LIB_LIST) {
85-
QMAKE_POST_LINK += && install_name_tool -change $$INSTALL_NAME_LIB "@executable_path/../libs/$${INSTALL_NAME_LIB}" $$INSTALL_NAME_TARGET
86-
}
87-
88-
# OSG DB LIBRARY
89-
INSTALL_NAME_TARGET = $$DESTDIR/$${TARGET}.app/Contents/libs/libosgDB.dylib
90-
INSTALL_NAME_LIB_LIST = \
91-
libOpenThreads.dylib \
92-
libosg.dylib \
93-
libosgDB.dylib \
94-
libosgUtil.dylib
95-
for(INSTALL_NAME_LIB, INSTALL_NAME_LIB_LIST) {
96-
QMAKE_POST_LINK += && install_name_tool -change $$INSTALL_NAME_LIB "@executable_path/../libs/$${INSTALL_NAME_LIB}" $$INSTALL_NAME_TARGET
97-
}
98-
99-
# OSG TEXT LIBRARY
100-
INSTALL_NAME_TARGET = $$DESTDIR/$${TARGET}.app/Contents/libs/libosgText.dylib
101-
INSTALL_NAME_LIB_LIST = \
102-
libOpenThreads.dylib \
103-
libosg.dylib \
104-
libosgDB.dylib \
105-
libosgUtil.dylib \
106-
libosgText.dylib
107-
for(INSTALL_NAME_LIB, INSTALL_NAME_LIB_LIST) {
108-
QMAKE_POST_LINK += && install_name_tool -change $$INSTALL_NAME_LIB "@executable_path/../libs/$${INSTALL_NAME_LIB}" $$INSTALL_NAME_TARGET
109-
}
110-
111-
# OSG UTIL LIBRARY
112-
INSTALL_NAME_TARGET = $$DESTDIR/$${TARGET}.app/Contents/libs/libosgUtil.dylib
113-
INSTALL_NAME_LIB_LIST = \
114-
libOpenThreads.dylib \
115-
libosg.dylib
116-
for(INSTALL_NAME_LIB, INSTALL_NAME_LIB_LIST) {
117-
QMAKE_POST_LINK += && install_name_tool -change $$INSTALL_NAME_LIB "@executable_path/../libs/$${INSTALL_NAME_LIB}" $$INSTALL_NAME_TARGET
118-
}
119-
120-
121-
# OSG VIEWER LIBRARY
122-
INSTALL_NAME_TARGET = $$DESTDIR/$${TARGET}.app/Contents/libs/libosgViewer.dylib
123-
INSTALL_NAME_LIB_LIST = \
124-
libOpenThreads.dylib \
125-
libosg.dylib \
126-
libosgGA.dylib \
127-
libosgDB.dylib \
128-
libosgUtil.dylib \
129-
libosgText.dylib
130-
for(INSTALL_NAME_LIB, INSTALL_NAME_LIB_LIST) {
131-
QMAKE_POST_LINK += && install_name_tool -change $$INSTALL_NAME_LIB "@executable_path/../libs/$${INSTALL_NAME_LIB}" $$INSTALL_NAME_TARGET
132-
}
133-
134-
# OSG WIDGET LIBRARY
135-
INSTALL_NAME_TARGET = $$DESTDIR/$${TARGET}.app/Contents/libs/libosgWidget.dylib
136-
INSTALL_NAME_LIB_LIST = \
137-
libOpenThreads.dylib \
138-
libosg.dylib \
139-
libosgGA.dylib \
140-
libosgDB.dylib \
141-
libosgUtil.dylib \
142-
libosgText.dylib \
143-
libosgViewer.dylib
144-
for(INSTALL_NAME_LIB, INSTALL_NAME_LIB_LIST) {
145-
QMAKE_POST_LINK += && install_name_tool -change $$INSTALL_NAME_LIB "@executable_path/../libs/$${INSTALL_NAME_LIB}" $$INSTALL_NAME_TARGET
146-
}
147-
148-
# CORE OSG LIBRARY
149-
QMAKE_POST_LINK += && install_name_tool -change libOpenThreads.dylib "@executable_path/../libs/libOpenThreads.dylib" $$DESTDIR/$${TARGET}.app/Contents/libs/libosg.dylib
150-
15156
# SDL Framework
15257
QMAKE_POST_LINK += && install_name_tool -change "@rpath/SDL.framework/Versions/A/SDL" "@executable_path/../Frameworks/SDL.framework/Versions/A/SDL" $$DESTDIR/$${TARGET}.app/Contents/MacOS/$${TARGET}
153-
15458
}
15559

15660
WindowsBuild {
@@ -165,29 +69,29 @@ WindowsBuild {
16569
$$BASEDIR\\libs\\thirdParty\\libxbee\\lib\\libxbee.dll
16670

16771
for(COPY_FILE, COPY_FILE_LIST) {
168-
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"$$COPY_FILE\" \"$$DESTDIR_WIN\"
72+
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"$$COPY_FILE\" \"$$DESTDIR_WIN\"
16973
}
17074

17175

17276
ReleaseBuild {
173-
# Copy Visual Studio DLLs
174-
# Note that this is only done for release because the debugging versions of these DLLs cannot be redistributed.
175-
win32-msvc2010 {
176-
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcp100.dll\" \"$$DESTDIR_WIN\"
177-
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcr100.dll\" \"$$DESTDIR_WIN\"
178-
}
179-
else:win32-msvc2012 {
180-
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcp110.dll\" \"$$DESTDIR_WIN\"
181-
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcr110.dll\" \"$$DESTDIR_WIN\"
182-
}
183-
else:win32-msvc2013 {
184-
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcp120.dll\" \"$$DESTDIR_WIN\"
185-
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcr120.dll\" \"$$DESTDIR_WIN\"
186-
}
187-
else {
188-
error("Visual studio version not supported, installation cannot be completed.")
189-
}
190-
}
77+
# Copy Visual Studio DLLs
78+
# Note that this is only done for release because the debugging versions of these DLLs cannot be redistributed.
79+
win32-msvc2010 {
80+
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcp100.dll\" \"$$DESTDIR_WIN\"
81+
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcr100.dll\" \"$$DESTDIR_WIN\"
82+
}
83+
else:win32-msvc2012 {
84+
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcp110.dll\" \"$$DESTDIR_WIN\"
85+
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcr110.dll\" \"$$DESTDIR_WIN\"
86+
}
87+
else:win32-msvc2013 {
88+
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcp120.dll\" \"$$DESTDIR_WIN\"
89+
QMAKE_POST_LINK += $$escape_expand(\\n) $$QMAKE_COPY \"C:\\Windows\\System32\\msvcr120.dll\" \"$$DESTDIR_WIN\"
90+
}
91+
else {
92+
error("Visual studio version not supported, installation cannot be completed.")
93+
}
94+
}
19195

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

android_environment.sh

+4-12
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash
22
#----------------------------------------------------------
33
# You will need:
4-
# - Qt 5.4 android_armv7 kit
4+
# - Qt 5.5.x android_armv7 kit
55
# - Android SDK
66
# - Androig NDK
77
# - Current Java
@@ -10,7 +10,7 @@
1010
# Update with correct location for these
1111
export ANDROID_HOME=~/Library/Android/sdk
1212
export ANDROID_SDK_ROOT=~/Library/Android/sdk
13-
export ANDROID_NDK_ROOT=~/Library/Android/ndk
13+
export ANDROID_NDK_ROOT=~/Library/Android/sdk/ndk-bundle
1414
export ANDROID_NDK_HOST=darwin-x86_64
1515
export ANDROID_NDK_PLATFORM=/android-9
1616
export ANDROID_NDK_TOOLCHAIN_PREFIX=arm-linux-androideabi
@@ -19,19 +19,11 @@ export ANDROID_NDK_TOOLS_PREFIX=arm-linux-androideabi
1919
#----------------------------------------------------------
2020
# To build it, run (replacing the path with where you have Qt installed)
2121
#
22-
# For a shadow build: (strongly recomended)
23-
#
2422
# >source android_environment.sh
2523
# cd ../
2624
# mkdir android_build
2725
# cd android_build
2826
# >~/local/Qt/5.4/android_armv7/bin/qmake -r -spec android-g++ CONFIG+=debug ../qgroundcontrol/qgroundcontrol.pro
29-
# >make -j24
30-
# >~/local/Qt/5.4/android_armv7/bin/androiddeployqt --input ./android-libqgroundcontrol.so-deployment-settings.json --output ./android-build --deployment bundled --android-platform android-22 --jdk /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home --verbose --ant /opt/local/bin/ant
31-
#
32-
# For an in place build (not recomended)
27+
# >make -j24 install INSTALL_ROOT=./android-build/
28+
# >~/local/Qt/5.4/android_armv7/bin/androiddeployqt --input ./android-libqgroundcontrol.so-deployment-settings.json --output ./android-build --deployment bundled --android-platform android-22 --jdk /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home --verbose --ant /usr/local/bin/ant
3329
#
34-
# >source android_environment.sh
35-
# >~/local/Qt/5.4/android_armv7/bin/qmake -r -spec android-g++ CONFIG+=debug qgroundcontrol.pro
36-
# >make -j24
37-
# >~/local/Qt/5.4/android_armv7/bin/androiddeployqt --input ./android-libqgroundcontrol.so-deployment-settings.json --output ./android-build --deployment bundled --android-platform android-22 --jdk /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home --verbose --ant /opt/local/bin/ant
File renamed without changes.

ios/iOS-Info.plist

+3-3
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<key>CFBundleIconFile</key>
1212
<string></string>
1313
<key>CFBundleIdentifier</key>
14-
<string>com.grubba.qgroundcontrol</string>
14+
<string>org.mavlink.qgroundcontrol</string>
1515
<key>CFBundleName</key>
1616
<string>QGroundControl</string>
1717
<key>CFBundlePackageType</key>
@@ -27,13 +27,13 @@
2727
<key>NOTE</key>
2828
<string>This file was generated by Qt/QMake.</string>
2929
<key>UILaunchStoryboardName</key>
30-
<string>LaunchScreen.xib</string>
30+
<string>QGCLaunchScreen</string>
3131
<key>UIRequiresFullScreen</key>
3232
<true/>
3333
<key>CFBundleInfoDictionaryVersion</key>
3434
<string>6.0</string>
3535
<key>ForAppStore</key>
36-
<string>Yes</string>
36+
<string>No</string>
3737
<key>UISupportedInterfaceOrientations</key>
3838
<array>
3939
<string>UIInterfaceOrientationLandscapeLeft</string>

0 commit comments

Comments
 (0)