qgroundcontrol.pro 25.4 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
# -------------------------------------------------
# QGroundControl - Micro Air Vehicle Groundstation
# Please see our website at <http://qgroundcontrol.org>
# Maintainer:
# Lorenz Meier <lm@inf.ethz.ch>
# (c) 2009-2015 QGroundControl Developers
# 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/>.
# -------------------------------------------------

dogmaphobic's avatar
dogmaphobic committed
20
exists($${OUT_PWD}/qgroundcontrol.pro) {
dogmaphobic's avatar
dogmaphobic committed
21 22
    error("You must use shadow build.")
}
23 24 25

message(Qt version $$[QT_VERSION])

26 27
!equals(QT_MAJOR_VERSION, 5) | !greaterThan(QT_MINOR_VERSION, 4) {
    error("Unsupported Qt version, 5.5+ is required")
28
}
29

30 31 32 33 34 35 36
include(QGCCommon.pri)

TARGET   = qgroundcontrol
TEMPLATE = app

DebugBuild {
    DESTDIR  = $${OUT_PWD}/debug
dogmaphobic's avatar
dogmaphobic committed
37
} else {
38 39 40 41 42 43 44 45 46
    DESTDIR  = $${OUT_PWD}/release
}

# 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)))
}

dogmaphobic's avatar
dogmaphobic committed
47 48 49 50 51 52 53 54 55 56 57 58
# Bluetooth
contains (DEFINES, QGC_DISABLE_BLUETOOTH) {
    message("Skipping support for Bluetooth (manual override from command line)")
    DEFINES -= QGC_ENABLE_BLUETOOTH
} else:exists(user_config.pri):infile(user_config.pri, DEFINES, QGC_DISABLE_BLUETOOTH) {
    message("Skipping support for Bluetooth (manual override from user_config.pri)")
    DEFINES -= QGC_ENABLE_BLUETOOTH
} else:exists(user_config.pri):infile(user_config.pri, DEFINES, QGC_ENABLE_BLUETOOTH) {
    message("Including support for Bluetooth (manual override from user_config.pri)")
    DEFINES += QGC_ENABLE_BLUETOOTH
}

59 60 61 62 63 64 65
LinuxBuild {
    CONFIG += link_pkgconfig
}

# Qt configuration

CONFIG += qt \
66 67
    thread \
    c++11
68 69 70 71 72

QT += \
    concurrent \
    gui \
    location \
73
    network \
74 75 76 77 78 79 80 81 82 83 84
    opengl \
    positioning \
    qml \
    quick \
    quickwidgets \
    sql \
    svg \
    widgets \
    xml \

!MobileBuild {
dogmaphobic's avatar
dogmaphobic committed
85
QT += \
86 87 88 89
    printsupport \
    serialport \
}

dogmaphobic's avatar
dogmaphobic committed
90
contains(DEFINES, QGC_ENABLE_BLUETOOTH) {
dogmaphobic's avatar
dogmaphobic committed
91 92 93 94
QT += \
    bluetooth \
}

95 96 97 98 99 100 101 102 103 104 105
#  testlib is needed even in release flavor for QSignalSpy support
QT += testlib

#
# OS Specific settings
#

MacBuild {
    QMAKE_INFO_PLIST    = Custom-Info.plist
    ICON                = $${BASEDIR}/resources/icons/macx.icns
    OTHER_FILES        += Custom-Info.plist
106 107 108
equals(QT_MAJOR_VERSION, 5) | greaterThan(QT_MINOR_VERSION, 5) {
    LIBS               += -framework ApplicationServices
}
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
}

iOSBuild {
    BUNDLE.files        = $$files($$PWD/ios/AppIcon*.png) $$PWD/ios/QGCLaunchScreen.xib
    QMAKE_BUNDLE_DATA  += BUNDLE
    LIBS               += -framework AVFoundation
    #-- 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
    }
    #-- TODO: Add iTunesArtwork
}

LinuxBuild {
    CONFIG += qesp_linux_udev
}

131 132 133 134 135
RC_ICONS = resources/icons/qgroundcontrol.ico
QMAKE_TARGET_COMPANY = "qgroundcontrol.org"
QMAKE_TARGET_DESCRIPTION = "Open source ground control app provided by QGroundControl dev team"
QMAKE_TARGET_COPYRIGHT = "Copyright (C) 2016 QGroundControl Development Team. All rights reserved."
QMAKE_TARGET_PRODUCT = "qgroundcontrol"
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186

