QGCApplication.pro 21.7 KB
Newer Older
Lorenz Meier's avatar
Lorenz Meier committed
1 2 3 4 5
# -------------------------------------------------
# QGroundControl - Micro Air Vehicle Groundstation
# Please see our website at <http://qgroundcontrol.org>
# Maintainer:
# Lorenz Meier <lm@inf.ethz.ch>
Lorenz Meier's avatar
Lorenz Meier committed
6
# (c) 2009-2014 QGroundControl Developers
Lorenz Meier's avatar
Lorenz Meier committed
7 8 9 10 11 12 13 14 15 16 17 18 19
# This file is part of the open groundstation project
# QGroundControl is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# QGroundControl is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with QGroundControl. If not, see <http://www.gnu.org/licenses/>.
# -------------------------------------------------

20
include(QGCCommon.pri)
Don Gagne's avatar
Don Gagne committed
21

dogmaphobic's avatar
dogmaphobic committed
22
TARGET   = qgroundcontrol
Daniel Agar's avatar
Daniel Agar committed
23
TEMPLATE = app
dogmaphobic's avatar
dogmaphobic committed
24 25 26 27 28 29

DebugBuild {
    DESTDIR  = $${OUT_PWD}/debug
} else {
    DESTDIR  = $${OUT_PWD}/release
}
dogmaphobic's avatar
dogmaphobic committed
30

31 32 33 34 35 36
# Load additional config flags from user_config.pri
exists(user_config.pri):infile(user_config.pri, CONFIG) {
    CONFIG += $$fromfile(user_config.pri, CONFIG)
    message($$sprintf("Using user-supplied additional config: '%1' specified in user_config.pri", $$fromfile(user_config.pri, CONFIG)))
}

37 38
LinuxBuild {
    CONFIG += link_pkgconfig
Don Gagne's avatar
Don Gagne committed
39
}
40

dogmaphobic's avatar
dogmaphobic committed
41
# QGC QtLocation plugin (for ios, it's all compiled in with the rest.)
42

dogmaphobic's avatar
dogmaphobic committed
43
!iOSBuild {
dogmaphobic's avatar
dogmaphobic committed
44 45
    LIBS += -L$${LOCATION_PLUGIN_DESTDIR}
    LIBS += -l$${LOCATION_PLUGIN_NAME}
46 47
}

Lorenz Meier's avatar
Lorenz Meier committed
48
# Qt configuration
49

Lorenz Meier's avatar
Lorenz Meier committed
50
CONFIG += qt \
Don Gagne's avatar
Don Gagne committed
51
    thread
Bill Bonney's avatar
Bill Bonney committed
52

dogmaphobic's avatar
dogmaphobic committed
53 54
QT += \
    network \
55 56
    concurrent \
    gui \
dogmaphobic's avatar
dogmaphobic committed
57 58 59
    location \
    opengl \
    positioning \
Don Gagne's avatar
Don Gagne committed
60
    qml \
61
    quick \
62
    quickwidgets \
dogmaphobic's avatar
dogmaphobic committed
63 64 65 66
    sql \
    svg \
    widgets \
    xml \
67

dogmaphobic's avatar
dogmaphobic committed
68 69 70 71
!MobileBuild {
    QT += \
    printsupport \
    serialport \
dogmaphobic's avatar
dogmaphobic committed
72 73
}

74 75 76
contains(DEFINES, QGC_NOTIFY_TUNES_ENABLED) {
    QT += multimedia
}
77

78 79
#  testlib is needed even in release flavor for QSignalSpy support
QT += testlib
Don Gagne's avatar
Don Gagne committed
80

Don Gagne's avatar
Don Gagne committed
81 82 83
#
# OS Specific settings
#
84

Don Gagne's avatar
Don Gagne committed
85
MacBuild {
dogmaphobic's avatar
dogmaphobic committed
86 87 88
    QMAKE_INFO_PLIST    = Custom-Info.plist
    ICON                = $${BASEDIR}/resources/icons/macx.icns
    OTHER_FILES        += Custom-Info.plist
dogmaphobic's avatar
dogmaphobic committed
89 90 91
}

iOSBuild {
dogmaphobic's avatar
dogmaphobic committed
92
    BUNDLE.files        = $$files($$PWD/ios/AppIcon*.png) $$PWD/ios/QGCLaunchScreen.xib
93
    QMAKE_BUNDLE_DATA  += BUNDLE
dogmaphobic's avatar
dogmaphobic committed
94 95
    LIBS               += -framework AVFoundation
    OBJECTIVE_SOURCES  += src/audio/QGCAudioWorker_iOS.mm
dogmaphobic's avatar
dogmaphobic committed
96 97 98 99 100 101 102 103 104
    #-- Info.plist (need an "official" one for the App Store)
    ForAppStore {
        message(App Store Build)
        QMAKE_INFO_PLIST  = $${BASEDIR}/ios/iOSForAppStore-Info.plist
        OTHER_FILES      += $${BASEDIR}/ios/iOSForAppStore-Info.plist
    } else {
        QMAKE_INFO_PLIST  = $${BASEDIR}/ios/iOS-Info.plist
        OTHER_FILES      += $${BASEDIR}/ios/iOS-Info.plist
    }
dogmaphobic's avatar
dogmaphobic committed
105
    #-- TODO: Add iTunesArtwork
Don Gagne's avatar
Don Gagne committed
106
}
107

