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

dogmaphobic's avatar
dogmaphobic committed
10
exists($${OUT_PWD}/qgroundcontrol.pro) {
11
    error("You must use shadow build (e.g. mkdir build; cd build; qmake ../qgroundcontrol.pro).")
dogmaphobic's avatar
dogmaphobic committed
12
}
13 14 15

message(Qt version $$[QT_VERSION])

16 17
!equals(QT_MAJOR_VERSION, 5) | !greaterThan(QT_MINOR_VERSION, 6) {
    error("Unsupported Qt version, 5.7+ is required")
18
}
19

20 21
include(QGCCommon.pri)

Daniel Agar's avatar
Daniel Agar committed
22
TARGET   = QGroundControl
23
TEMPLATE = app
24
QGCROOT  = $$PWD
25 26 27

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

32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
#
# OS Specific settings
#

MacBuild {
    QMAKE_INFO_PLIST    = Custom-Info.plist
    ICON                = $${BASEDIR}/resources/icons/macx.icns
    OTHER_FILES        += Custom-Info.plist
    equals(QT_MAJOR_VERSION, 5) | greaterThan(QT_MINOR_VERSION, 5) {
        LIBS           += -framework ApplicationServices
    }
}

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)
        #-- Create official, versioned Info.plist
        APP_STORE = $$system(cd $${BASEDIR} && $${BASEDIR}/tools/update_ios_version.sh $${BASEDIR}/ios/iOSForAppStore-Info-Source.plist $${BASEDIR}/ios/iOSForAppStore-Info.plist)
        APP_ERROR = $$find(APP_STORE, "Error")
        count(APP_ERROR, 1) {
            error("Error building .plist file. 'ForAppStore' builds are only possible through the official build system.")
        }
        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
}

WindowsBuild {
    RC_ICONS = resources/icons/qgroundcontrol.ico
}

75 76 77 78 79 80
# 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)))
}

81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
#
# Custom Build
#
# QGC will create a "CUSTOMCLASS" object (exposed by your custom build
# and derived from QGCCorePlugin).
# This is the start of allowing custom Plugins, which will eventually use a
# more defined runtime plugin architecture and not require a QGC project
# file you would have to keep in sync with the upstream repo.
#

# This allows you to ignore the custom build even if the custom build
# is present. It's useful to run "regular" builds to make sure you didn't
# break anything.

contains (CONFIG, QGC_DISABLE_CUSTOM_BUILD) {
    message("Disable custom build override")
} else {
    exists($$PWD/custom/custom.pri) {
        message("Found custom build")
        CONFIG  += CustomBuild
        DEFINES += QGC_CUSTOM_BUILD
        # custom.pri must define:
        # CUSTOMCLASS  = YourIQGCCorePluginDerivation
        # CUSTOMHEADER = \"\\\"YourIQGCCorePluginDerivation.h\\\"\"
        include($$PWD/custom/custom.pri)
    }
}

Gus Grubba's avatar
Gus Grubba committed
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
#
# Plugin configuration
#
# This allows you to build custom versions of QGC which only includes your
# specific vehicle plugin. To remove support for a firmware type completely,
# disable both the Plugin and PluginFactory entries. To include custom support
# for an existing plugin type disable PluginFactory only. Then provide you own
# implementation of FirmwarePluginFactory and use the FirmwarePlugin and
# AutoPilotPlugin classes as the base clase for your derived plugin
# implementation.

contains (CONFIG, QGC_DISABLE_APM_PLUGIN) {
    message("Disable APM Plugin")
} else {
    CONFIG += APMFirmwarePlugin
}

contains (CONFIG, QGC_DISABLE_APM_PLUGIN_FACTORY) {
    message("Disable APM Plugin Factory")
} else {
    CONFIG += APMFirmwarePluginFactory
}

contains (CONFIG, QGC_DISABLE_PX4_PLUGIN) {
    message("Disable PX4 Plugin")
} else {
    CONFIG += PX4FirmwarePlugin
}

contains (CONFIG, QGC_DISABLE_PX4_PLUGIN_FACTORY) {
    message("Disable PX4 Plugin Factory")
} else {
    CONFIG += PX4FirmwarePluginFactory
}

dogmaphobic's avatar
dogmaphobic committed
144 145 146 147 148 149 150 151 152 153 154 155
# 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
}

156 157 158
# USB Camera and UVC Video Sources
contains (DEFINES, QGC_DISABLE_UVC) {
    message("Skipping support for UVC devices (manual override from command line)")
159
    DEFINES += QGC_DISABLE_UVC
160 161
} else:exists(user_config.pri):infile(user_config.pri, DEFINES, QGC_DISABLE_UVC) {
    message("Skipping support for UVC devices (manual override from user_config.pri)")
162
    DEFINES += QGC_DISABLE_UVC
dogmaphobic's avatar
dogmaphobic committed
163 164 165 166 167
} else:LinuxBuild {
    contains(QT_VERSION, 5.5.1) {
        message("Skipping support for UVC devices (conflict with Qt 5.5.1 on Ubuntu)")
        DEFINES += QGC_DISABLE_UVC
    }
168 169
}

170 171 172 173 174 175 176
LinuxBuild {
    CONFIG += link_pkgconfig
}

# Qt configuration

CONFIG += qt \
177
    thread \
Daniel Agar's avatar
Daniel Agar committed
178
    c++11 \
179 180 181 182 183 184 185

contains(DEFINES, ENABLE_VERBOSE_OUTPUT) {
    message("Enable verbose compiler output (manual override from command line)")
} else:exists(user_config.pri):infile(user_config.pri, DEFINES, ENABLE_VERBOSE_OUTPUT) {
    message("Enable verbose compiler output (manual override from user_config.pri)")
} else {
CONFIG += \
Daniel Agar's avatar
Daniel Agar committed
186
    silent
187
}
188 189 190 191 192

QT += \
    concurrent \
    gui \
    location \
193
    network \
194 195 196 197 198 199 200 201
    opengl \
    positioning \
    qml \
    quick \
    quickwidgets \
    sql \
    svg \
    widgets \
202 203 204 205 206 207 208
    xml

# Multimedia only used if QVC is enabled
!contains (DEFINES, QGC_DISABLE_UVC) {
    QT += \
        multimedia
}
209 210