#
# Build-specific settings
#

DebugBuild {
!iOSBuild {
    CONFIG += console
}
}

!MobileBuild {
# qextserialport should not be used by general QGroundControl code. Use QSerialPort instead. This is only
# here to support special case Firmware Upgrade code.
include(libs/qextserialport/src/qextserialport.pri)
}

#
# Our QtLocation "plugin"
#

include(src/QtLocationPlugin/QGCLocationPlugin.pri)

#
# External library configuration
#

include(QGCExternalLibs.pri)

#
# Main QGroundControl portion of project file
#

RESOURCES += \
    qgroundcontrol.qrc \
    qgcresources.qrc

DEPENDPATH += \
    . \
    plugins

INCLUDEPATH += .

INCLUDEPATH += \
    include/ui \
    src \
    src/audio \
    src/AutoPilotPlugins \
    src/comm \
    src/FlightDisplay \
    src/FlightMap \
187
    src/FlightMap/Widgets \
188 189
    src/input \
    src/Joystick \
Jimmy Johnson's avatar
Jimmy Johnson committed
190
    src/FollowMe \
191 192 193 194 195 196 197 198 199 200 201 202 203 204 205
    src/lib/qmapcontrol \
    src/MissionEditor \
    src/MissionManager \
    src/QmlControls \
    src/uas \
    src/ui \
    src/ui/linechart \
    src/ui/map \
    src/ui/mapdisplay \
    src/ui/mission \
    src/ui/px4_configuration \
    src/ui/toolbar \
    src/ui/uas \
    src/VehicleSetup \
    src/ViewWidgets \
dogmaphobic's avatar
dogmaphobic committed
206 207
    src/QtLocationPlugin \
    src/QtLocationPlugin/QMLControl \
208 209 210

FORMS += \
    src/ui/MainWindow.ui \
211
    src/QGCQmlWidgetHolder.ui \
212 213 214

!MobileBuild {
FORMS += \
215 216
    src/ui/uas/QGCUnconnectedInfoWidget.ui \
    src/ui/uas/UASMessageView.ui \
217 218
    src/ui/Linechart.ui \
    src/ui/MultiVehicleDockWidget.ui \
219
    src/ui/MAVLinkSettingsWidget.ui \
220 221 222 223 224
    src/ui/QGCDataPlot2D.ui \
    src/ui/QGCHilConfiguration.ui \
    src/ui/QGCHilFlightGearConfiguration.ui \
    src/ui/QGCHilJSBSimConfiguration.ui \
    src/ui/QGCHilXPlaneConfiguration.ui \
225
    src/ui/QGCMapRCToParamDialog.ui \
226
    src/ui/QGCMAVLinkInspector.ui \
227
    src/ui/QGCMAVLinkLogPlayer.ui \
228 229 230
    src/ui/QGCTabbedInfoView.ui \
    src/ui/QGCUASFileView.ui \
    src/ui/QGCUASFileViewMulti.ui \
231
    src/ui/SettingsDialog.ui \
232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249
    src/ui/uas/UASQuickView.ui \
    src/ui/uas/UASQuickViewItemSelect.ui \
    src/ui/UASInfo.ui \
}

HEADERS += \
    src/audio/QGCAudioWorker.h \
    src/CmdLineOptParser.h \
    src/comm/LinkConfiguration.h \
    src/comm/LinkInterface.h \
    src/comm/LinkManager.h \
    src/comm/MAVLinkProtocol.h \
    src/comm/ProtocolInterface.h \
    src/comm/QGCMAVLink.h \
    src/comm/TCPLink.h \
    src/comm/UDPLink.h \
    src/FlightDisplay/FlightDisplayViewController.h \
    src/FlightMap/FlightMapSettings.h \
250
    src/FlightMap/Widgets/ValuesWidgetController.h \
251 252 253 254
    src/GAudioOutput.h \
    src/HomePositionManager.h \
    src/Joystick/Joystick.h \
    src/Joystick/JoystickManager.h \
Jimmy Johnson's avatar
Jimmy Johnson committed
255
    src/FollowMe/FollowMe.h \
Don Gagne's avatar
Don Gagne committed
256
    src/JsonHelper.h \