Don Gagne's avatar
Don Gagne committed
108
LinuxBuild {
109
    CONFIG += qesp_linux_udev
Don Gagne's avatar
Don Gagne committed
110 111 112
}

WindowsBuild {
dogmaphobic's avatar
dogmaphobic committed
113
    RC_FILE = $${BASEDIR}/qgroundcontrol.rc
Don Gagne's avatar
Don Gagne committed
114
}
Lorenz Meier's avatar
Lorenz Meier committed
115

Don Gagne's avatar
Don Gagne committed
116
#
Bryant's avatar
Bryant committed
117
# Build-specific settings
Don Gagne's avatar
Don Gagne committed
118
#
Lorenz Meier's avatar
Lorenz Meier committed
119

Don Gagne's avatar
Don Gagne committed
120
DebugBuild {
dogmaphobic's avatar
dogmaphobic committed
121
!iOSBuild {
Don Gagne's avatar
Don Gagne committed
122
    CONFIG += console
Lorenz Meier's avatar
Lorenz Meier committed
123
}
dogmaphobic's avatar
dogmaphobic committed
124
}
Lorenz Meier's avatar
Lorenz Meier committed
125

dogmaphobic's avatar
dogmaphobic committed
126
!MobileBuild {
127 128
# qextserialport should not be used by general QGroundControl code. Use QSerialPort instead. This is only
# here to support special case Firmware Upgrade code.
129
include(libs/qextserialport/src/qextserialport.pri)
130
}
131

Don Gagne's avatar
Don Gagne committed
132 133 134
#
# External library configuration
#
135

Don Gagne's avatar
Don Gagne committed
136
include(QGCExternalLibs.pri)
137

Don Gagne's avatar
Don Gagne committed
138 139 140
#
# Main QGroundControl portion of project file
#
141

142 143 144
RESOURCES += \
    qgroundcontrol.qrc \
    qgcresources.qrc
Bill Bonney's avatar
Bill Bonney committed
145

Don Gagne's avatar
Don Gagne committed
146 147
DEPENDPATH += \
    . \
Bill Bonney's avatar
Bill Bonney committed
148 149 150
    plugins

INCLUDEPATH += .
Lorenz Meier's avatar
Lorenz Meier committed
151

Don Gagne's avatar
Don Gagne committed
152
INCLUDEPATH += \
dogmaphobic's avatar
dogmaphobic committed
153
    include/ui \
Don Gagne's avatar
Don Gagne committed
154
    src \
155
    src/audio \
dogmaphobic's avatar
dogmaphobic committed
156 157
    src/AutoPilotPlugins \
    src/comm \
158
    src/FlightDisplay \
159
    src/FlightMap \
Don Gagne's avatar
Don Gagne committed
160
    src/input \
161
    src/Joystick \
Don Gagne's avatar
Don Gagne committed
162
    src/lib/qmapcontrol \
Don Gagne's avatar
Don Gagne committed
163
    src/MissionEditor \
Don Gagne's avatar
Don Gagne committed
164
    src/MissionManager \
dogmaphobic's avatar
dogmaphobic committed
165 166 167 168 169 170
    src/QmlControls \
    src/uas \
    src/ui \
    src/ui/linechart \
    src/ui/map \
    src/ui/mapdisplay \
Don Gagne's avatar
Don Gagne committed
171
    src/ui/mission \
172
    src/ui/px4_configuration \
dogmaphobic's avatar
dogmaphobic committed
173
    src/ui/toolbar \
dogmaphobic's avatar
dogmaphobic committed
174
    src/ui/uas \
175
    src/VehicleSetup \
dogmaphobic's avatar
dogmaphobic committed
176
    src/ViewWidgets \
Lorenz Meier's avatar
Lorenz Meier committed
177

Don Gagne's avatar
Don Gagne committed
178
FORMS += \
dogmaphobic's avatar
dogmaphobic committed
179
    src/QGCQmlWidgetHolder.ui \
Don Gagne's avatar
Don Gagne committed
180
    src/ui/LogReplayLinkConfigurationWidget.ui \
dogmaphobic's avatar
dogmaphobic committed
181 182
    src/ui/MainWindow.ui \
    src/ui/MAVLinkSettingsWidget.ui \
183
    src/ui/MockLinkConfiguration.ui \
dogmaphobic's avatar
dogmaphobic committed
184 185 186 187 188 189 190 191
    src/ui/QGCCommConfiguration.ui \
    src/ui/QGCLinkConfiguration.ui \
    src/ui/QGCMapRCToParamDialog.ui \
    src/ui/QGCMAVLinkLogPlayer.ui \
    src/ui/QGCPluginHost.ui \
    src/ui/QGCTCPLinkConfiguration.ui \
    src/ui/QGCUDPLinkConfiguration.ui \
    src/ui/SettingsDialog.ui \
192
    src/ui/uas/QGCUnconnectedInfoWidget.ui \
dogmaphobic's avatar
dogmaphobic committed
193
    src/ui/uas/UASMessageView.ui \
194

dogmaphobic's avatar
dogmaphobic committed
195 196 197 198 199 200
!iOSBuild {
FORMS += \
    src/ui/SerialSettings.ui \
}