!MobileBuild {
dogmaphobic's avatar
dogmaphobic committed
211
QT += \
212 213 214 215
    printsupport \
    serialport \
}

dogmaphobic's avatar
dogmaphobic committed
216
contains(DEFINES, QGC_ENABLE_BLUETOOTH) {
dogmaphobic's avatar
dogmaphobic committed
217 218 219 220
QT += \
    bluetooth \
}

221 222
#  testlib is needed even in release flavor for QSignalSpy support
QT += testlib
223 224 225 226
ReleaseBuild {
    # We don't need the testlib console in release mode
    QT.testlib.CONFIG -= console
}
227

228
#
229
# Branding
230 231
#

232
QMAKE_TARGET_COMPANY     = "qgroundcontrol.org"
233
QMAKE_TARGET_DESCRIPTION = "Open source ground control app provided by QGroundControl dev team"
234 235
QMAKE_TARGET_COPYRIGHT   = "Copyright (C) 2016 QGroundControl Development Team. All rights reserved."
QMAKE_TARGET_PRODUCT     = "QGroundControl"
236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265

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

#
266
# Resources (custom code can replace them)
267 268
#

269 270 271 272 273 274 275 276 277 278 279 280 281 282
CustomBuild {
    exists($$PWD/custom/qgroundcontrol.qrc) {
        message("Using custom qgroundcontrol.qrc")
        RESOURCES += $$PWD/custom/qgroundcontrol.qrc
    } else {
        RESOURCES += $$PWD/qgroundcontrol.qrc
    }
    exists($$PWD/custom/qgcresources.qrc) {
        message("Using custom qgcresources.qrc")
        RESOURCES += $$PWD/custom/qgcresources.qrc
    } else {
        RESOURCES += $$PWD/qgcresources.qrc
    }
} else {
283 284 285
    DEFINES += QGC_APPLICATION_NAME=\"\\\"QGroundControl\\\"\"
    DEFINES += QGC_ORG_NAME=\"\\\"QGroundControl.org\\\"\"
    DEFINES += QGC_ORG_DOMAIN=\"\\\"org.qgroundcontrol\\\"\"
286 287 288 289 290
    RESOURCES += \
        $$PWD/qgroundcontrol.qrc \
        $$PWD/qgcresources.qrc
}

291 292 293 294 295 296 297 298 299
# On Qt 5.9 android versions there is the following bug: https://bugreports.qt.io/browse/QTBUG-61424
# This prevents FileDialog from being used. So we have a temp hack workaround for it which just no-ops
# the FileDialog fallback mechanism on android 5.9 builds.
equals(QT_MAJOR_VERSION, 5):equals(QT_MINOR_VERSION, 9):AndroidBuild {
    RESOURCES += $$PWD/HackAndroidFileDialog.qrc
} else {
    RESOURCES += $$PWD/HackFileDialog.qrc
}

300 301 302
#
# Main QGroundControl portion of project file
#
303

304 305 306 307 308
DebugBuild {
    # Unit Test resources
    RESOURCES += UnitTest.qrc
}

309 310 311 312 313 314 315 316 317
DEPENDPATH += \
    . \
    plugins

INCLUDEPATH += .

INCLUDEPATH += \
    include/ui \
    src \
318
    src/api \
Don Gagne's avatar
Don Gagne committed
319
    src/AnalyzeView \
320 321 322
    src/AutoPilotPlugins \
    src/FlightDisplay \
    src/FlightMap \
323
    src/FlightMap/Widgets \
Jimmy Johnson's avatar
Jimmy Johnson committed
324
    src/FollowMe \
325
    src/GPS \
Gus Grubba's avatar
Gus Grubba committed
326
    src/Joystick \
327
    src/PlanView \
328
    src/MissionManager \
Gus Grubba's avatar
Gus Grubba committed
329
    src/PositionManager \
330
    src/QmlControls \
Gus Grubba's avatar
Gus Grubba committed
331 332
    src/QtLocationPlugin \
    src/QtLocationPlugin/QMLControl \
333
    src/Settings \
Gus Grubba's avatar
Gus Grubba committed
334 335 336 337 338 339
    src/VehicleSetup \
    src/ViewWidgets \
    src/audio \
    src/comm \
    src/input \
    src/lib/qmapcontrol \
340 341 342 343 344 345 346 347 348 349 350 351
    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 \

FORMS += \
    src/ui/MainWindow.ui \
352
    src/QGCQmlWidgetHolder.ui \
353 354 355 356 357 358 359 360 361 362

!MobileBuild {
FORMS += \
    src/ui/Linechart.ui \
    src/ui/MultiVehicleDockWidget.ui \
    src/ui/QGCHilConfiguration.ui \
    src/ui/QGCHilFlightGearConfiguration.ui \
    src/ui/QGCHilJSBSimConfiguration.ui \
    src/ui/QGCHilXPlaneConfiguration.ui \
    src/ui/QGCMAVLinkInspector.ui \
363
    src/ui/QGCMAVLinkLogPlayer.ui \
Gus Grubba's avatar
Gus Grubba committed
364
    src/ui/QGCMapRCToParamDialog.ui \
365 366
    src/ui/QGCUASFileView.ui \
    src/ui/QGCUASFileViewMulti.ui \
Gus Grubba's avatar
Gus Grubba committed
367
    src/ui/uas/QGCUnconnectedInfoWidget.ui \
368 369
}

Gus Grubba's avatar
Gus Grubba committed
370 371 372 373 374
#
# Plugin API
#

HEADERS += \
375 376 377 378 379 380 381 382
    src/api/QGCCorePlugin.h \
    src/api/QGCOptions.h \
    src/api/QGCSettings.h \

SOURCES += \
    src/api/QGCCorePlugin.cc \
    src/api/QGCOptions.cc \
    src/api/QGCSettings.cc \
Gus Grubba's avatar
Gus Grubba committed
383

384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399
#
# Unit Test specific configuration goes here (requires full debug build with all plugins)
#