257 258
    src/LogCompressor.h \
    src/MG.h \
259
    src/MissionManager/MissionCommandList.h \
Don Gagne's avatar
Don Gagne committed
260
    src/MissionManager/MissionCommands.h \
261
    src/MissionManager/MissionController.h \
262 263
    src/MissionManager/MissionItem.h \
    src/MissionManager/MissionManager.h \
264 265
    src/MissionManager/ComplexMissionItem.h \
    src/MissionManager/SimpleMissionItem.h \
266
    src/MissionManager/VisualMissionItem.h \
267 268 269 270 271
    src/QGC.h \
    src/QGCApplication.h \
    src/QGCComboBox.h \
    src/QGCConfig.h \
    src/QGCDockWidget.h \
272
    src/QGCFileDownload.h \
273 274
    src/QGCGeo.h \
    src/QGCLoggingCategory.h \
Don Gagne's avatar
Don Gagne committed
275
    src/QGCMapPalette.h \
Don Gagne's avatar
Don Gagne committed
276
    src/QGCMobileFileDialogController.h \
277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293
    src/QGCPalette.h \
    src/QGCQmlWidgetHolder.h \
    src/QGCQuickWidget.h \
    src/QGCTemporaryFile.h \
    src/QGCToolbox.h \
    src/QmlControls/CoordinateVector.h \
    src/QmlControls/MavlinkQmlSingleton.h \
    src/QmlControls/ParameterEditorController.h \
    src/QmlControls/ScreenToolsController.h \
    src/QmlControls/QGCQGeoCoordinate.h \
    src/QmlControls/QGroundControlQmlGlobal.h \
    src/QmlControls/QmlObjectListModel.h \
    src/uas/UAS.h \
    src/uas/UASInterface.h \
    src/uas/UASMessageHandler.h \
    src/ui/toolbar/MainToolBarController.h \
    src/AutoPilotPlugins/PX4/PX4AirframeLoader.h \
294
    src/AutoPilotPlugins/APM/APMAirframeLoader.h \
295
    src/QmlControls/QGCImageProvider.h \
dogmaphobic's avatar
dogmaphobic committed
296 297
    src/AutoPilotPlugins/APM/APMRemoteParamsDownloader.h \
    src/QtLocationPlugin/QMLControl/QGCMapEngineManager.h \
298

299 300 301 302 303 304 305
DebugBuild {
HEADERS += \
    src/comm/MockLink.h \
    src/comm/MockLinkFileServer.h \
    src/comm/MockLinkMissionItemHandler.h \
}

306 307 308
WindowsBuild {
    PRECOMPILED_HEADER += src/stable_headers.h
    HEADERS += src/stable_headers.h
309 310
}

dogmaphobic's avatar
dogmaphobic committed
311
contains(DEFINES, QGC_ENABLE_BLUETOOTH) {
dogmaphobic's avatar
dogmaphobic committed
312 313
    HEADERS += \
    src/comm/BluetoothLink.h \
dogmaphobic's avatar
dogmaphobic committed
314
}
315 316 317

!iOSBuild {
HEADERS += \
318
    src/comm/QGCSerialPortInfo.h \
319 320 321 322 323
    src/comm/SerialLink.h \
}

!MobileBuild {
HEADERS += \
dogmaphobic's avatar
dogmaphobic committed
324
    src/comm/LogReplayLink.h \
325 326 327 328
    src/comm/QGCFlightGearLink.h \
    src/comm/QGCHilLink.h \
    src/comm/QGCJSBSimLink.h \
    src/comm/QGCXPlaneLink.h \
329 330 331
    src/QGCFileDialog.h \
    src/QGCMessageBox.h \
    src/uas/FileManager.h \
332 333 334 335 336 337 338 339
    src/ui/HILDockWidget.h \
    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 \
Don Gagne's avatar
Don Gagne committed
340
    src/ui/MainWindow.h \
341 342
    src/ui/MAVLinkDecoder.h \
    src/ui/MAVLinkSettingsWidget.h \
343
    src/ui/MultiVehicleDockWidget.h \
344 345 346 347 348
    src/ui/QGCMAVLinkLogPlayer.h \
    src/ui/QGCMapRCToParamDialog.h \
    src/ui/SettingsDialog.h \
    src/ui/uas/UASMessageView.h \
    src/ui/uas/QGCUnconnectedInfoWidget.h \
349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366
    src/ui/QGCDataPlot2D.h \
    src/ui/QGCHilConfiguration.h \
    src/ui/QGCHilFlightGearConfiguration.h \
    src/ui/QGCHilJSBSimConfiguration.h \
    src/ui/QGCHilXPlaneConfiguration.h \
    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 \
    src/VehicleSetup/JoystickConfigController.h \
    src/ViewWidgets/CustomCommandWidget.h \
    src/ViewWidgets/CustomCommandWidgetController.h \
dogmaphobic's avatar
dogmaphobic committed
367 368
    src/ViewWidgets/LogDownload.h \
    src/ViewWidgets/LogDownloadController.h \
369 370 371
    src/ViewWidgets/ViewWidgetController.h \
}