!MobileBuild {
dogmaphobic's avatar
dogmaphobic committed
201
FORMS += \
Don Gagne's avatar
Don Gagne committed
202
    src/ui/Linechart.ui \
203
    src/ui/MultiVehicleDockWidget.ui \
Don Gagne's avatar
Don Gagne committed
204
    src/ui/QGCDataPlot2D.ui \
dogmaphobic's avatar
dogmaphobic committed
205 206 207 208
    src/ui/QGCHilConfiguration.ui \
    src/ui/QGCHilFlightGearConfiguration.ui \
    src/ui/QGCHilJSBSimConfiguration.ui \
    src/ui/QGCHilXPlaneConfiguration.ui \
209 210 211 212 213 214 215 216
    src/ui/QGCMAVLinkInspector.ui \
    src/ui/QGCTabbedInfoView.ui \
    src/ui/QGCUASFileView.ui \
    src/ui/QGCUASFileViewMulti.ui \
    src/ui/uas/UASQuickView.ui \
    src/ui/uas/UASQuickViewItemSelect.ui \
    src/ui/UASInfo.ui \
}
dogmaphobic's avatar
dogmaphobic committed
217

Don Gagne's avatar
Don Gagne committed
218
HEADERS += \
dogmaphobic's avatar
dogmaphobic committed
219 220 221
    src/audio/QGCAudioWorker.h \
    src/CmdLineOptParser.h \
    src/comm/LinkConfiguration.h \
Lorenz Meier's avatar
Lorenz Meier committed
222
    src/comm/LinkInterface.h \
dogmaphobic's avatar
dogmaphobic committed
223
    src/comm/LinkManager.h \
Don Gagne's avatar
Don Gagne committed
224
    src/comm/LogReplayLink.h \
Lorenz Meier's avatar
Lorenz Meier committed
225
    src/comm/MAVLinkProtocol.h \
226
    src/comm/MockLink.h \
227
    src/comm/MockLinkFileServer.h \
228
    src/comm/MockLinkMissionItemHandler.h \
dogmaphobic's avatar
dogmaphobic committed
229 230
    src/comm/ProtocolInterface.h \
    src/comm/QGCMAVLink.h \
Don Gagne's avatar
Don Gagne committed
231
    src/comm/TCPLink.h \
dogmaphobic's avatar
dogmaphobic committed
232
    src/comm/UDPLink.h \
233
    src/FlightDisplay/FlightDisplayViewController.h \
234
    src/FlightMap/FlightMapSettings.h \
Lorenz Meier's avatar
Lorenz Meier committed
235
    src/GAudioOutput.h \
236
    src/HomePositionManager.h \
237 238
    src/Joystick/Joystick.h \
    src/Joystick/JoystickManager.h \
Lorenz Meier's avatar
Lorenz Meier committed
239
    src/LogCompressor.h \
dogmaphobic's avatar
dogmaphobic committed
240
    src/MG.h \
Don Gagne's avatar
Don Gagne committed
241
    src/MissionManager/MissionManager.h \
242
    src/MissionManager/MissionController.h \
Lorenz Meier's avatar
Lorenz Meier committed
243
    src/QGC.h \
dogmaphobic's avatar
dogmaphobic committed
244 245 246
    src/QGCApplication.h \
    src/QGCComboBox.h \
    src/QGCConfig.h \
247
    src/QGCDockWidget.h \
dogmaphobic's avatar
dogmaphobic committed
248 249 250 251 252 253 254 255
    src/QGCFileDialog.h \
    src/QGCGeo.h \
    src/QGCLoggingCategory.h \
    src/QGCMessageBox.h \
    src/QGCPalette.h \
    src/QGCQmlWidgetHolder.h \
    src/QGCQuickWidget.h \
    src/QGCTemporaryFile.h \
256
    src/QGCToolbox.h \
257
    src/QmlControls/CoordinateVector.h \
258
    src/QmlControls/MavlinkQmlSingleton.h \
dogmaphobic's avatar
dogmaphobic committed
259
    src/QmlControls/ParameterEditorController.h \
Don Gagne's avatar
Don Gagne committed
260
    src/QmlControls/ScreenToolsController.h \
261
    src/QmlControls/QGCQGeoCoordinate.h \
262
    src/QmlControls/QGroundControlQmlGlobal.h \
263
    src/QmlControls/QmlObjectListModel.h \
264
    src/SerialPortIds.h \
265
    src/uas/FileManager.h \
dogmaphobic's avatar
dogmaphobic committed
266 267 268
    src/uas/UAS.h \
    src/uas/UASInterface.h \
    src/uas/UASMessageHandler.h \
Don Gagne's avatar
Don Gagne committed
269
    src/ui/LogReplayLinkConfigurationWidget.h \
dogmaphobic's avatar
dogmaphobic committed
270 271 272
    src/ui/MainWindow.h \
    src/ui/MAVLinkDecoder.h \
    src/ui/MAVLinkSettingsWidget.h \
273
    src/ui/MockLinkConfiguration.h \
dogmaphobic's avatar
dogmaphobic committed
274 275 276 277 278 279 280 281
    src/ui/QGCCommConfiguration.h \
    src/ui/QGCLinkConfiguration.h \
    src/ui/QGCMapRCToParamDialog.h \
    src/ui/QGCMAVLinkLogPlayer.h \
    src/ui/QGCPluginHost.h \
    src/ui/QGCTCPLinkConfiguration.h \
    src/ui/QGCUDPLinkConfiguration.h \
    src/ui/SettingsDialog.h \
282
    src/ui/toolbar/MainToolBarController.h \