DebugBuild { PX4FirmwarePlugin { PX4FirmwarePluginFactory  { APMFirmwarePlugin { APMFirmwarePluginFactory { !MobileBuild {
    DEFINES += UNITTEST_BUILD

    INCLUDEPATH += \
        src/qgcunittest

    HEADERS += \
        src/AnalyzeView/LogDownloadTest.h \
        src/FactSystem/FactSystemTestBase.h \
        src/FactSystem/FactSystemTestGeneric.h \
        src/FactSystem/FactSystemTestPX4.h \
        src/FactSystem/ParameterManagerTest.h \
400
        src/MissionManager/CameraSectionTest.h \
401 402
        src/MissionManager/MissionCommandTreeTest.h \
        src/MissionManager/MissionControllerManagerTest.h \
Gus Grubba's avatar
Gus Grubba committed
403
        src/MissionManager/MissionControllerTest.h \
404 405
        src/MissionManager/MissionItemTest.h \
        src/MissionManager/MissionManagerTest.h \
406
        src/MissionManager/MissionSettingsTest.h \
407
        src/MissionManager/PlanMasterControllerTest.h \
408
        src/MissionManager/QGCMapPolygonTest.h \
409
        src/MissionManager/SectionTest.h \
410
        src/MissionManager/SimpleMissionItemTest.h \
411 412 413
        src/MissionManager/SpeedSectionTest.h \
        src/MissionManager/SurveyMissionItemTest.h \
        src/MissionManager/VisualMissionItemTest.h \
414 415 416
        src/qgcunittest/FileDialogTest.h \
        src/qgcunittest/FileManagerTest.h \
        src/qgcunittest/FlightGearTest.h \
Gus Grubba's avatar
Gus Grubba committed
417
        src/qgcunittest/GeoTest.h \
418 419 420 421 422 423 424 425 426
        src/qgcunittest/LinkManagerTest.h \
        src/qgcunittest/MainWindowTest.h \
        src/qgcunittest/MavlinkLogTest.h \
        src/qgcunittest/MessageBoxTest.h \
        src/qgcunittest/MultiSignalSpy.h \
        src/qgcunittest/RadioConfigTest.h \
        src/qgcunittest/TCPLinkTest.h \
        src/qgcunittest/TCPLoopBackServer.h \
        src/qgcunittest/UnitTest.h \
427
        src/Vehicle/SendMavCommandTest.h \
428 429 430 431 432 433 434

    SOURCES += \
        src/AnalyzeView/LogDownloadTest.cc \
        src/FactSystem/FactSystemTestBase.cc \
        src/FactSystem/FactSystemTestGeneric.cc \
        src/FactSystem/FactSystemTestPX4.cc \
        src/FactSystem/ParameterManagerTest.cc \
435
        src/MissionManager/CameraSectionTest.cc \
436 437
        src/MissionManager/MissionCommandTreeTest.cc \
        src/MissionManager/MissionControllerManagerTest.cc \
Gus Grubba's avatar
Gus Grubba committed
438
        src/MissionManager/MissionControllerTest.cc \
439 440
        src/MissionManager/MissionItemTest.cc \
        src/MissionManager/MissionManagerTest.cc \
441
        src/MissionManager/MissionSettingsTest.cc \
442
        src/MissionManager/PlanMasterControllerTest.cc \
443
        src/MissionManager/QGCMapPolygonTest.cc \
444
        src/MissionManager/SectionTest.cc \
445
        src/MissionManager/SimpleMissionItemTest.cc \
446 447 448
        src/MissionManager/SpeedSectionTest.cc \
        src/MissionManager/SurveyMissionItemTest.cc \
        src/MissionManager/VisualMissionItemTest.cc \
449 450 451
        src/qgcunittest/FileDialogTest.cc \
        src/qgcunittest/FileManagerTest.cc \
        src/qgcunittest/FlightGearTest.cc \
Gus Grubba's avatar
Gus Grubba committed
452
        src/qgcunittest/GeoTest.cc \
453 454 455 456 457 458 459 460 461 462
        src/qgcunittest/LinkManagerTest.cc \
        src/qgcunittest/MainWindowTest.cc \
        src/qgcunittest/MavlinkLogTest.cc \
        src/qgcunittest/MessageBoxTest.cc \
        src/qgcunittest/MultiSignalSpy.cc \
        src/qgcunittest/RadioConfigTest.cc \
        src/qgcunittest/TCPLinkTest.cc \
        src/qgcunittest/TCPLoopBackServer.cc \
        src/qgcunittest/UnitTest.cc \
        src/qgcunittest/UnitTestList.cc \
463
        src/Vehicle/SendMavCommandTest.cc \
464 465 466 467
} } } } } }

# Main QGC Headers and Source files

468
HEADERS += \
Gus Grubba's avatar
Gus Grubba committed
469
    src/AnalyzeView/ExifParser.h \
470 471
    src/AnalyzeView/ULogParser.h \
    src/AnalyzeView/PX4LogParser.h \
472
    src/CmdLineOptParser.h \
473
    src/FirmwarePlugin/PX4/px4_custom_mode.h \
474
    src/FlightDisplay/VideoManager.h \
475
    src/FlightMap/Widgets/ValuesWidgetController.h \
Gus Grubba's avatar
Gus Grubba committed
476
    src/FollowMe/FollowMe.h \
477 478 479
    src/GAudioOutput.h \
    src/Joystick/Joystick.h \
    src/Joystick/JoystickManager.h \
Don Gagne's avatar
Don Gagne committed
480
    src/JsonHelper.h \
481 482
    src/LogCompressor.h \
    src/MG.h \
483
    src/MissionManager/CameraSection.h \
484
    src/MissionManager/ComplexMissionItem.h \
485
    src/MissionManager/FixedWingLandingComplexItem.h \
486 487
    src/MissionManager/GeoFenceController.h \
    src/MissionManager/GeoFenceManager.h \
488
    src/MissionManager/MissionCommandList.h \
489 490
    src/MissionManager/MissionCommandTree.h \
    src/MissionManager/MissionCommandUIInfo.h \
491
    src/MissionManager/MissionController.h \
492 493
    src/MissionManager/MissionItem.h \
    src/MissionManager/MissionManager.h \
494
    src/MissionManager/MissionSettingsItem.h \
495
    src/MissionManager/PlanElementController.h \
496
    src/MissionManager/PlanMasterController.h \
497 498 499 500
    src/MissionManager/QGCMapPolygon.h \
    src/MissionManager/RallyPoint.h \
    src/MissionManager/RallyPointController.h \
    src/MissionManager/RallyPointManager.h \
501
    src/MissionManager/SimpleMissionItem.h \
502 503
    src/MissionManager/Section.h \
    src/MissionManager/SpeedSection.h \