Don Gagne's avatar
Don Gagne committed
372 373 374 375 376
iOSBuild {
    OBJECTIVE_SOURCES += \
        src/audio/QGCAudioWorker_iOS.mm \
        src/MobileScreenMgr.mm \
}
Don Gagne's avatar
Don Gagne committed
377
AndroidBuild {
Don Gagne's avatar
Don Gagne committed
378 379 380 381
    SOURCES += src/MobileScreenMgr.cc \
}


382 383 384 385 386 387 388 389 390 391
SOURCES += \
    src/audio/QGCAudioWorker.cpp \
    src/CmdLineOptParser.cc \
    src/comm/LinkConfiguration.cc \
    src/comm/LinkManager.cc \
    src/comm/MAVLinkProtocol.cc \
    src/comm/TCPLink.cc \
    src/comm/UDPLink.cc \
    src/FlightDisplay/FlightDisplayViewController.cc \
    src/FlightMap/FlightMapSettings.cc \
392
    src/FlightMap/Widgets/ValuesWidgetController.cc \
393 394 395 396
    src/GAudioOutput.cc \
    src/HomePositionManager.cc \
    src/Joystick/Joystick.cc \
    src/Joystick/JoystickManager.cc \
Don Gagne's avatar
Don Gagne committed
397
    src/JsonHelper.cc \
Jimmy Johnson's avatar
Jimmy Johnson committed
398
    src/FollowMe/FollowMe.cc \
399 400
    src/LogCompressor.cc \
    src/main.cc \
401
    src/MissionManager/MissionCommandList.cc \
Don Gagne's avatar
Don Gagne committed
402
    src/MissionManager/MissionCommands.cc \
403
    src/MissionManager/MissionController.cc \
404 405
    src/MissionManager/MissionItem.cc \
    src/MissionManager/MissionManager.cc \
406 407
    src/MissionManager/ComplexMissionItem.cc \
    src/MissionManager/SimpleMissionItem.cc \
408
    src/MissionManager/VisualMissionItem.cc \
409 410 411 412
    src/QGC.cc \
    src/QGCApplication.cc \
    src/QGCComboBox.cc \
    src/QGCDockWidget.cc \
413
    src/QGCFileDownload.cc \
414
    src/QGCLoggingCategory.cc \
Don Gagne's avatar
Don Gagne committed
415
    src/QGCMapPalette.cc \
Don Gagne's avatar
Don Gagne committed
416
    src/QGCMobileFileDialogController.cc \
417 418
    src/QGCPalette.cc \
    src/QGCQuickWidget.cc \
419
    src/QGCQmlWidgetHolder.cpp \
420 421 422 423 424 425 426 427 428 429 430 431 432
    src/QGCTemporaryFile.cc \
    src/QGCToolbox.cc \
    src/QGCGeo.cc \
    src/QmlControls/CoordinateVector.cc \
    src/QmlControls/ParameterEditorController.cc \
    src/QmlControls/ScreenToolsController.cc \
    src/QmlControls/QGCQGeoCoordinate.cc \
    src/QmlControls/QGroundControlQmlGlobal.cc \
    src/QmlControls/QmlObjectListModel.cc \
    src/uas/UAS.cc \
    src/uas/UASMessageHandler.cc \
    src/ui/toolbar/MainToolBarController.cc \
    src/AutoPilotPlugins/PX4/PX4AirframeLoader.cc \
433
    src/AutoPilotPlugins/APM/APMAirframeLoader.cc \
434
    src/QmlControls/QGCImageProvider.cc \