283
    src/ui/uas/QGCUnconnectedInfoWidget.h \
dogmaphobic's avatar
dogmaphobic committed
284
    src/ui/uas/UASMessageView.h \
285
    src/MissionItem.h \
dogmaphobic's avatar
dogmaphobic committed
286
    src/AutoPilotPlugins/PX4/PX4AirframeLoader.h \
dogmaphobic's avatar
dogmaphobic committed
287
    src/QmlControls/QGCImageProvider.h \
Lorenz Meier's avatar
Lorenz Meier committed
288

289 290 291 292 293
WindowsBuild {
    PRECOMPILED_HEADER += src/stable_headers.h
    HEADERS += src/stable_headers.h
}

dogmaphobic's avatar
dogmaphobic committed
294
!iOSBuild {
dogmaphobic's avatar
dogmaphobic committed
295
HEADERS += \
dogmaphobic's avatar
dogmaphobic committed
296 297 298 299 300 301 302 303 304 305
    src/comm/SerialLink.h \
    src/ui/SerialConfigurationWindow.h \
}

!MobileBuild {
HEADERS += \
    src/comm/QGCFlightGearLink.h \
    src/comm/QGCHilLink.h \
    src/comm/QGCJSBSimLink.h \
    src/comm/QGCXPlaneLink.h \
306
    src/ui/HILDockWidget.h \
Don Gagne's avatar
Don Gagne committed
307 308 309 310 311 312 313
    src/ui/linechart/ChartPlot.h \
    src/ui/linechart/IncrementalPlot.h \
    src/ui/linechart/LinechartPlot.h \
    src/ui/linechart/Linecharts.h \
    src/ui/linechart/LinechartWidget.h \
    src/ui/linechart/Scrollbar.h \
    src/ui/linechart/ScrollZoomer.h \
314
    src/ui/MultiVehicleDockWidget.h \
Don Gagne's avatar
Don Gagne committed
315
    src/ui/QGCDataPlot2D.h \
dogmaphobic's avatar
dogmaphobic committed
316 317 318 319
    src/ui/QGCHilConfiguration.h \
    src/ui/QGCHilFlightGearConfiguration.h \
    src/ui/QGCHilJSBSimConfiguration.h \
    src/ui/QGCHilXPlaneConfiguration.h \
320 321 322 323 324 325 326 327 328 329
    src/ui/QGCMAVLinkInspector.h \
    src/ui/QGCTabbedInfoView.h \
    src/ui/QGCUASFileView.h \
    src/ui/QGCUASFileViewMulti.h \
    src/ui/uas/UASInfoWidget.h \
    src/ui/uas/UASQuickView.h \
    src/ui/uas/UASQuickViewGaugeItem.h \
    src/ui/uas/UASQuickViewItem.h \
    src/ui/uas/UASQuickViewItemSelect.h \
    src/ui/uas/UASQuickViewTextItem.h \
330
    src/VehicleSetup/JoystickConfigController.h \
331 332 333 334
    src/ViewWidgets/CustomCommandWidget.h \
    src/ViewWidgets/CustomCommandWidgetController.h \
    src/ViewWidgets/ViewWidgetController.h \
}
dogmaphobic's avatar
dogmaphobic committed
335

Don Gagne's avatar
Don Gagne committed
336
SOURCES += \
dogmaphobic's avatar
dogmaphobic committed
337 338 339
    src/audio/QGCAudioWorker.cpp \
    src/CmdLineOptParser.cc \
    src/comm/LinkConfiguration.cc \
Lorenz Meier's avatar
Lorenz Meier committed
340
    src/comm/LinkManager.cc \
Don Gagne's avatar
Don Gagne committed
341
    src/comm/LogReplayLink.cc \
Lorenz Meier's avatar
Lorenz Meier committed
342
    src/comm/MAVLinkProtocol.cc \
343
    src/comm/MockLink.cc \
344
    src/comm/MockLinkFileServer.cc \
345
    src/comm/MockLinkMissionItemHandler.cc \
Don Gagne's avatar
Don Gagne committed
346
    src/comm/TCPLink.cc \
dogmaphobic's avatar
dogmaphobic committed
347
    src/comm/UDPLink.cc \
348
    src/FlightDisplay/FlightDisplayViewController.cc \
349
    src/FlightMap/FlightMapSettings.cc \
Lorenz Meier's avatar
Lorenz Meier committed
350
    src/GAudioOutput.cc \
351
    src/HomePositionManager.cc \
352 353
    src/Joystick/Joystick.cc \
    src/Joystick/JoystickManager.cc \
Lorenz Meier's avatar
Lorenz Meier committed
354
    src/LogCompressor.cc \
dogmaphobic's avatar
dogmaphobic committed
355
    src/main.cc \
Don Gagne's avatar
Don Gagne committed
356
    src/MissionManager/MissionManager.cc \
357
    src/MissionManager/MissionController.cc \
Lorenz Meier's avatar
Lorenz Meier committed
358
    src/QGC.cc \
dogmaphobic's avatar
dogmaphobic committed
359 360
    src/QGCApplication.cc \
    src/QGCComboBox.cc \
361
    src/QGCDockWidget.cc \
dogmaphobic's avatar
dogmaphobic committed
362 363 364 365 366 367
    src/QGCFileDialog.cc \
    src/QGCLoggingCategory.cc \
    src/QGCPalette.cc \
    src/QGCQmlWidgetHolder.cpp \
    src/QGCQuickWidget.cc \
    src/QGCTemporaryFile.cc \
