qgroundcontrol.pro 34.6 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 81 82 83 84 85
#
# Branding
#

QGC_APP_NAME        = "QGroundControl Foo"
QGC_ORG_NAME        = "QGroundControl.org"
QGC_ORG_DOMAIN      = "org.qgroundcontrol"
QGC_APP_DESCRIPTION = "Open source ground control app provided by QGroundControl dev team"
QGC_APP_COPYRIGHT   = "Copyright (C) 2017 QGroundControl Development Team. All rights reserved."


86 87 88 89 90 91
# 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)))
}

92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
#
# 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)
    }
}

120 121 122 123 124 125 126 127
WindowsBuild {
    # Sets up application properties
    QMAKE_TARGET_COMPANY        = "$${QGC_ORG_NAME}"
    QMAKE_TARGET_DESCRIPTION    = "$${QGC_APP_DESCRIPTION}"
    QMAKE_TARGET_COPYRIGHT      = "$${QGC_APP_COPYRIGHT}"
    QMAKE_TARGET_PRODUCT        = "$${QGC_APP_NAME}"
}

Gus Grubba's avatar
Gus Grubba committed
128 129 130 131 132 133 134 135 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
#
# 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
163 164 165 166 167 168 169 170 171 172 173 174
# 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
}

175 176 177
# USB Camera and UVC Video Sources
contains (DEFINES, QGC_DISABLE_UVC) {
    message("Skipping support for UVC devices (manual override from command line)")
178
    DEFINES += QGC_DISABLE_UVC
179 180
} 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)")
181
    DEFINES += QGC_DISABLE_UVC
dogmaphobic's avatar
dogmaphobic committed
182 183 184 185 186
} 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
    }
187 188
}

189 190 191 192 193 194 195
LinuxBuild {
    CONFIG += link_pkgconfig
}

# Qt configuration

CONFIG += qt \
196
    thread \
Daniel Agar's avatar
Daniel Agar committed
197
    c++11 \
198 199 200 201 202 203 204

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
205
    silent
206
}
207 208 209 210 211

QT += \
    concurrent \
    gui \
    location \
212
    network \
213 214 215 216 217 218 219 220
    opengl \
    positioning \
    qml \
    quick \
    quickwidgets \
    sql \
    svg \
    widgets \
221 222 223 224 225 226 227
    xml

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

!MobileBuild {
dogmaphobic's avatar
dogmaphobic committed
230
QT += \
231 232 233 234
    printsupport \
    serialport \
}

dogmaphobic's avatar
dogmaphobic committed
235
contains(DEFINES, QGC_ENABLE_BLUETOOTH) {
dogmaphobic's avatar
dogmaphobic committed
236 237 238 239
QT += \
    bluetooth \
}

240 241
#  testlib is needed even in release flavor for QSignalSpy support
QT += testlib
242 243 244 245
ReleaseBuild {
    # We don't need the testlib console in release mode
    QT.testlib.CONFIG -= console
}
246

247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275
#
# 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)

#
276
# Resources (custom code can replace them)
277 278
#

279 280 281 282 283 284 285 286 287 288 289 290 291 292
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 {
293 294 295
    DEFINES += QGC_APPLICATION_NAME=\"\\\"QGroundControl\\\"\"
    DEFINES += QGC_ORG_NAME=\"\\\"QGroundControl.org\\\"\"
    DEFINES += QGC_ORG_DOMAIN=\"\\\"org.qgroundcontrol\\\"\"
296 297 298 299 300
    RESOURCES += \
        $$PWD/qgroundcontrol.qrc \
        $$PWD/qgcresources.qrc
}

301 302 303 304 305 306 307 308 309
# 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
}

310 311 312
#
# Main QGroundControl portion of project file
#
313

314 315 316 317 318
DebugBuild {
    # Unit Test resources
    RESOURCES += UnitTest.qrc
}

319 320 321 322 323 324 325 326 327
DEPENDPATH += \
    . \
    plugins

INCLUDEPATH += .

INCLUDEPATH += \
    include/ui \
    src \
328
    src/api \
Don Gagne's avatar
Don Gagne committed
329
    src/AnalyzeView \
330 331 332
    src/AutoPilotPlugins \
    src/FlightDisplay \
    src/FlightMap \