dogmaphobic's avatar
dogmaphobic committed
435 436
    src/AutoPilotPlugins/APM/APMRemoteParamsDownloader.cc \
    src/QtLocationPlugin/QMLControl/QGCMapEngineManager.cc \
437

438 439 440 441 442 443 444
DebugBuild {
SOURCES += \
    src/comm/MockLink.cc \
    src/comm/MockLinkFileServer.cc \
    src/comm/MockLinkMissionItemHandler.cc \
}

445 446
!iOSBuild {
SOURCES += \
447
    src/comm/QGCSerialPortInfo.cc \
448 449 450
    src/comm/SerialLink.cc \
}

dogmaphobic's avatar
dogmaphobic committed
451
contains(DEFINES, QGC_ENABLE_BLUETOOTH) {
dogmaphobic's avatar
dogmaphobic committed
452 453 454 455
    SOURCES += \
    src/comm/BluetoothLink.cc \
}

456 457
!MobileBuild {
SOURCES += \
458 459 460 461 462 463 464
    src/ui/uas/UASMessageView.cc \
    src/uas/FileManager.cc \
    src/ui/uas/QGCUnconnectedInfoWidget.cc \
    src/ui/SettingsDialog.cc \
    src/ui/MAVLinkDecoder.cc \
    src/ui/MAVLinkSettingsWidget.cc \
    src/ui/QGCMapRCToParamDialog.cpp \
dogmaphobic's avatar
dogmaphobic committed
465
    src/comm/LogReplayLink.cc \
466
    src/QGCFileDialog.cc \
dogmaphobic's avatar
dogmaphobic committed
467
    src/ui/QGCMAVLinkLogPlayer.cc \
468 469 470 471 472 473 474 475 476 477 478
    src/comm/QGCFlightGearLink.cc \
    src/comm/QGCJSBSimLink.cc \
    src/comm/QGCXPlaneLink.cc \
    src/ui/HILDockWidget.cc \
    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 \
Don Gagne's avatar
Don Gagne committed
479
    src/ui/MainWindow.cc \
480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498
    src/ui/MultiVehicleDockWidget.cc \
    src/ui/QGCDataPlot2D.cc \
    src/ui/QGCHilConfiguration.cc \
    src/ui/QGCHilFlightGearConfiguration.cc \
    src/ui/QGCHilJSBSimConfiguration.cc \
    src/ui/QGCHilXPlaneConfiguration.cc \
    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 \
    src/VehicleSetup/JoystickConfigController.cc \
    src/ViewWidgets/CustomCommandWidget.cc \
    src/ViewWidgets/CustomCommandWidgetController.cc \
dogmaphobic's avatar
dogmaphobic committed
499 500
    src/ViewWidgets/LogDownload.cc \
    src/ViewWidgets/LogDownloadController.cc \
501 502 503 504 505 506 507
    src/ViewWidgets/ViewWidgetController.cc \
}

#
# Unit Test specific configuration goes here
#