368
    src/QGCToolbox.cc \
David Goodman's avatar
David Goodman committed
369
    src/QGCGeo.cc \
370
    src/QmlControls/CoordinateVector.cc \
dogmaphobic's avatar
dogmaphobic committed
371
    src/QmlControls/ParameterEditorController.cc \
Don Gagne's avatar
Don Gagne committed
372
    src/QmlControls/ScreenToolsController.cc \
373
    src/QmlControls/QGCQGeoCoordinate.cc \
374
    src/QmlControls/QGroundControlQmlGlobal.cc \
375
    src/QmlControls/QmlObjectListModel.cc \
376
    src/uas/FileManager.cc \
dogmaphobic's avatar
dogmaphobic committed
377 378
    src/uas/UAS.cc \
    src/uas/UASMessageHandler.cc \
Don Gagne's avatar
Don Gagne committed
379
    src/ui/LogReplayLinkConfigurationWidget.cc \
dogmaphobic's avatar
dogmaphobic committed
380 381 382
    src/ui/MainWindow.cc \
    src/ui/MAVLinkDecoder.cc \
    src/ui/MAVLinkSettingsWidget.cc \
383
    src/ui/MockLinkConfiguration.cc \
dogmaphobic's avatar
dogmaphobic committed
384 385 386 387 388 389
    src/ui/QGCCommConfiguration.cc \
    src/ui/QGCLinkConfiguration.cc \
    src/ui/QGCMapRCToParamDialog.cpp \
    src/ui/QGCMAVLinkLogPlayer.cc \
    src/ui/QGCPluginHost.cc \
    src/ui/QGCTCPLinkConfiguration.cc \
390
    src/ui/QGCUDPLinkConfiguration.cc \
dogmaphobic's avatar
dogmaphobic committed
391
    src/ui/SettingsDialog.cc \
392
    src/ui/toolbar/MainToolBarController.cc \
393
    src/ui/uas/QGCUnconnectedInfoWidget.cc \
dogmaphobic's avatar
dogmaphobic committed
394
    src/ui/uas/UASMessageView.cc \
395
    src/MissionItem.cc \
dogmaphobic's avatar
dogmaphobic committed
396
    src/AutoPilotPlugins/PX4/PX4AirframeLoader.cc \
dogmaphobic's avatar
dogmaphobic committed
397
    src/QmlControls/QGCImageProvider.cc \
398

dogmaphobic's avatar
dogmaphobic committed
399
!iOSBuild {
dogmaphobic's avatar
dogmaphobic committed
400
SOURCES += \
dogmaphobic's avatar
dogmaphobic committed
401 402 403 404 405 406 407 408 409
    src/comm/SerialLink.cc \
    src/ui/SerialConfigurationWindow.cc \
}

!MobileBuild {
SOURCES += \
    src/comm/QGCFlightGearLink.cc \
    src/comm/QGCJSBSimLink.cc \
    src/comm/QGCXPlaneLink.cc \
410
    src/ui/HILDockWidget.cc \
Don Gagne's avatar
Don Gagne committed
411 412 413 414 415 416 417
    src/ui/linechart/ChartPlot.cc \
    src/ui/linechart/IncrementalPlot.cc \
    src/ui/linechart/LinechartPlot.cc \
    src/ui/linechart/Linecharts.cc \
    src/ui/linechart/LinechartWidget.cc \
    src/ui/linechart/Scrollbar.cc \
    src/ui/linechart/ScrollZoomer.cc \
418
    src/ui/MultiVehicleDockWidget.cc \
Don Gagne's avatar
Don Gagne committed
419
    src/ui/QGCDataPlot2D.cc \
dogmaphobic's avatar
dogmaphobic committed
420 421 422 423
    src/ui/QGCHilConfiguration.cc \
    src/ui/QGCHilFlightGearConfiguration.cc \
    src/ui/QGCHilJSBSimConfiguration.cc \
    src/ui/QGCHilXPlaneConfiguration.cc \
424 425 426 427 428 429 430 431 432 433
    src/ui/QGCMAVLinkInspector.cc \
    src/ui/QGCTabbedInfoView.cpp \
    src/ui/QGCUASFileView.cc \
    src/ui/QGCUASFileViewMulti.cc \
    src/ui/uas/UASInfoWidget.cc \
    src/ui/uas/UASQuickView.cc \
    src/ui/uas/UASQuickViewGaugeItem.cc \
    src/ui/uas/UASQuickViewItem.cc \
    src/ui/uas/UASQuickViewItemSelect.cc \
    src/ui/uas/UASQuickViewTextItem.cc \
434
    src/VehicleSetup/JoystickConfigController.cc \
435 436 437 438
    src/ViewWidgets/CustomCommandWidget.cc \
    src/ViewWidgets/CustomCommandWidgetController.cc \
    src/ViewWidgets/ViewWidgetController.cc \
}
dogmaphobic's avatar
dogmaphobic committed
439

440 441
#
# Unit Test specific configuration goes here
442 443
#
# We have to special case Windows debug_and_release builds because you can't have files
444 445
# which are only in the debug variant [QTBUG-40351]. So in this case we include unit tests
# even in the release variant. If you want a Windows release build with no unit tests run
446 447 448 449 450
# qmake with CONFIG-=debug_and_release CONFIG+=release.
#