333
    src/FlightMap/Widgets \
Jimmy Johnson's avatar
Jimmy Johnson committed
334
    src/FollowMe \
335
    src/GPS \
Gus Grubba's avatar
Gus Grubba committed
336
    src/Joystick \
337
    src/PlanView \
338
    src/MissionManager \
Gus Grubba's avatar
Gus Grubba committed
339
    src/PositionManager \
340
    src/QmlControls \
Gus Grubba's avatar
Gus Grubba committed
341 342
    src/QtLocationPlugin \
    src/QtLocationPlugin/QMLControl \
343
    src/Settings \
Gus Grubba's avatar
Gus Grubba committed
344 345 346 347 348 349
    src/VehicleSetup \
    src/ViewWidgets \
    src/audio \
    src/comm \
    src/input \
    src/lib/qmapcontrol \
350 351 352 353 354 355 356 357 358 359 360 361
    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 \
362
    src/QGCQmlWidgetHolder.ui \
363 364 365 366 367 368 369 370 371 372

!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 \
373
    src/ui/QGCMAVLinkLogPlayer.ui \
Gus Grubba's avatar
Gus Grubba committed
374
    src/ui/QGCMapRCToParamDialog.ui \
375 376
    src/ui/QGCUASFileView.ui \
    src/ui/QGCUASFileViewMulti.ui \
Gus Grubba's avatar
Gus Grubba committed
377
    src/ui/uas/QGCUnconnectedInfoWidget.ui \
378 379
}

Gus Grubba's avatar
Gus Grubba committed
380 381 382 383 384
#
# Plugin API
#

HEADERS += \
385 386 387 388 389 390 391 392
    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
393

394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409
#
# 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 \
410
        src/MissionManager/CameraSectionTest.h \
411 412
        src/MissionManager/MissionCommandTreeTest.h \
        src/MissionManager/MissionControllerManagerTest.h \
Gus Grubba's avatar
Gus Grubba committed
413
        src/MissionManager/MissionControllerTest.h \
414 415
        src/MissionManager/MissionItemTest.h \
        src/MissionManager/MissionManagerTest.h \
416
        src/MissionManager/MissionSettingsTest.h \
417
        src/MissionManager/PlanMasterControllerTest.h \
418
        src/MissionManager/QGCMapPolygonTest.h \
419
        src/MissionManager/SectionTest.h \
420
        src/MissionManager/SimpleMissionItemTest.h \
421 422 423
        src/MissionManager/SpeedSectionTest.h \
        src/MissionManager/SurveyMissionItemTest.h \
        src/MissionManager/VisualMissionItemTest.h \
424 425 426
        src/qgcunittest/FileDialogTest.h \
        src/qgcunittest/FileManagerTest.h \
        src/qgcunittest/FlightGearTest.h \
Gus Grubba's avatar
Gus Grubba committed
427
        src/qgcunittest/GeoTest.h \
428 429 430 431 432 433 434 435 436
        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 \
437
        src/Vehicle/SendMavCommandTest.h \
438 439 440 441 442 443 444

    SOURCES += \
        src/AnalyzeView/LogDownloadTest.cc \
        src/FactSystem/FactSystemTestBase.cc \
        src/FactSystem/FactSystemTestGeneric.cc \
        src/FactSystem/FactSystemTestPX4.cc \
        src/FactSystem/ParameterManagerTest.cc \
445
        src/MissionManager/CameraSectionTest.cc \
446 447
        src/MissionManager/MissionCommandTreeTest.cc \
        src/MissionManager/MissionControllerManagerTest.cc \
Gus Grubba's avatar
Gus Grubba committed
448
        src/MissionManager/MissionControllerTest.cc \
449 450
        src/MissionManager/MissionItemTest.cc \
        src/MissionManager/MissionManagerTest.cc \
451
        src/MissionManager/MissionSettingsTest.cc \
452
        src/MissionManager/PlanMasterControllerTest.cc \
453
        src/MissionManager/QGCMapPolygonTest.cc \
454
        src/MissionManager/SectionTest.cc \
455
        src/MissionManager/SimpleMissionItemTest.cc \