504
    src/MissionManager/SurveyMissionItem.h \
505
    src/MissionManager/VisualMissionItem.h \
Gus Grubba's avatar
Gus Grubba committed
506 507
    src/PositionManager/PositionManager.h \
    src/PositionManager/SimulatedPosition.h \
508 509 510 511 512
    src/QGC.h \
    src/QGCApplication.h \
    src/QGCComboBox.h \
    src/QGCConfig.h \
    src/QGCDockWidget.h \
513
    src/QGCFileDownload.h \
514 515
    src/QGCGeo.h \
    src/QGCLoggingCategory.h \
Don Gagne's avatar
Don Gagne committed
516
    src/QGCMapPalette.h \
517
    src/QGCPalette.h \
518
    src/QGCQGeoCoordinate.h \
519 520 521 522
    src/QGCQmlWidgetHolder.h \
    src/QGCQuickWidget.h \
    src/QGCTemporaryFile.h \
    src/QGCToolbox.h \
523
    src/QmlControls/AppMessages.h \
524 525 526
    src/QmlControls/CoordinateVector.h \
    src/QmlControls/MavlinkQmlSingleton.h \
    src/QmlControls/ParameterEditorController.h \
527
    src/QmlControls/QGCFileDialogController.h \
Gus Grubba's avatar
Gus Grubba committed
528
    src/QmlControls/QGCImageProvider.h \
529 530
    src/QmlControls/QGroundControlQmlGlobal.h \
    src/QmlControls/QmlObjectListModel.h \
Gus Grubba's avatar
Gus Grubba committed
531 532 533
    src/QmlControls/RCChannelMonitorController.h \
    src/QmlControls/ScreenToolsController.h \
    src/QtLocationPlugin/QMLControl/QGCMapEngineManager.h \
534 535
    src/Settings/AppSettings.h \
    src/Settings/AutoConnectSettings.h \
536
    src/Settings/FlightMapSettings.h \
Don Gagne's avatar
Don Gagne committed
537
    src/Settings/GuidedSettings.h \
Don Gagne's avatar
Don Gagne committed
538
    src/Settings/RTKSettings.h \
539 540 541 542
    src/Settings/SettingsGroup.h \
    src/Settings/SettingsManager.h \
    src/Settings/UnitsSettings.h \
    src/Settings/VideoSettings.h \
Gus Grubba's avatar
Gus Grubba committed
543 544 545 546 547 548 549 550 551 552 553
    src/Vehicle/MAVLinkLogManager.h \
    src/VehicleSetup/JoystickConfigController.h \
    src/audio/QGCAudioWorker.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 \
554 555 556
    src/uas/UAS.h \
    src/uas/UASInterface.h \
    src/uas/UASMessageHandler.h \
557
    src/AnalyzeView/LogDownloadController.h \
558

559 560
AndroidBuild {
HEADERS += \
Gregory Dymarek's avatar
Gregory Dymarek committed
561
	src/Joystick/JoystickAndroid.h \
562 563
}

564 565 566 567 568 569 570
DebugBuild {
HEADERS += \
    src/comm/MockLink.h \
    src/comm/MockLinkFileServer.h \
    src/comm/MockLinkMissionItemHandler.h \
}

571 572 573
WindowsBuild {
    PRECOMPILED_HEADER += src/stable_headers.h
    HEADERS += src/stable_headers.h
Daniel Agar's avatar
Daniel Agar committed
574
    CONFIG -= silent
575
    OTHER_FILES += .appveyor.yml
576 577
}

dogmaphobic's avatar
dogmaphobic committed
578
contains(DEFINES, QGC_ENABLE_BLUETOOTH) {
dogmaphobic's avatar
dogmaphobic committed
579 580
    HEADERS += \
    src/comm/BluetoothLink.h \
dogmaphobic's avatar
dogmaphobic committed
581
}
582

Gus Grubba's avatar
Gus Grubba committed
583
!NoSerialBuild {
584
HEADERS += \
585
    src/comm/QGCSerialPortInfo.h \
586 587 588 589 590
    src/comm/SerialLink.h \
}

!MobileBuild {
HEADERS += \
Don Gagne's avatar
Don Gagne committed
591
    src/AnalyzeView/GeoTagController.h \
592
    src/AnalyzeView/MavlinkConsoleController.h \
Gus Grubba's avatar
Gus Grubba committed
593 594 595 596 597 598 599 600 601 602
    src/GPS/Drivers/src/gps_helper.h \
    src/GPS/Drivers/src/ubx.h \
    src/GPS/GPSManager.h \
    src/GPS/GPSPositionMessage.h \
    src/GPS/GPSProvider.h \
    src/GPS/RTCM/RTCMMavlink.h \
    src/GPS/definitions.h \
    src/GPS/satellite_info.h \
    src/GPS/vehicle_gps_position.h \
    src/Joystick/JoystickSDL.h \
603
    src/QGCQFileDialog.h \
Gus Grubba's avatar
Gus Grubba committed
604
    src/QGCMessageBox.h \
605
    src/RunGuard.h \
Gus Grubba's avatar
Gus Grubba committed
606 607 608
    src/ViewWidgets/CustomCommandWidget.h \
    src/ViewWidgets/CustomCommandWidgetController.h \
    src/ViewWidgets/ViewWidgetController.h \
dogmaphobic's avatar
dogmaphobic committed
609
    src/comm/LogReplayLink.h \
610 611 612 613
    src/comm/QGCFlightGearLink.h \
    src/comm/QGCHilLink.h \
    src/comm/QGCJSBSimLink.h \
    src/comm/QGCXPlaneLink.h \
614
    src/uas/FileManager.h \
615
    src/ui/HILDockWidget.h \
616
    src/ui/MAVLinkDecoder.h \
Gus Grubba's avatar
Gus Grubba committed
617
    src/ui/MainWindow.h \
618 619 620 621 622 623
    src/ui/MultiVehicleDockWidget.h \
    src/ui/QGCHilConfiguration.h \
    src/ui/QGCHilFlightGearConfiguration.h \
    src/ui/QGCHilJSBSimConfiguration.h \
    src/ui/QGCHilXPlaneConfiguration.h \
    src/ui/QGCMAVLinkInspector.h \
Gus Grubba's avatar
Gus Grubba committed
624 625
    src/ui/QGCMAVLinkLogPlayer.h \
    src/ui/QGCMapRCToParamDialog.h \
626 627
    src/ui/QGCUASFileView.h \
    src/ui/QGCUASFileViewMulti.h \
Gus Grubba's avatar
Gus Grubba committed
628 629 630 631 632 633 634 635
    src/ui/linechart/ChartPlot.h \
    src/ui/linechart/IncrementalPlot.h \
    src/ui/linechart/LinechartPlot.h \
    src/ui/linechart/LinechartWidget.h \
    src/ui/linechart/Linecharts.h \
    src/ui/linechart/ScrollZoomer.h \
    src/ui/linechart/Scrollbar.h \
    src/ui/uas/QGCUnconnectedInfoWidget.h \
636 637
}