508
DebugBuild {
509 510 511 512 513 514 515 516 517 518 519 520 521

HEADERS += src/QmlControls/QmlTestWidget.h
SOURCES += src/QmlControls/QmlTestWidget.cc

!MobileBuild {

INCLUDEPATH += \
    src/qgcunittest

HEADERS += \
    src/FactSystem/FactSystemTestBase.h \
    src/FactSystem/FactSystemTestGeneric.h \
    src/FactSystem/FactSystemTestPX4.h \
522
    src/MissionManager/ComplexMissionItemTest.h \
523 524
    src/MissionManager/MissionControllerTest.h \
    src/MissionManager/MissionControllerManagerTest.h \
525
    src/MissionManager/MissionItemTest.h \
526
    src/MissionManager/MissionManagerTest.h \
527
    src/MissionManager/SimpleMissionItemTest.h \
528 529 530 531 532 533 534 535 536
    src/qgcunittest/GeoTest.h \
    src/qgcunittest/FileDialogTest.h \
    src/qgcunittest/FileManagerTest.h \
    src/qgcunittest/FlightGearTest.h \
    src/qgcunittest/LinkManagerTest.h \
    src/qgcunittest/MainWindowTest.h \
    src/qgcunittest/MavlinkLogTest.h \
    src/qgcunittest/MessageBoxTest.h \
    src/qgcunittest/MultiSignalSpy.h \
Don Gagne's avatar
Don Gagne committed
537
    src/qgcunittest/RadioConfigTest.h \
538 539 540 541 542 543 544 545 546
    src/qgcunittest/TCPLinkTest.h \
    src/qgcunittest/TCPLoopBackServer.h \
    src/qgcunittest/UnitTest.h \
    src/VehicleSetup/SetupViewTest.h \

SOURCES += \
    src/FactSystem/FactSystemTestBase.cc \
    src/FactSystem/FactSystemTestGeneric.cc \
    src/FactSystem/FactSystemTestPX4.cc \
547
    src/MissionManager/ComplexMissionItemTest.cc \
548 549
    src/MissionManager/MissionControllerTest.cc \
    src/MissionManager/MissionControllerManagerTest.cc \
550
    src/MissionManager/MissionItemTest.cc \
551
    src/MissionManager/MissionManagerTest.cc \
552
    src/MissionManager/SimpleMissionItemTest.cc \
553 554 555 556 557 558 559 560 561
    src/qgcunittest/GeoTest.cc \
    src/qgcunittest/FileDialogTest.cc \
    src/qgcunittest/FileManagerTest.cc \
    src/qgcunittest/FlightGearTest.cc \
    src/qgcunittest/LinkManagerTest.cc \
    src/qgcunittest/MainWindowTest.cc \
    src/qgcunittest/MavlinkLogTest.cc \
    src/qgcunittest/MessageBoxTest.cc \
    src/qgcunittest/MultiSignalSpy.cc \
Don Gagne's avatar
Don Gagne committed
562
    src/qgcunittest/RadioConfigTest.cc \
563 564 565
    src/qgcunittest/TCPLinkTest.cc \
    src/qgcunittest/TCPLoopBackServer.cc \
    src/qgcunittest/UnitTest.cc \
dogmaphobic's avatar
dogmaphobic committed
566
    src/qgcunittest/UnitTestList.cc \
567
    src/VehicleSetup/SetupViewTest.cc \
568 569
} # !MobileBuild
} # DebugBuild
570 571 572 573 574 575

#
# Firmware Plugin Support
#

INCLUDEPATH += \
576
    src/AutoPilotPlugins/APM \
Don Gagne's avatar
Don Gagne committed
577
    src/AutoPilotPlugins/Common \
578 579
    src/AutoPilotPlugins/PX4 \
    src/FirmwarePlugin \
580 581
    src/FirmwarePlugin/APM \
    src/FirmwarePlugin/PX4 \
582 583 584 585 586 587 588 589
    src/Vehicle \
    src/VehicleSetup \

HEADERS+= \
    src/AutoPilotPlugins/AutoPilotPlugin.h \
    src/AutoPilotPlugins/AutoPilotPluginManager.h \
    src/AutoPilotPlugins/APM/APMAutoPilotPlugin.h \
    src/AutoPilotPlugins/APM/APMAirframeComponent.h \
590 591
    src/AutoPilotPlugins/APM/APMAirframeComponentController.h \
    src/AutoPilotPlugins/APM/APMAirframeComponentAirframes.h \
Don Gagne's avatar
Don Gagne committed
592
    src/AutoPilotPlugins/APM/APMCameraComponent.h \
593
    src/AutoPilotPlugins/APM/APMCompassCal.h \
Don Gagne's avatar
Don Gagne committed
594 595
    src/AutoPilotPlugins/APM/APMFlightModesComponent.h \
    src/AutoPilotPlugins/APM/APMFlightModesComponentController.h \
Don Gagne's avatar
Don Gagne committed
596 597
    src/AutoPilotPlugins/APM/APMPowerComponent.h \
    src/AutoPilotPlugins/APM/APMRadioComponent.h \
Don Gagne's avatar
Don Gagne committed
598
    src/AutoPilotPlugins/APM/APMSafetyComponent.h \
Don Gagne's avatar
Don Gagne committed
599 600
    src/AutoPilotPlugins/APM/APMSensorsComponent.h \
    src/AutoPilotPlugins/APM/APMSensorsComponentController.h \
Don Gagne's avatar
Don Gagne committed
601
    src/AutoPilotPlugins/APM/APMTuningComponent.h \
Don Gagne's avatar
Don Gagne committed
602
    src/AutoPilotPlugins/Common/RadioComponentController.h \