456 457 458
        src/MissionManager/SpeedSectionTest.cc \
        src/MissionManager/SurveyMissionItemTest.cc \
        src/MissionManager/VisualMissionItemTest.cc \
459 460 461
        src/qgcunittest/FileDialogTest.cc \
        src/qgcunittest/FileManagerTest.cc \
        src/qgcunittest/FlightGearTest.cc \
Gus Grubba's avatar
Gus Grubba committed
462
        src/qgcunittest/GeoTest.cc \
463 464 465 466 467 468 469 470 471 472
        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 \
473
        src/Vehicle/SendMavCommandTest.cc \
474 475 476 477
} } } } } }

# Main QGC Headers and Source files

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

569 570
AndroidBuild {
HEADERS += \
Gregory Dymarek's avatar
Gregory Dymarek committed
571
	src/Joystick/JoystickAndroid.h \
572 573
}

574 575 576 577 578 579 580
DebugBuild {
HEADERS += \
    src/comm/MockLink.h \
    src/comm/MockLinkFileServer.h \
    src/comm/MockLinkMissionItemHandler.h \
}

581 582 583
WindowsBuild {
    PRECOMPILED_HEADER += src/stable_headers.h
    HEADERS += src/stable_headers.h
Daniel Agar's avatar
Daniel Agar committed
584
    CONFIG -= silent
585
    OTHER_FILES += .appveyor.yml
586 587
}

dogmaphobic's avatar
dogmaphobic committed
588
contains(DEFINES, QGC_ENABLE_BLUETOOTH) {
dogmaphobic's avatar
dogmaphobic committed
589 590
    HEADERS += \
    src/comm/BluetoothLink.h \
dogmaphobic's avatar
dogmaphobic committed
591
}
592

Gus Grubba's avatar
Gus Grubba committed
593
!NoSerialBuild {
594
HEADERS += \
595
    src/comm/QGCSerialPortInfo.h \
596 597 598 599 600
    src/comm/SerialLink.h \
}

!MobileBuild {
HEADERS += \
Don Gagne's avatar
Don Gagne committed
601
    src/AnalyzeView/GeoTagController.h \
602
    src/AnalyzeView/MavlinkConsoleController.h \
Gus Grubba's avatar
Gus Grubba committed
603 604 605 606 607 608 609 610 611 612
    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 \
613
    src/QGCQFileDialog.h \
Gus Grubba's avatar
Gus Grubba committed
614
    src/QGCMessageBox.h \
615
    src/RunGuard.h \
Gus Grubba's avatar
Gus Grubba committed
616 617 618
    src/ViewWidgets/CustomCommandWidget.h \
    src/ViewWidgets/CustomCommandWidgetController.h \
    src/ViewWidgets/ViewWidgetController.h \
dogmaphobic's avatar
dogmaphobic committed
619
    src/comm/LogReplayLink.h \
620 621 622 623
    src/comm/QGCFlightGearLink.h \
    src/comm/QGCHilLink.h \
    src/comm/QGCJSBSimLink.h \
    src/comm/QGCXPlaneLink.h \
624
    src/uas/FileManager.h \
625
    src/ui/HILDockWidget.h \
626
    src/ui/MAVLinkDecoder.h \
Gus Grubba's avatar
Gus Grubba committed
627
    src/ui/MainWindow.h \
628 629 630 631 632 633
    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
634 635
    src/ui/QGCMAVLinkLogPlayer.h \
    src/ui/QGCMapRCToParamDialog.h \
636 637
    src/ui/QGCUASFileView.h \
    src/ui/QGCUASFileViewMulti.h \
Gus Grubba's avatar
Gus Grubba committed
638 639 640 641 642 643 644 645
    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 \
646 647
}

Don Gagne's avatar
Don Gagne committed
648 649 650 651 652
iOSBuild {
    OBJECTIVE_SOURCES += \
        src/audio/QGCAudioWorker_iOS.mm \
        src/MobileScreenMgr.mm \
}
653

Don Gagne's avatar
Don Gagne committed
654
AndroidBuild {
Don Gagne's avatar
Don Gagne committed
655
    SOURCES += src/MobileScreenMgr.cc \
Gregory Dymarek's avatar
Gregory Dymarek committed
656
	src/Joystick/JoystickAndroid.cc \
Don Gagne's avatar
Don Gagne committed
657 658
}

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