Don Gagne's avatar
Don Gagne committed
638 639 640 641 642
iOSBuild {
    OBJECTIVE_SOURCES += \
        src/audio/QGCAudioWorker_iOS.mm \
        src/MobileScreenMgr.mm \
}
643

Don Gagne's avatar
Don Gagne committed
644
AndroidBuild {
Don Gagne's avatar
Don Gagne committed
645
    SOURCES += src/MobileScreenMgr.cc \
Gregory Dymarek's avatar
Gregory Dymarek committed
646
	src/Joystick/JoystickAndroid.cc \
Don Gagne's avatar
Don Gagne committed
647 648
}

649
SOURCES += \
Gus Grubba's avatar
Gus Grubba committed
650
    src/AnalyzeView/ExifParser.cc \
651 652
    src/AnalyzeView/ULogParser.cc \
    src/AnalyzeView/PX4LogParser.cc \
653
    src/CmdLineOptParser.cc \
654
    src/FlightDisplay/VideoManager.cc \
655
    src/FlightMap/Widgets/ValuesWidgetController.cc \
Gus Grubba's avatar
Gus Grubba committed
656
    src/FollowMe/FollowMe.cc \
657 658 659
    src/GAudioOutput.cc \
    src/Joystick/Joystick.cc \
    src/Joystick/JoystickManager.cc \
Don Gagne's avatar
Don Gagne committed
660
    src/JsonHelper.cc \
661
    src/LogCompressor.cc \
662
    src/MissionManager/CameraSection.cc \
663
    src/MissionManager/ComplexMissionItem.cc \
664
    src/MissionManager/FixedWingLandingComplexItem.cc \
665 666
    src/MissionManager/GeoFenceController.cc \
    src/MissionManager/GeoFenceManager.cc \
667
    src/MissionManager/MissionCommandList.cc \
668 669
    src/MissionManager/MissionCommandTree.cc \
    src/MissionManager/MissionCommandUIInfo.cc \
670
    src/MissionManager/MissionController.cc \
671 672
    src/MissionManager/MissionItem.cc \
    src/MissionManager/MissionManager.cc \
673
    src/MissionManager/MissionSettingsItem.cc \
674
    src/MissionManager/PlanElementController.cc \
675
    src/MissionManager/PlanMasterController.cc \
676 677 678 679
    src/MissionManager/QGCMapPolygon.cc \
    src/MissionManager/RallyPoint.cc \
    src/MissionManager/RallyPointController.cc \
    src/MissionManager/RallyPointManager.cc \
680
    src/MissionManager/SimpleMissionItem.cc \
681
    src/MissionManager/SpeedSection.cc \
682
    src/MissionManager/SurveyMissionItem.cc \
683
    src/MissionManager/VisualMissionItem.cc \
Gus Grubba's avatar
Gus Grubba committed
684 685
    src/PositionManager/PositionManager.cpp \
    src/PositionManager/SimulatedPosition.cc \
686 687 688 689
    src/QGC.cc \
    src/QGCApplication.cc \
    src/QGCComboBox.cc \
    src/QGCDockWidget.cc \
690
    src/QGCFileDownload.cc \
Gus Grubba's avatar
Gus Grubba committed
691
    src/QGCGeo.cc \
692
    src/QGCLoggingCategory.cc \
Don Gagne's avatar
Don Gagne committed
693
    src/QGCMapPalette.cc \
694
    src/QGCPalette.cc \
695
    src/QGCQGeoCoordinate.cc \
696
    src/QGCQmlWidgetHolder.cpp \
Gus Grubba's avatar
Gus Grubba committed
697
    src/QGCQuickWidget.cc \
698 699
    src/QGCTemporaryFile.cc \
    src/QGCToolbox.cc \
700
    src/QmlControls/AppMessages.cc \
701 702
    src/QmlControls/CoordinateVector.cc \
    src/QmlControls/ParameterEditorController.cc \
703
    src/QmlControls/QGCFileDialogController.cc \
Gus Grubba's avatar
Gus Grubba committed
704
    src/QmlControls/QGCImageProvider.cc \
705 706
    src/QmlControls/QGroundControlQmlGlobal.cc \
    src/QmlControls/QmlObjectListModel.cc \
Gus Grubba's avatar
Gus Grubba committed
707 708 709
    src/QmlControls/RCChannelMonitorController.cc \
    src/QmlControls/ScreenToolsController.cc \
    src/QtLocationPlugin/QMLControl/QGCMapEngineManager.cc \
710 711
    src/Settings/AppSettings.cc \
    src/Settings/AutoConnectSettings.cc \
712
    src/Settings/FlightMapSettings.cc \
Don Gagne's avatar
Don Gagne committed
713
    src/Settings/GuidedSettings.cc \
Don Gagne's avatar
Don Gagne committed
714
    src/Settings/RTKSettings.cc \
715 716 717 718
    src/Settings/SettingsGroup.cc \
    src/Settings/SettingsManager.cc \
    src/Settings/UnitsSettings.cc \
    src/Settings/VideoSettings.cc \
Gus Grubba's avatar
Gus Grubba committed
719 720 721 722
    src/Vehicle/MAVLinkLogManager.cc \
    src/VehicleSetup/JoystickConfigController.cc \
    src/audio/QGCAudioWorker.cpp \
    src/comm/LinkConfiguration.cc \
723
    src/comm/LinkInterface.cc \
Gus Grubba's avatar
Gus Grubba committed
724 725 726 727 728 729
    src/comm/LinkManager.cc \
    src/comm/MAVLinkProtocol.cc \
    src/comm/QGCMAVLink.cc \
    src/comm/TCPLink.cc \
    src/comm/UDPLink.cc \
    src/main.cc \