dogmaphobic's avatar
dogmaphobic committed
603
    src/AutoPilotPlugins/Common/ESP8266ComponentController.h \
604
    src/AutoPilotPlugins/Common/ESP8266Component.h \
605 606 607 608 609
    src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.h \
    src/AutoPilotPlugins/PX4/AirframeComponent.h \
    src/AutoPilotPlugins/PX4/AirframeComponentAirframes.h \
    src/AutoPilotPlugins/PX4/AirframeComponentController.h \
    src/AutoPilotPlugins/PX4/FlightModesComponent.h \
Don Gagne's avatar
Don Gagne committed
610 611
    src/AutoPilotPlugins/PX4/PX4AdvancedFlightModesController.h \
    src/AutoPilotPlugins/PX4/PX4SimpleFlightModesController.h \
612 613 614
    src/AutoPilotPlugins/PX4/PowerComponent.h \
    src/AutoPilotPlugins/PX4/PowerComponentController.h \
    src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.h \
Don Gagne's avatar
Don Gagne committed
615
    src/AutoPilotPlugins/PX4/PX4RadioComponent.h \
616 617 618
    src/AutoPilotPlugins/PX4/SafetyComponent.h \
    src/AutoPilotPlugins/PX4/SensorsComponent.h \
    src/AutoPilotPlugins/PX4/SensorsComponentController.h \
Don Gagne's avatar
Don Gagne committed
619
    src/AutoPilotPlugins/PX4/PX4TuningComponent.h \
620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646
    src/FirmwarePlugin/FirmwarePluginManager.h \
    src/FirmwarePlugin/FirmwarePlugin.h \
    src/FirmwarePlugin/APM/APMFirmwarePlugin.h \
    src/FirmwarePlugin/APM/APMParameterMetaData.h \
    src/FirmwarePlugin/APM/ArduCopterFirmwarePlugin.h \
    src/FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.h \
    src/FirmwarePlugin/APM/ArduRoverFirmwarePlugin.h \
    src/FirmwarePlugin/PX4/PX4FirmwarePlugin.h \
    src/FirmwarePlugin/PX4/PX4ParameterMetaData.h \
    src/Vehicle/MultiVehicleManager.h \
    src/Vehicle/Vehicle.h \
    src/VehicleSetup/VehicleComponent.h \

!MobileBuild {
HEADERS += \
    src/VehicleSetup/FirmwareUpgradeController.h \
    src/VehicleSetup/Bootloader.h \
    src/VehicleSetup/PX4FirmwareUpgradeThread.h \
    src/VehicleSetup/FirmwareImage.h \

}

SOURCES += \
    src/AutoPilotPlugins/AutoPilotPlugin.cc \
    src/AutoPilotPlugins/AutoPilotPluginManager.cc \
    src/AutoPilotPlugins/APM/APMAutoPilotPlugin.cc \
    src/AutoPilotPlugins/APM/APMAirframeComponent.cc \
647
    src/AutoPilotPlugins/APM/APMAirframeComponentController.cc \
Don Gagne's avatar
Don Gagne committed
648
    src/AutoPilotPlugins/APM/APMCameraComponent.cc \
649
    src/AutoPilotPlugins/APM/APMCompassCal.cc \
Don Gagne's avatar
Don Gagne committed
650 651
    src/AutoPilotPlugins/APM/APMFlightModesComponent.cc \
    src/AutoPilotPlugins/APM/APMFlightModesComponentController.cc \
Don Gagne's avatar
Don Gagne committed
652 653
    src/AutoPilotPlugins/APM/APMPowerComponent.cc \
    src/AutoPilotPlugins/APM/APMRadioComponent.cc \
Don Gagne's avatar
Don Gagne committed
654
    src/AutoPilotPlugins/APM/APMSafetyComponent.cc \
Don Gagne's avatar
Don Gagne committed
655 656
    src/AutoPilotPlugins/APM/APMSensorsComponent.cc \
    src/AutoPilotPlugins/APM/APMSensorsComponentController.cc \
Don Gagne's avatar
Don Gagne committed
657
    src/AutoPilotPlugins/APM/APMTuningComponent.cc \
Don Gagne's avatar
Don Gagne committed
658
    src/AutoPilotPlugins/Common/RadioComponentController.cc \
dogmaphobic's avatar
dogmaphobic committed
659
    src/AutoPilotPlugins/Common/ESP8266ComponentController.cc \