744 745 746 747 748 749 750
DebugBuild {
SOURCES += \
    src/comm/MockLink.cc \
    src/comm/MockLinkFileServer.cc \
    src/comm/MockLinkMissionItemHandler.cc \
}

Gus Grubba's avatar
Gus Grubba committed
751
!NoSerialBuild {
752
SOURCES += \
753
    src/comm/QGCSerialPortInfo.cc \
754 755 756
    src/comm/SerialLink.cc \
}

dogmaphobic's avatar
dogmaphobic committed
757
contains(DEFINES, QGC_ENABLE_BLUETOOTH) {
dogmaphobic's avatar
dogmaphobic committed
758 759 760 761
    SOURCES += \
    src/comm/BluetoothLink.cc \
}

762 763
!MobileBuild {
SOURCES += \
Don Gagne's avatar
Don Gagne committed
764
    src/AnalyzeView/GeoTagController.cc \
765
    src/AnalyzeView/MavlinkConsoleController.cc \
Gus Grubba's avatar
Gus Grubba committed
766 767 768 769 770 771
    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 \
772
    src/QGCQFileDialog.cc \
773
    src/RunGuard.cc \
Gus Grubba's avatar
Gus Grubba committed
774 775 776 777
    src/ViewWidgets/CustomCommandWidget.cc \
    src/ViewWidgets/CustomCommandWidgetController.cc \
    src/ViewWidgets/ViewWidgetController.cc \
    src/comm/LogReplayLink.cc \
778 779 780
    src/comm/QGCFlightGearLink.cc \
    src/comm/QGCJSBSimLink.cc \
    src/comm/QGCXPlaneLink.cc \
Gus Grubba's avatar
Gus Grubba committed
781
    src/uas/FileManager.cc \
782
    src/ui/HILDockWidget.cc \
Gus Grubba's avatar
Gus Grubba committed
783
    src/ui/MAVLinkDecoder.cc \
Don Gagne's avatar
Don Gagne committed
784
    src/ui/MainWindow.cc \
785 786 787 788 789 790
    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
791 792
    src/ui/QGCMAVLinkLogPlayer.cc \
    src/ui/QGCMapRCToParamDialog.cpp \
793 794
    src/ui/QGCUASFileView.cc \
    src/ui/QGCUASFileViewMulti.cc \
Gus Grubba's avatar
Gus Grubba committed
795 796 797 798 799 800 801 802
    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 \
803 804
}

805
# Palette test widget in debug builds
806
DebugBuild {
807 808 809
    HEADERS += src/QmlControls/QmlTestWidget.h
    SOURCES += src/QmlControls/QmlTestWidget.cc
}
810 811 812 813 814 815

#
# Firmware Plugin Support
#

INCLUDEPATH += \
Don Gagne's avatar
Don Gagne committed
816
    src/AutoPilotPlugins/Common \
817 818 819 820 821 822
    src/FirmwarePlugin \
    src/Vehicle \
    src/VehicleSetup \

HEADERS+= \
    src/AutoPilotPlugins/AutoPilotPlugin.h \
Gus Grubba's avatar
Gus Grubba committed
823 824
    src/AutoPilotPlugins/Common/ESP8266Component.h \
    src/AutoPilotPlugins/Common/ESP8266ComponentController.h \
Don Gagne's avatar
Don Gagne committed
825
    src/AutoPilotPlugins/Common/MotorComponent.h \
Don Gagne's avatar
Don Gagne committed
826
    src/AutoPilotPlugins/Common/RadioComponentController.h \
827 828
    src/AutoPilotPlugins/Common/SyslinkComponent.h \
    src/AutoPilotPlugins/Common/SyslinkComponentController.h \
829
    src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.h \
830
    src/FirmwarePlugin/CameraMetaData.h \
831
    src/FirmwarePlugin/FirmwarePlugin.h \
Gus Grubba's avatar
Gus Grubba committed
832
    src/FirmwarePlugin/FirmwarePluginManager.h \
833
    src/Vehicle/MultiVehicleManager.h \
834
    src/Vehicle/GPSRTKFactGroup.h \