730 731
    src/uas/UAS.cc \
    src/uas/UASMessageHandler.cc \
732
    src/AnalyzeView/LogDownloadController.cc \
733

734 735 736 737 738 739 740
DebugBuild {
SOURCES += \
    src/comm/MockLink.cc \
    src/comm/MockLinkFileServer.cc \
    src/comm/MockLinkMissionItemHandler.cc \
}

Gus Grubba's avatar
Gus Grubba committed
741
!NoSerialBuild {
742
SOURCES += \
743
    src/comm/QGCSerialPortInfo.cc \
744 745 746
    src/comm/SerialLink.cc \
}

dogmaphobic's avatar
dogmaphobic committed
747
contains(DEFINES, QGC_ENABLE_BLUETOOTH) {
dogmaphobic's avatar
dogmaphobic committed
748 749 750 751
    SOURCES += \
    src/comm/BluetoothLink.cc \
}

752 753
!MobileBuild {
SOURCES += \
Don Gagne's avatar
Don Gagne committed
754
    src/AnalyzeView/GeoTagController.cc \
755
    src/AnalyzeView/MavlinkConsoleController.cc \
Gus Grubba's avatar
Gus Grubba committed
756 757 758 759 760 761
    src/GPS/Drivers/src/gps_helper.cpp \
    src/GPS/Drivers/src/ubx.cpp \
    src/GPS/GPSManager.cc \
    src/GPS/GPSProvider.cc \
    src/GPS/RTCM/RTCMMavlink.cc \
    src/Joystick/JoystickSDL.cc \
762
    src/QGCQFileDialog.cc \
763
    src/RunGuard.cc \
Gus Grubba's avatar
Gus Grubba committed
764 765 766 767
    src/ViewWidgets/CustomCommandWidget.cc \
    src/ViewWidgets/CustomCommandWidgetController.cc \
    src/ViewWidgets/ViewWidgetController.cc \
    src/comm/LogReplayLink.cc \
768 769 770
    src/comm/QGCFlightGearLink.cc \
    src/comm/QGCJSBSimLink.cc \
    src/comm/QGCXPlaneLink.cc \
Gus Grubba's avatar
Gus Grubba committed
771
    src/uas/FileManager.cc \
772
    src/ui/HILDockWidget.cc \
Gus Grubba's avatar
Gus Grubba committed
773
    src/ui/MAVLinkDecoder.cc \
Don Gagne's avatar
Don Gagne committed
774
    src/ui/MainWindow.cc \
775 776 777 778 779 780
    src/ui/MultiVehicleDockWidget.cc \
    src/ui/QGCHilConfiguration.cc \
    src/ui/QGCHilFlightGearConfiguration.cc \
    src/ui/QGCHilJSBSimConfiguration.cc \
    src/ui/QGCHilXPlaneConfiguration.cc \
    src/ui/QGCMAVLinkInspector.cc \
Gus Grubba's avatar
Gus Grubba committed
781 782
    src/ui/QGCMAVLinkLogPlayer.cc \
    src/ui/QGCMapRCToParamDialog.cpp \
783 784
    src/ui/QGCUASFileView.cc \
    src/ui/QGCUASFileViewMulti.cc \
Gus Grubba's avatar
Gus Grubba committed
785 786 787 788 789 790 791 792
    src/ui/linechart/ChartPlot.cc \
    src/ui/linechart/IncrementalPlot.cc \
    src/ui/linechart/LinechartPlot.cc \
    src/ui/linechart/LinechartWidget.cc \
    src/ui/linechart/Linecharts.cc \
    src/ui/linechart/ScrollZoomer.cc \
    src/ui/linechart/Scrollbar.cc \
    src/ui/uas/QGCUnconnectedInfoWidget.cc \
793 794
}

795
# Palette test widget in debug builds
796
DebugBuild {
797 798 799
    HEADERS += src/QmlControls/QmlTestWidget.h
    SOURCES += src/QmlControls/QmlTestWidget.cc
}
800 801 802 803 804 805

#
# Firmware Plugin Support
#

INCLUDEPATH += \
Don Gagne's avatar
Don Gagne committed
806
    src/AutoPilotPlugins/Common \
807 808 809 810 811 812
    src/FirmwarePlugin \
    src/Vehicle \
    src/VehicleSetup \

HEADERS+= \
    src/AutoPilotPlugins/AutoPilotPlugin.h \
Gus Grubba's avatar
Gus Grubba committed
813 814
    src/AutoPilotPlugins/Common/ESP8266Component.h \
    src/AutoPilotPlugins/Common/ESP8266ComponentController.h \
Don Gagne's avatar
Don Gagne committed
815
    src/AutoPilotPlugins/Common/MotorComponent.h \
Don Gagne's avatar
Don Gagne committed
816
    src/AutoPilotPlugins/Common/RadioComponentController.h \
817 818
    src/AutoPilotPlugins/Common/SyslinkComponent.h \
    src/AutoPilotPlugins/Common/SyslinkComponentController.h \
819
    src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.h \
820
    src/FirmwarePlugin/CameraMetaData.h \
821
    src/FirmwarePlugin/FirmwarePlugin.h \
Gus Grubba's avatar
Gus Grubba committed
822
    src/FirmwarePlugin/FirmwarePluginManager.h \
823
    src/Vehicle/MultiVehicleManager.h \
824
    src/Vehicle/GPSRTKFactGroup.h \
825 826 827 828
    src/Vehicle/Vehicle.h \
    src/VehicleSetup/VehicleComponent.h \

!MobileBuild {
Gus Grubba's avatar
Gus Grubba committed
829 830 831 832 833
    HEADERS += \
        src/VehicleSetup/Bootloader.h \
        src/VehicleSetup/FirmwareImage.h \
        src/VehicleSetup/FirmwareUpgradeController.h \
        src/VehicleSetup/PX4FirmwareUpgradeThread.h \
834 835 836 837
}

SOURCES += \
    src/AutoPilotPlugins/AutoPilotPlugin.cc \
Gus Grubba's avatar
Gus Grubba committed
838 839
    src/AutoPilotPlugins/Common/ESP8266Component.cc \
    src/AutoPilotPlugins/Common/ESP8266ComponentController.cc \