660
    src/AutoPilotPlugins/Common/ESP8266Component.cc \
661
    src/AutoPilotPlugins/APM/APMAirframeComponentAirframes.cc \
662 663 664 665 666
    src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.cc \
    src/AutoPilotPlugins/PX4/AirframeComponent.cc \
    src/AutoPilotPlugins/PX4/AirframeComponentAirframes.cc \
    src/AutoPilotPlugins/PX4/AirframeComponentController.cc \
    src/AutoPilotPlugins/PX4/FlightModesComponent.cc \
Don Gagne's avatar
Don Gagne committed
667 668
    src/AutoPilotPlugins/PX4/PX4AdvancedFlightModesController.cc \
    src/AutoPilotPlugins/PX4/PX4SimpleFlightModesController.cc \
669 670 671
    src/AutoPilotPlugins/PX4/PowerComponent.cc \
    src/AutoPilotPlugins/PX4/PowerComponentController.cc \
    src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.cc \
Don Gagne's avatar
Don Gagne committed
672
    src/AutoPilotPlugins/PX4/PX4RadioComponent.cc \
673 674 675
    src/AutoPilotPlugins/PX4/SafetyComponent.cc \
    src/AutoPilotPlugins/PX4/SensorsComponent.cc \
    src/AutoPilotPlugins/PX4/SensorsComponentController.cc \
Don Gagne's avatar
Don Gagne committed
676
    src/AutoPilotPlugins/PX4/PX4TuningComponent.cc \
677 678 679 680 681
    src/FirmwarePlugin/APM/APMFirmwarePlugin.cc \
    src/FirmwarePlugin/APM/APMParameterMetaData.cc \
    src/FirmwarePlugin/APM/ArduCopterFirmwarePlugin.cc \
    src/FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.cc \
    src/FirmwarePlugin/APM/ArduRoverFirmwarePlugin.cc \
682
    src/FirmwarePlugin/FirmwarePlugin.cc \
683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706
    src/FirmwarePlugin/FirmwarePluginManager.cc \
    src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc \
    src/FirmwarePlugin/PX4/PX4ParameterMetaData.cc \
    src/Vehicle/MultiVehicleManager.cc \
    src/Vehicle/Vehicle.cc \
    src/VehicleSetup/VehicleComponent.cc \

!MobileBuild {
SOURCES += \
    src/VehicleSetup/FirmwareUpgradeController.cc \
    src/VehicleSetup/Bootloader.cc \
    src/VehicleSetup/PX4FirmwareUpgradeThread.cc \
    src/VehicleSetup/FirmwareImage.cc \

}

# Fact System code

INCLUDEPATH += \
    src/FactSystem \
    src/FactSystem/FactControls \

HEADERS += \
    src/FactSystem/Fact.h \
Don Gagne's avatar
Don Gagne committed
707
    src/FactSystem/FactGroup.h \
708
    src/FactSystem/FactControls/FactPanelController.h \
709 710 711 712
    src/FactSystem/FactMetaData.h \
    src/FactSystem/FactSystem.h \
    src/FactSystem/FactValidator.h \
    src/FactSystem/ParameterLoader.h \
713
    src/FactSystem/SettingsFact.h \
714 715 716

SOURCES += \
    src/FactSystem/Fact.cc \
Don Gagne's avatar
Don Gagne committed
717
    src/FactSystem/FactGroup.cc \
718
    src/FactSystem/FactControls/FactPanelController.cc \
719 720 721 722
    src/FactSystem/FactMetaData.cc \
    src/FactSystem/FactSystem.cc \
    src/FactSystem/FactValidator.cc \
    src/FactSystem/ParameterLoader.cc \
723
    src/FactSystem/SettingsFact.cc \
724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797

#-------------------------------------------------------------------------------------
# Video Streaming

INCLUDEPATH += \
    src/VideoStreaming

HEADERS += \
    src/VideoStreaming/VideoItem.h \
    src/VideoStreaming/VideoReceiver.h \
    src/VideoStreaming/VideoStreaming.h \
    src/VideoStreaming/VideoSurface.h \
    src/VideoStreaming/VideoSurface_p.h \

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

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)
}

#-------------------------------------------------------------------------------------
# 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

    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
}

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

include(QGCSetup.pri)

#
# Installer targets
#

include(QGCInstaller.pri)