835 836 837 838
    src/Vehicle/Vehicle.h \
    src/VehicleSetup/VehicleComponent.h \

!MobileBuild {
Gus Grubba's avatar
Gus Grubba committed
839 840 841 842 843
    HEADERS += \
        src/VehicleSetup/Bootloader.h \
        src/VehicleSetup/FirmwareImage.h \
        src/VehicleSetup/FirmwareUpgradeController.h \
        src/VehicleSetup/PX4FirmwareUpgradeThread.h \
844 845 846 847
}

SOURCES += \
    src/AutoPilotPlugins/AutoPilotPlugin.cc \
Gus Grubba's avatar
Gus Grubba committed
848 849
    src/AutoPilotPlugins/Common/ESP8266Component.cc \
    src/AutoPilotPlugins/Common/ESP8266ComponentController.cc \
Don Gagne's avatar
Don Gagne committed
850
    src/AutoPilotPlugins/Common/MotorComponent.cc \
Don Gagne's avatar
Don Gagne committed
851
    src/AutoPilotPlugins/Common/RadioComponentController.cc \
852 853
    src/AutoPilotPlugins/Common/SyslinkComponent.cc \
    src/AutoPilotPlugins/Common/SyslinkComponentController.cc \
854
    src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.cc \
855
    src/FirmwarePlugin/CameraMetaData.cc \
856
    src/FirmwarePlugin/FirmwarePlugin.cc \
857 858
    src/FirmwarePlugin/FirmwarePluginManager.cc \
    src/Vehicle/MultiVehicleManager.cc \
859
    src/Vehicle/GPSRTKFactGroup.cc \
860 861 862 863
    src/Vehicle/Vehicle.cc \
    src/VehicleSetup/VehicleComponent.cc \

!MobileBuild {
864
    SOURCES += \
Gus Grubba's avatar
Gus Grubba committed
865 866 867 868
        src/VehicleSetup/Bootloader.cc \
        src/VehicleSetup/FirmwareImage.cc \
        src/VehicleSetup/FirmwareUpgradeController.cc \
        src/VehicleSetup/PX4FirmwareUpgradeThread.cc \
869 870 871
}

# ArduPilot FirmwarePlugin
872

873
APMFirmwarePlugin {
874
    RESOURCES *= src/FirmwarePlugin/APM/APMResources.qrc
Gus Grubba's avatar
Gus Grubba committed
875

876 877 878 879 880 881 882
    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
883
        src/AutoPilotPlugins/APM/APMAirframeComponentController.h \
884
        src/AutoPilotPlugins/APM/APMAirframeLoader.h \
Gus Grubba's avatar
Gus Grubba committed
885
        src/AutoPilotPlugins/APM/APMAutoPilotPlugin.h \
886 887 888 889
        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
890
        src/AutoPilotPlugins/APM/APMLightsComponent.h \
891
        src/AutoPilotPlugins/APM/APMSubFrameComponent.h \
892 893 894 895 896 897
        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
898 899 900 901 902 903 904 905
        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 \
906 907 908 909 910 911

    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
912
        src/AutoPilotPlugins/APM/APMAutoPilotPlugin.cc \
913 914 915 916
        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
917
        src/AutoPilotPlugins/APM/APMLightsComponent.cc \
918
        src/AutoPilotPlugins/APM/APMSubFrameComponent.cc \
919 920 921 922 923 924
        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
925 926 927 928 929 930 931 932
        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 \
933 934 935
}

APMFirmwarePluginFactory {
Gus Grubba's avatar
Gus Grubba committed
936 937
    HEADERS   += src/FirmwarePlugin/APM/APMFirmwarePluginFactory.h
    SOURCES   += src/FirmwarePlugin/APM/APMFirmwarePluginFactory.cc
938 939 940 941 942
}

# PX4 FirmwarePlugin

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

945 946 947 948 949 950 951 952
    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
953
        src/AutoPilotPlugins/PX4/CameraComponent.h \
954 955
        src/AutoPilotPlugins/PX4/FlightModesComponent.h \
        src/AutoPilotPlugins/PX4/PX4AdvancedFlightModesController.h \