DebugBuild|WindowsDebugAndRelease {

dogmaphobic's avatar
dogmaphobic committed
451 452 453
HEADERS += src/QmlControls/QmlTestWidget.h
SOURCES += src/QmlControls/QmlTestWidget.cc

dogmaphobic's avatar
dogmaphobic committed
454
!MobileBuild {
dogmaphobic's avatar
dogmaphobic committed
455

456
INCLUDEPATH += \
dogmaphobic's avatar
dogmaphobic committed
457
    src/qgcunittest
458 459

HEADERS += \
dogmaphobic's avatar
dogmaphobic committed
460 461 462
    src/FactSystem/FactSystemTestBase.h \
    src/FactSystem/FactSystemTestGeneric.h \
    src/FactSystem/FactSystemTestPX4.h \
Don Gagne's avatar
Don Gagne committed
463
    src/MissionItemTest.h \
464 465
    src/MissionManager/MissionControllerTest.h \
    src/MissionManager/MissionControllerManagerTest.h \
Don Gagne's avatar
Don Gagne committed
466
    src/MissionManager/MissionManagerTest.h \
David Goodman's avatar
David Goodman committed
467
    src/qgcunittest/GeoTest.h \
468
    src/qgcunittest/FileDialogTest.h \
Don Gagne's avatar
Don Gagne committed
469 470
    src/qgcunittest/FileManagerTest.h \
    src/qgcunittest/FlightGearTest.h \
Don Gagne's avatar
Don Gagne committed
471
    src/qgcunittest/LinkManagerTest.h \
472
    src/qgcunittest/MainWindowTest.h \
Don Gagne's avatar
Don Gagne committed
473
    src/qgcunittest/MavlinkLogTest.h \
dogmaphobic's avatar
dogmaphobic committed
474
    src/qgcunittest/MessageBoxTest.h \
Don Gagne's avatar
Don Gagne committed
475 476 477 478
    src/qgcunittest/MultiSignalSpy.h \
    src/qgcunittest/PX4RCCalibrationTest.h \
    src/qgcunittest/TCPLinkTest.h \
    src/qgcunittest/TCPLoopBackServer.h \
dogmaphobic's avatar
dogmaphobic committed
479
    src/qgcunittest/UnitTest.h \
480
    src/VehicleSetup/SetupViewTest.h \
Don Gagne's avatar
Don Gagne committed
481

482
SOURCES += \
dogmaphobic's avatar
dogmaphobic committed
483 484 485
    src/FactSystem/FactSystemTestBase.cc \
    src/FactSystem/FactSystemTestGeneric.cc \
    src/FactSystem/FactSystemTestPX4.cc \
Don Gagne's avatar
Don Gagne committed
486
    src/MissionItemTest.cc \
487 488
    src/MissionManager/MissionControllerTest.cc \
    src/MissionManager/MissionControllerManagerTest.cc \
Don Gagne's avatar
Don Gagne committed
489
    src/MissionManager/MissionManagerTest.cc \
David Goodman's avatar
David Goodman committed
490
    src/qgcunittest/GeoTest.cc \
491
    src/qgcunittest/FileDialogTest.cc \
Don Gagne's avatar
Don Gagne committed
492 493
    src/qgcunittest/FileManagerTest.cc \
    src/qgcunittest/FlightGearTest.cc \
Don Gagne's avatar
Don Gagne committed
494
    src/qgcunittest/LinkManagerTest.cc \
495
    src/qgcunittest/MainWindowTest.cc \
Don Gagne's avatar
Don Gagne committed
496
    src/qgcunittest/MavlinkLogTest.cc \
dogmaphobic's avatar
dogmaphobic committed
497
    src/qgcunittest/MessageBoxTest.cc \
Don Gagne's avatar
Don Gagne committed
498 499 500 501
    src/qgcunittest/MultiSignalSpy.cc \
    src/qgcunittest/PX4RCCalibrationTest.cc \
    src/qgcunittest/TCPLinkTest.cc \
    src/qgcunittest/TCPLoopBackServer.cc \
dogmaphobic's avatar
dogmaphobic committed
502
    src/qgcunittest/UnitTest.cc \
503
    src/VehicleSetup/SetupViewTest.cc \
dogmaphobic's avatar
dogmaphobic committed
504
} # DebugBuild|WindowsDebugAndRelease
dogmaphobic's avatar
dogmaphobic committed
505
} # MobileBuild
506 507

#
Don Gagne's avatar
Don Gagne committed
508
# Firmware Plugin Support
509
#
510 511

INCLUDEPATH += \
512
    src/AutoPilotPlugins/PX4 \
Don Gagne's avatar
Don Gagne committed
513
    src/FirmwarePlugin \
514
    src/Vehicle \
Don Gagne's avatar
Don Gagne committed
515
    src/VehicleSetup \
516

517 518
HEADERS+= \
    src/AutoPilotPlugins/AutoPilotPlugin.h \
dogmaphobic's avatar
dogmaphobic committed
519
    src/AutoPilotPlugins/AutoPilotPluginManager.h \
520
    src/AutoPilotPlugins/APM/APMAutoPilotPlugin.h \
521 522
    src/AutoPilotPlugins/APM/APMAirframeComponent.h \
    src/AutoPilotPlugins/APM/APMComponent.h \
523 524
    src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.h \
    src/AutoPilotPlugins/PX4/AirframeComponent.h \