Don Gagne's avatar
Don Gagne committed
840
    src/AutoPilotPlugins/Common/MotorComponent.cc \
Don Gagne's avatar
Don Gagne committed
841
    src/AutoPilotPlugins/Common/RadioComponentController.cc \
842 843
    src/AutoPilotPlugins/Common/SyslinkComponent.cc \
    src/AutoPilotPlugins/Common/SyslinkComponentController.cc \
844
    src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.cc \
845
    src/FirmwarePlugin/CameraMetaData.cc \
846
    src/FirmwarePlugin/FirmwarePlugin.cc \
847 848
    src/FirmwarePlugin/FirmwarePluginManager.cc \
    src/Vehicle/MultiVehicleManager.cc \
849
    src/Vehicle/GPSRTKFactGroup.cc \
850 851 852 853
    src/Vehicle/Vehicle.cc \
    src/VehicleSetup/VehicleComponent.cc \

!MobileBuild {
854
    SOURCES += \
Gus Grubba's avatar
Gus Grubba committed
855 856 857 858
        src/VehicleSetup/Bootloader.cc \
        src/VehicleSetup/FirmwareImage.cc \
        src/VehicleSetup/FirmwareUpgradeController.cc \
        src/VehicleSetup/PX4FirmwareUpgradeThread.cc \
859 860 861
}

# ArduPilot FirmwarePlugin
862

863
APMFirmwarePlugin {
864
    RESOURCES *= src/FirmwarePlugin/APM/APMResources.qrc
Gus Grubba's avatar
Gus Grubba committed
865

866 867 868 869 870 871 872
    INCLUDEPATH += \
        src/AutoPilotPlugins/APM \
        src/FirmwarePlugin/APM \

    HEADERS += \
        src/AutoPilotPlugins/APM/APMAirframeComponent.h \
        src/AutoPilotPlugins/APM/APMAirframeComponentAirframes.h \
Gus Grubba's avatar
Gus Grubba committed
873
        src/AutoPilotPlugins/APM/APMAirframeComponentController.h \
874
        src/AutoPilotPlugins/APM/APMAirframeLoader.h \
Gus Grubba's avatar
Gus Grubba committed
875
        src/AutoPilotPlugins/APM/APMAutoPilotPlugin.h \
876 877 878 879
        src/AutoPilotPlugins/APM/APMCameraComponent.h \
        src/AutoPilotPlugins/APM/APMCompassCal.h \
        src/AutoPilotPlugins/APM/APMFlightModesComponent.h \
        src/AutoPilotPlugins/APM/APMFlightModesComponentController.h \
Gus Grubba's avatar
Gus Grubba committed
880
        src/AutoPilotPlugins/APM/APMLightsComponent.h \
881
        src/AutoPilotPlugins/APM/APMSubFrameComponent.h \
882 883 884 885 886 887
        src/AutoPilotPlugins/APM/APMPowerComponent.h \
        src/AutoPilotPlugins/APM/APMRadioComponent.h \
        src/AutoPilotPlugins/APM/APMSafetyComponent.h \
        src/AutoPilotPlugins/APM/APMSensorsComponent.h \
        src/AutoPilotPlugins/APM/APMSensorsComponentController.h \
        src/AutoPilotPlugins/APM/APMTuningComponent.h \
Gus Grubba's avatar
Gus Grubba committed
888 889 890 891 892 893 894 895
        src/FirmwarePlugin/APM/APMFirmwarePlugin.h \
        src/FirmwarePlugin/APM/APMGeoFenceManager.h \
        src/FirmwarePlugin/APM/APMParameterMetaData.h \
        src/FirmwarePlugin/APM/APMRallyPointManager.h \
        src/FirmwarePlugin/APM/ArduCopterFirmwarePlugin.h \
        src/FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.h \
        src/FirmwarePlugin/APM/ArduRoverFirmwarePlugin.h \
        src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.h \
896 897 898 899 900 901

    SOURCES += \
        src/AutoPilotPlugins/APM/APMAirframeComponent.cc \
        src/AutoPilotPlugins/APM/APMAirframeComponentAirframes.cc \
        src/AutoPilotPlugins/APM/APMAirframeComponentController.cc \
        src/AutoPilotPlugins/APM/APMAirframeLoader.cc \
Gus Grubba's avatar
Gus Grubba committed
902
        src/AutoPilotPlugins/APM/APMAutoPilotPlugin.cc \
903 904 905 906
        src/AutoPilotPlugins/APM/APMCameraComponent.cc \
        src/AutoPilotPlugins/APM/APMCompassCal.cc \
        src/AutoPilotPlugins/APM/APMFlightModesComponent.cc \
        src/AutoPilotPlugins/APM/APMFlightModesComponentController.cc \
Gus Grubba's avatar
Gus Grubba committed
907
        src/AutoPilotPlugins/APM/APMLightsComponent.cc \
908
        src/AutoPilotPlugins/APM/APMSubFrameComponent.cc \
909 910 911 912 913 914
        src/AutoPilotPlugins/APM/APMPowerComponent.cc \
        src/AutoPilotPlugins/APM/APMRadioComponent.cc \
        src/AutoPilotPlugins/APM/APMSafetyComponent.cc \
        src/AutoPilotPlugins/APM/APMSensorsComponent.cc \
        src/AutoPilotPlugins/APM/APMSensorsComponentController.cc \
        src/AutoPilotPlugins/APM/APMTuningComponent.cc \
Gus Grubba's avatar
Gus Grubba committed
915 916 917 918 919 920 921 922
        src/FirmwarePlugin/APM/APMFirmwarePlugin.cc \
        src/FirmwarePlugin/APM/APMGeoFenceManager.cc \
        src/FirmwarePlugin/APM/APMParameterMetaData.cc \
        src/FirmwarePlugin/APM/APMRallyPointManager.cc \
        src/FirmwarePlugin/APM/ArduCopterFirmwarePlugin.cc \
        src/FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.cc \
        src/FirmwarePlugin/APM/ArduRoverFirmwarePlugin.cc \
        src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc \
923 924 925
}

APMFirmwarePluginFactory {
Gus Grubba's avatar
Gus Grubba committed
926 927
    HEADERS   += src/FirmwarePlugin/APM/APMFirmwarePluginFactory.h
    SOURCES   += src/FirmwarePlugin/APM/APMFirmwarePluginFactory.cc
928 929 930 931 932
}