Gus Grubba's avatar
Gus Grubba committed
956 957 958
        src/AutoPilotPlugins/PX4/PX4AirframeLoader.h \
        src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.h \
        src/AutoPilotPlugins/PX4/PX4RadioComponent.h \
959
        src/AutoPilotPlugins/PX4/PX4SimpleFlightModesController.h \
Gus Grubba's avatar
Gus Grubba committed
960
        src/AutoPilotPlugins/PX4/PX4TuningComponent.h \
961 962 963 964 965
        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
966 967 968
        src/FirmwarePlugin/PX4/PX4FirmwarePlugin.h \
        src/FirmwarePlugin/PX4/PX4GeoFenceManager.h \
        src/FirmwarePlugin/PX4/PX4ParameterMetaData.h \
969 970 971 972 973

    SOURCES += \
        src/AutoPilotPlugins/PX4/AirframeComponent.cc \
        src/AutoPilotPlugins/PX4/AirframeComponentAirframes.cc \
        src/AutoPilotPlugins/PX4/AirframeComponentController.cc \
Gus Grubba's avatar
Gus Grubba committed
974
        src/AutoPilotPlugins/PX4/CameraComponent.cc \
975 976 977
        src/AutoPilotPlugins/PX4/FlightModesComponent.cc \
        src/AutoPilotPlugins/PX4/PX4AdvancedFlightModesController.cc \
        src/AutoPilotPlugins/PX4/PX4AirframeLoader.cc \
Gus Grubba's avatar
Gus Grubba committed
978 979
        src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.cc \
        src/AutoPilotPlugins/PX4/PX4RadioComponent.cc \
980
        src/AutoPilotPlugins/PX4/PX4SimpleFlightModesController.cc \
Gus Grubba's avatar
Gus Grubba committed
981
        src/AutoPilotPlugins/PX4/PX4TuningComponent.cc \
982 983 984 985 986
        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
987 988 989
        src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc \
        src/FirmwarePlugin/PX4/PX4GeoFenceManager.cc \
        src/FirmwarePlugin/PX4/PX4ParameterMetaData.cc \
990 991 992
}

PX4FirmwarePluginFactory {
Gus Grubba's avatar
Gus Grubba committed
993 994
    HEADERS   += src/FirmwarePlugin/PX4/PX4FirmwarePluginFactory.h
    SOURCES   += src/FirmwarePlugin/PX4/PX4FirmwarePluginFactory.cc
995 996 997 998 999 1000 1001 1002 1003 1004
}

# Fact System code

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

HEADERS += \
    src/FactSystem/Fact.h \
1005
    src/FactSystem/FactControls/FactPanelController.h \
Gus Grubba's avatar
Gus Grubba committed
1006
    src/FactSystem/FactGroup.h \
1007 1008 1009
    src/FactSystem/FactMetaData.h \
    src/FactSystem/FactSystem.h \
    src/FactSystem/FactValidator.h \
1010
    src/FactSystem/ParameterManager.h \
1011
    src/FactSystem/SettingsFact.h \
1012 1013 1014

SOURCES += \
    src/FactSystem/Fact.cc \
1015
    src/FactSystem/FactControls/FactPanelController.cc \
Gus Grubba's avatar
Gus Grubba committed
1016
    src/FactSystem/FactGroup.cc \
1017 1018 1019
    src/FactSystem/FactMetaData.cc \
    src/FactSystem/FactSystem.cc \
    src/FactSystem/FactValidator.cc \
1020
    src/FactSystem/ParameterManager.cc \
1021
    src/FactSystem/SettingsFact.cc \
1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041

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

1042
contains (CONFIG, DISABLE_VIDEOSTREAMING) {
1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054
    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
1055 1056 1057 1058 1059
    contains (CONFIG, DISABLE_BUILTIN_ANDROID) {
        message("Skipping builtin support for Android")
    } else {
        include(android.pri)
    }
1060 1061 1062 1063 1064 1065 1066
}

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

1067 1068 1069 1070 1071
contains (CONFIG, QGC_DISABLE_BUILD_SETUP) {
    message("Disable standard build setup")
} else {
    include(QGCSetup.pri)
}
1072 1073 1074 1075 1076 1077

#
# Installer targets
#

include(QGCInstaller.pri)