525 526
    src/AutoPilotPlugins/PX4/AirframeComponentAirframes.h \
    src/AutoPilotPlugins/PX4/AirframeComponentController.h \
dogmaphobic's avatar
dogmaphobic committed
527 528
    src/AutoPilotPlugins/PX4/FlightModesComponent.h \
    src/AutoPilotPlugins/PX4/FlightModesComponentController.h \
dogmaphobic's avatar
dogmaphobic committed
529
    src/AutoPilotPlugins/PX4/PowerComponent.h \
530
    src/AutoPilotPlugins/PX4/PowerComponentController.h \
dogmaphobic's avatar
dogmaphobic committed
531 532 533
    src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.h \
    src/AutoPilotPlugins/PX4/PX4Component.h \
    src/AutoPilotPlugins/PX4/RadioComponent.h \
Don Gagne's avatar
Don Gagne committed
534
    src/AutoPilotPlugins/PX4/RadioComponentController.h \
dogmaphobic's avatar
dogmaphobic committed
535 536 537
    src/AutoPilotPlugins/PX4/SafetyComponent.h \
    src/AutoPilotPlugins/PX4/SensorsComponent.h \
    src/AutoPilotPlugins/PX4/SensorsComponentController.h \
538 539
    src/FirmwarePlugin/FirmwarePluginManager.h \
    src/FirmwarePlugin/FirmwarePlugin.h \
Don Gagne's avatar
Don Gagne committed
540
    src/FirmwarePlugin/APM/APMFirmwarePlugin.h \
541
    src/FirmwarePlugin/APM/APMParameterMetaData.h \
542
    src/FirmwarePlugin/APM/ArduCopterFirmwarePlugin.h \
543 544
    src/FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.h \
    src/FirmwarePlugin/APM/ArduRoverFirmwarePlugin.h \
545 546
    src/FirmwarePlugin/Generic/GenericFirmwarePlugin.h \
    src/FirmwarePlugin/PX4/PX4FirmwarePlugin.h \
547
    src/FirmwarePlugin/PX4/PX4ParameterMetaData.h \
548 549
    src/Vehicle/MultiVehicleManager.h \
    src/Vehicle/Vehicle.h \
dogmaphobic's avatar
dogmaphobic committed
550
    src/VehicleSetup/VehicleComponent.h \
551

dogmaphobic's avatar
dogmaphobic committed
552
!MobileBuild {
553 554
HEADERS += \
    src/VehicleSetup/FirmwareUpgradeController.h \
555 556 557 558
    src/VehicleSetup/Bootloader.h \
    src/VehicleSetup/PX4FirmwareUpgradeThread.h \
    src/VehicleSetup/FirmwareImage.h \

559 560
}

561
SOURCES += \
562
    src/AutoPilotPlugins/AutoPilotPlugin.cc \
dogmaphobic's avatar
dogmaphobic committed
563
    src/AutoPilotPlugins/AutoPilotPluginManager.cc \
564
    src/AutoPilotPlugins/APM/APMAutoPilotPlugin.cc \
565 566
    src/AutoPilotPlugins/APM/APMAirframeComponent.cc \
    src/AutoPilotPlugins/APM/APMComponent.cc \
567 568
    src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.cc \
    src/AutoPilotPlugins/PX4/AirframeComponent.cc \
569 570
    src/AutoPilotPlugins/PX4/AirframeComponentAirframes.cc \
    src/AutoPilotPlugins/PX4/AirframeComponentController.cc \
dogmaphobic's avatar
dogmaphobic committed
571 572
    src/AutoPilotPlugins/PX4/FlightModesComponent.cc \
    src/AutoPilotPlugins/PX4/FlightModesComponentController.cc \
dogmaphobic's avatar
dogmaphobic committed
573
    src/AutoPilotPlugins/PX4/PowerComponent.cc \
574
    src/AutoPilotPlugins/PX4/PowerComponentController.cc \
dogmaphobic's avatar
dogmaphobic committed
575 576 577
    src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.cc \
    src/AutoPilotPlugins/PX4/PX4Component.cc \
    src/AutoPilotPlugins/PX4/RadioComponent.cc \
Don Gagne's avatar
Don Gagne committed
578
    src/AutoPilotPlugins/PX4/RadioComponentController.cc \
dogmaphobic's avatar
dogmaphobic committed
579 580 581
    src/AutoPilotPlugins/PX4/SafetyComponent.cc \
    src/AutoPilotPlugins/PX4/SensorsComponent.cc \
    src/AutoPilotPlugins/PX4/SensorsComponentController.cc \
Don Gagne's avatar
Don Gagne committed
582
    src/FirmwarePlugin/APM/APMFirmwarePlugin.cc \
583
    src/FirmwarePlugin/APM/APMParameterMetaData.cc \
584
    src/FirmwarePlugin/APM/ArduCopterFirmwarePlugin.cc \
585 586
    src/FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.cc \
    src/FirmwarePlugin/APM/ArduRoverFirmwarePlugin.cc \
587 588 589
    src/FirmwarePlugin/FirmwarePluginManager.cc \
    src/FirmwarePlugin/Generic/GenericFirmwarePlugin.cc \
    src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc \
590
    src/FirmwarePlugin/PX4/PX4ParameterMetaData.cc \
591 592
    src/Vehicle/MultiVehicleManager.cc \
    src/Vehicle/Vehicle.cc \