# PX4 FirmwarePlugin

PX4FirmwarePlugin {
933
    RESOURCES *= src/FirmwarePlugin/PX4/PX4Resources.qrc
Gus Grubba's avatar
Gus Grubba committed
934

935 936 937 938 939 940 941 942
    INCLUDEPATH += \
        src/AutoPilotPlugins/PX4 \
        src/FirmwarePlugin/PX4 \

    HEADERS+= \
        src/AutoPilotPlugins/PX4/AirframeComponent.h \
        src/AutoPilotPlugins/PX4/AirframeComponentAirframes.h \
        src/AutoPilotPlugins/PX4/AirframeComponentController.h \
Gus Grubba's avatar
Gus Grubba committed
943
        src/AutoPilotPlugins/PX4/CameraComponent.h \
944 945
        src/AutoPilotPlugins/PX4/FlightModesComponent.h \
        src/AutoPilotPlugins/PX4/PX4AdvancedFlightModesController.h \
Gus Grubba's avatar
Gus Grubba committed
946 947 948
        src/AutoPilotPlugins/PX4/PX4AirframeLoader.h \
        src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.h \
        src/AutoPilotPlugins/PX4/PX4RadioComponent.h \
949
        src/AutoPilotPlugins/PX4/PX4SimpleFlightModesController.h \
Gus Grubba's avatar
Gus Grubba committed
950
        src/AutoPilotPlugins/PX4/PX4TuningComponent.h \
951 952 953 954 955
        src/AutoPilotPlugins/PX4/PowerComponent.h \
        src/AutoPilotPlugins/PX4/PowerComponentController.h \
        src/AutoPilotPlugins/PX4/SafetyComponent.h \
        src/AutoPilotPlugins/PX4/SensorsComponent.h \
        src/AutoPilotPlugins/PX4/SensorsComponentController.h \
Gus Grubba's avatar
Gus Grubba committed
956 957 958
        src/FirmwarePlugin/PX4/PX4FirmwarePlugin.h \
        src/FirmwarePlugin/PX4/PX4GeoFenceManager.h \
        src/FirmwarePlugin/PX4/PX4ParameterMetaData.h \
959 960 961 962 963

    SOURCES += \
        src/AutoPilotPlugins/PX4/AirframeComponent.cc \
        src/AutoPilotPlugins/PX4/AirframeComponentAirframes.cc \
        src/AutoPilotPlugins/PX4/AirframeComponentController.cc \
Gus Grubba's avatar
Gus Grubba committed
964
        src/AutoPilotPlugins/PX4/CameraComponent.cc \
965 966 967
        src/AutoPilotPlugins/PX4/FlightModesComponent.cc \
        src/AutoPilotPlugins/PX4/PX4AdvancedFlightModesController.cc \
        src/AutoPilotPlugins/PX4/PX4AirframeLoader.cc \
Gus Grubba's avatar
Gus Grubba committed
968 969
        src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.cc \
        src/AutoPilotPlugins/PX4/PX4RadioComponent.cc \
970
        src/AutoPilotPlugins/PX4/PX4SimpleFlightModesController.cc \
Gus Grubba's avatar
Gus Grubba committed
971
        src/AutoPilotPlugins/PX4/PX4TuningComponent.cc \
972 973 974 975 976
        src/AutoPilotPlugins/PX4/PowerComponent.cc \
        src/AutoPilotPlugins/PX4/PowerComponentController.cc \
        src/AutoPilotPlugins/PX4/SafetyComponent.cc \
        src/AutoPilotPlugins/PX4/SensorsComponent.cc \
        src/AutoPilotPlugins/PX4/SensorsComponentController.cc \
Gus Grubba's avatar
Gus Grubba committed
977 978 979
        src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc \
        src/FirmwarePlugin/PX4/PX4GeoFenceManager.cc \
        src/FirmwarePlugin/PX4/PX4ParameterMetaData.cc \
980 981 982
}

PX4FirmwarePluginFactory {
Gus Grubba's avatar
Gus Grubba committed
983 984
    HEADERS   += src/FirmwarePlugin/PX4/PX4FirmwarePluginFactory.h
    SOURCES   += src/FirmwarePlugin/PX4/PX4FirmwarePluginFactory.cc
985 986 987 988 989 990 991 992 993 994
}

# Fact System code

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

HEADERS += \
    src/FactSystem/Fact.h \
995
    src/FactSystem/FactControls/FactPanelController.h \
Gus Grubba's avatar
Gus Grubba committed
996
    src/FactSystem/FactGroup.h \
997 998 999
    src/FactSystem/FactMetaData.h \
    src/FactSystem/FactSystem.h \
    src/FactSystem/FactValidator.h \
1000
    src/FactSystem/ParameterManager.h \
1001
    src/FactSystem/SettingsFact.h \
1002 1003 1004

SOURCES += \
    src/FactSystem/Fact.cc \
1005
    src/FactSystem/FactControls/FactPanelController.cc \
Gus Grubba's avatar
Gus Grubba committed
1006
    src/FactSystem/FactGroup.cc \
1007 1008 1009
    src/FactSystem/FactMetaData.cc \
    src/FactSystem/FactSystem.cc \
    src/FactSystem/FactValidator.cc \
1010
    src/FactSystem/ParameterManager.cc \
1011
    src/FactSystem/SettingsFact.cc \
1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031

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

1032
contains (CONFIG, DISABLE_VIDEOSTREAMING) {
1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044
    message("Skipping support for video streaming (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_VIDEOSTREAMING) {
    message("Skipping support for video streaming (manual override from user_config.pri)")
} else {
    include(src/VideoStreaming/VideoStreaming.pri)
}

#-------------------------------------------------------------------------------------
# Android

AndroidBuild {
Gus Grubba's avatar
Gus Grubba committed
1045 1046 1047 1048 1049
    contains (CONFIG, DISABLE_BUILTIN_ANDROID) {
        message("Skipping builtin support for Android")
    } else {
        include(android.pri)
    }
1050 1051 1052 1053 1054 1055 1056
}

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

1057 1058 1059 1060 1061
contains (CONFIG, QGC_DISABLE_BUILD_SETUP) {
    message("Disable standard build setup")
} else {
    include(QGCSetup.pri)
}
1062 1063 1064 1065 1066 1067

#
# Installer targets
#

include(QGCInstaller.pri)