dogmaphobic's avatar
dogmaphobic committed
593
    src/VehicleSetup/VehicleComponent.cc \
Don Gagne's avatar
Don Gagne committed
594

dogmaphobic's avatar
dogmaphobic committed
595
!MobileBuild {
596 597
SOURCES += \
    src/VehicleSetup/FirmwareUpgradeController.cc \
598 599 600 601
    src/VehicleSetup/Bootloader.cc \
    src/VehicleSetup/PX4FirmwareUpgradeThread.cc \
    src/VehicleSetup/FirmwareImage.cc \

602 603
}

Don Gagne's avatar
Don Gagne committed
604 605 606
# Fact System code

INCLUDEPATH += \
607 608
    src/FactSystem \
    src/FactSystem/FactControls \
Don Gagne's avatar
Don Gagne committed
609 610 611 612

HEADERS += \
    src/FactSystem/Fact.h \
    src/FactSystem/FactMetaData.h \
dogmaphobic's avatar
dogmaphobic committed
613
    src/FactSystem/FactSystem.h \
Don Gagne's avatar
Don Gagne committed
614
    src/FactSystem/FactValidator.h \
615
    src/FactSystem/ParameterLoader.h \
616
    src/FactSystem/FactControls/FactPanelController.h \
Don Gagne's avatar
Don Gagne committed
617 618 619 620

SOURCES += \
    src/FactSystem/Fact.cc \
    src/FactSystem/FactMetaData.cc \
dogmaphobic's avatar
dogmaphobic committed
621
    src/FactSystem/FactSystem.cc \
Don Gagne's avatar
Don Gagne committed
622
    src/FactSystem/FactValidator.cc \
623
    src/FactSystem/ParameterLoader.cc \
624
    src/FactSystem/FactControls/FactPanelController.cc \
dogmaphobic's avatar
dogmaphobic committed
625

626
#-------------------------------------------------------------------------------------
Gus Grubba's avatar
Gus Grubba committed
627
# Video Streaming
628 629 630 631 632 633 634

INCLUDEPATH += \
    src/VideoStreaming

HEADERS += \
    src/VideoStreaming/VideoItem.h \
    src/VideoStreaming/VideoReceiver.h \
635
    src/VideoStreaming/VideoStreaming.h \
636 637 638 639 640 641
    src/VideoStreaming/VideoSurface.h \
    src/VideoStreaming/VideoSurface_p.h \

SOURCES += \
    src/VideoStreaming/VideoItem.cc \
    src/VideoStreaming/VideoReceiver.cc \
642
    src/VideoStreaming/VideoStreaming.cc \
643 644
    src/VideoStreaming/VideoSurface.cc \

Gus Grubba's avatar
Gus Grubba committed
645 646 647 648 649 650 651 652 653 654
contains (DEFINES, DISABLE_VIDEOSTREAMING) {
    message("Skipping support for video streaming (manual override from command line)")
    DEFINES -= DISABLE_VIDEOSTREAMING
# 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_VIDEOSTREAMING) {
    message("Skipping support for video streaming (manual override from user_config.pri)")
} else {
    include(src/VideoStreaming/VideoStreaming.pri)
}

655
#-------------------------------------------------------------------------------------
dogmaphobic's avatar
dogmaphobic committed
656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676
# Android

AndroidBuild {
    include($$PWD/libs/qtandroidserialport/src/qtandroidserialport.pri)
    message("Adding Serial Java Classes")
    QT += androidextras
    ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
    OTHER_FILES += \
        $$PWD/android/AndroidManifest.xml \
        $$PWD/android/res/xml/device_filter.xml \
        $$PWD/android/src/com/hoho/android/usbserial/driver/CdcAcmSerialDriver.java \
        $$PWD/android/src/com/hoho/android/usbserial/driver/CommonUsbSerialDriver.java \
        $$PWD/android/src/com/hoho/android/usbserial/driver/Cp2102SerialDriver.java \
        $$PWD/android/src/com/hoho/android/usbserial/driver/FtdiSerialDriver.java \
        $$PWD/android/src/com/hoho/android/usbserial/driver/ProlificSerialDriver.java \
        $$PWD/android/src/com/hoho/android/usbserial/driver/UsbId.java \
        $$PWD/android/src/com/hoho/android/usbserial/driver/UsbSerialDriver.java \
        $$PWD/android/src/com/hoho/android/usbserial/driver/UsbSerialProber.java \
        $$PWD/android/src/com/hoho/android/usbserial/driver/UsbSerialRuntimeException.java \
        $$PWD/android/src/org/qgroundcontrol/qgchelper/UsbDeviceJNI.java \
        $$PWD/android/src/org/qgroundcontrol/qgchelper/UsbIoManager.java
dogmaphobic's avatar
dogmaphobic committed
677 678 679 680 681 682 683 684

    DISTFILES += \
        android/gradle/wrapper/gradle-wrapper.jar \
        android/gradlew \
        android/res/values/libs.xml \
        android/build.gradle \
        android/gradle/wrapper/gradle-wrapper.properties \
        android/gradlew.bat
dogmaphobic's avatar
dogmaphobic committed
685
}
686 687 688 689 690 691 692 693 694 695 696 697 698

#-------------------------------------------------------------------------------------
#
# Post link configuration
#

include(QGCSetup.pri)

#
# Installer targets
#

include(QGCInstaller.pri)