qgroundcontrol.pro 49 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
# -------------------------------------------------

10 11
QMAKE_PROJECT_DEPTH = 0 # undocumented qmake flag to force absolute paths in make files

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

message(Qt version $$[QT_VERSION])

18 19
!equals(QT_MAJOR_VERSION, 5) | !greaterThan(QT_MINOR_VERSION, 8) {
    error("Unsupported Qt version, 5.9+ is required")
20
}
21

22 23
include(QGCCommon.pri)

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

DebugBuild {
    DESTDIR  = $${OUT_PWD}/debug
30
    DEFINES += DEBUG
31
    #DEFINES += SNAKE_SHOW_TIME
32
    #DEFINES += SNAKE_DEBUG
33
    DEFINES += SNAKE_SHOW_TIME
34
    DEFINES += DEBUG_CIRCULAR_SURVEY
35
    DEFINES += ROS_BRIDGE_DEBUG
36 37
}
else {
38
    DESTDIR  = $${OUT_PWD}/release
39
    #DEFINES += ROS_BRIDGE_DEBUG
40 41
    DEFINES += SNAKE_SHOW_TIME
    #DEFINES += SNAKE_DEBUG
42
    DEFINES += NDEBUG
43 44
}

45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
#
# 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
    }
}

LinuxBuild {
    CONFIG  += qesp_linux_udev
}

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

66 67 68 69
#
# Branding
#

70 71 72
QGC_APP_NAME        = "QGCWima"
QGC_ORG_NAME        = "QGCWima.org"
QGC_ORG_DOMAIN      = "org.qgcwima"
73 74 75
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."

76 77 78 79
WindowsBuild {
    QGC_INSTALLER_ICON          = "WindowsQGC.ico"
    QGC_INSTALLER_HEADER_BITMAP = "installheader.bmp"
}
80

81 82 83 84 85 86
# 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)))
}

87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
#
# 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)
    }
}

115 116 117 118 119 120 121 122
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}"
}

123 124 125 126 127 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
#-------------------------------------------------------------------------------------
# iOS

iOSBuild {
    contains (CONFIG, DISABLE_BUILTIN_IOS) {
        message("Skipping builtin support for iOS")
    } else {
        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.")
            }
            QT               += qml-private
            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
        }
        QMAKE_ASSET_CATALOGS += ios/Images.xcassets
        BUNDLE.files          = ios/QGCLaunchScreen.xib $$QMAKE_INFO_PLIST
        QMAKE_BUNDLE_DATA    += BUNDLE
    }
}

Gus Grubba's avatar
Gus Grubba committed
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 187
#
# 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
188 189 190 191 192 193 194 195 196 197 198 199
# 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
}

200 201 202
# USB Camera and UVC Video Sources
contains (DEFINES, QGC_DISABLE_UVC) {
    message("Skipping support for UVC devices (manual override from command line)")
203
    DEFINES += QGC_DISABLE_UVC
204 205
} 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)")
206
    DEFINES += QGC_DISABLE_UVC
dogmaphobic's avatar
dogmaphobic committed
207 208 209 210 211
} 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
    }
212 213
}

214 215 216 217 218 219 220
LinuxBuild {
    CONFIG += link_pkgconfig
}

# Qt configuration

CONFIG += qt \
221
    thread \
Valentin Platzgummer's avatar
Valentin Platzgummer committed
222
    c++14
223 224 225 226 227 228

DebugBuild {
    CONFIG -= qtquickcompiler
} else {
    CONFIG += qtquickcompiler
}
229 230 231 232 233 234

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 {
235
    CONFIG += silent
236
}
237 238 239 240 241

QT += \
    concurrent \
    gui \
    location \
242
    network \
243 244 245 246 247 248 249 250
    opengl \
    positioning \
    qml \
    quick \
    quickwidgets \
    sql \
    svg \
    widgets \
251 252
    xml \
    texttospeech
253 254 255 256 257 258

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

260 261 262 263 264 265
AndroidBuild || iOSBuild {
    # Android and iOS don't unclude these
} else {
    QT += \
        printsupport \
        serialport \
266
        charts \
267 268
}

dogmaphobic's avatar
dogmaphobic committed
269
contains(DEFINES, QGC_ENABLE_BLUETOOTH) {
dogmaphobic's avatar
dogmaphobic committed
270 271 272 273
QT += \
    bluetooth \
}

274 275
#  testlib is needed even in release flavor for QSignalSpy support
QT += testlib
276 277 278 279
ReleaseBuild {
    # We don't need the testlib console in release mode
    QT.testlib.CONFIG -= console
}
280

281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303
#
# Build-specific settings
#

DebugBuild {
!iOSBuild {
    CONFIG += console
}
}

#
# Our QtLocation "plugin"
#

include(src/QtLocationPlugin/QGCLocationPlugin.pri)

#
# External library configuration
#

include(QGCExternalLibs.pri)

#
304
# Resources (custom code can replace them)
305 306
#

307 308 309 310 311 312 313 314 315 316 317 318 319 320
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 {
321 322 323
    DEFINES += QGC_APPLICATION_NAME=\"\\\"QGCWima\\\"\"
    DEFINES += QGC_ORG_NAME=\"\\\"QGCWima.org\\\"\"
    DEFINES += QGC_ORG_DOMAIN=\"\\\"org.qgcwima\\\"\"
324 325 326 327 328
    RESOURCES += \
        $$PWD/qgroundcontrol.qrc \
        $$PWD/qgcresources.qrc
}

329 330 331 332 333 334 335 336 337
# 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
}

338 339 340
#
# Main QGroundControl portion of project file
#
341

342 343 344 345 346
DebugBuild {
    # Unit Test resources
    RESOURCES += UnitTest.qrc
}

347 348 349 350 351 352 353 354 355
DEPENDPATH += \
    . \
    plugins

INCLUDEPATH += .

INCLUDEPATH += \
    include/ui \
    src \
356
    src/api \
Don Gagne's avatar
Don Gagne committed
357
    src/AnalyzeView \
358
    src/Camera \
359 360 361
    src/AutoPilotPlugins \
    src/FlightDisplay \
    src/FlightMap \
362
    src/FlightMap/Widgets \
Jimmy Johnson's avatar
Jimmy Johnson committed
363
    src/FollowMe \
364
    src/GPS \
Gus Grubba's avatar
Gus Grubba committed
365
    src/Joystick \
366
    src/PlanView \
367
    src/MissionManager \
Gus Grubba's avatar
Gus Grubba committed
368
    src/PositionManager \
369
    src/QmlControls \
Gus Grubba's avatar
Gus Grubba committed
370 371
    src/QtLocationPlugin \
    src/QtLocationPlugin/QMLControl \
372
    src/Settings \
373
    src/Wima/Snake \
374
    src/Terrain \
Gus Grubba's avatar
Gus Grubba committed
375 376
    src/VehicleSetup \
    src/ViewWidgets \
377
    src/Audio \
Gus Grubba's avatar
Gus Grubba committed
378
    src/comm \
379
    src/comm/ros_bridge \
Gus Grubba's avatar
Gus Grubba committed
380 381
    src/input \
    src/lib/qmapcontrol \
382 383 384 385 386 387 388 389 390 391 392 393
    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 \
394
    src/QGCQmlWidgetHolder.ui \
395 396 397

!MobileBuild {
FORMS += \
398
    src/ui/linechart/Linechart.ui \
399 400 401 402 403 404
    src/ui/MultiVehicleDockWidget.ui \
    src/ui/QGCHilConfiguration.ui \
    src/ui/QGCHilFlightGearConfiguration.ui \
    src/ui/QGCHilJSBSimConfiguration.ui \
    src/ui/QGCHilXPlaneConfiguration.ui \
    src/ui/QGCMAVLinkInspector.ui \
405
    src/ui/QGCMAVLinkLogPlayer.ui \
Gus Grubba's avatar
Gus Grubba committed
406
    src/ui/QGCMapRCToParamDialog.ui \
407 408
    src/ui/QGCUASFileView.ui \
    src/ui/QGCUASFileViewMulti.ui \
Gus Grubba's avatar
Gus Grubba committed
409
    src/ui/uas/QGCUnconnectedInfoWidget.ui \
410 411
}

Gus Grubba's avatar
Gus Grubba committed
412 413 414 415 416
#
# Plugin API
#

HEADERS += \
417
    src/Wima/CircularSurvey.h \
418
    src/Wima/GenericSingelton.h \
419
    src/Wima/Geometry/GenericCircle.h \
420
    src/Wima/RoutingThread.h \
Valentin Platzgummer's avatar
Valentin Platzgummer committed
421 422
    src/Wima/Snake/CircularGenerator.h \
    src/Wima/Snake/GeneratorBase.h \
423
    src/Wima/Snake/LinearGenerator.h \
424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445
    src/Wima/Snake/clipper/clipper.hpp \
    src/Wima/Snake/mapbox/feature.hpp \
    src/Wima/Snake/mapbox/geometry.hpp \
    src/Wima/Snake/mapbox/geometry/box.hpp \
    src/Wima/Snake/mapbox/geometry/empty.hpp \
    src/Wima/Snake/mapbox/geometry/envelope.hpp \
    src/Wima/Snake/mapbox/geometry/for_each_point.hpp \
    src/Wima/Snake/mapbox/geometry/geometry.hpp \
    src/Wima/Snake/mapbox/geometry/line_string.hpp \
    src/Wima/Snake/mapbox/geometry/multi_line_string.hpp \
    src/Wima/Snake/mapbox/geometry/multi_point.hpp \
    src/Wima/Snake/mapbox/geometry/multi_polygon.hpp \
    src/Wima/Snake/mapbox/geometry/point.hpp \
    src/Wima/Snake/mapbox/geometry/point_arithmetic.hpp \
    src/Wima/Snake/mapbox/geometry/polygon.hpp \
    src/Wima/Snake/mapbox/geometry_io.hpp \
    src/Wima/Snake/mapbox/optional.hpp \
    src/Wima/Snake/mapbox/polylabel.hpp \
    src/Wima/Snake/mapbox/recursive_wrapper.hpp \
    src/Wima/Snake/mapbox/variant.hpp \
    src/Wima/Snake/mapbox/variant_io.hpp \
    src/Wima/Snake/snake.h \
446 447
    src/Wima/Geometry/GenericPolygon.h \
    src/Wima/Geometry/GenericPolygonArray.h \
448
    src/Wima/Geometry/GeoPoint3D.h \
Valentin Platzgummer's avatar
Valentin Platzgummer committed
449
    src/Wima/Snake/NemoInterface.h \
450
    src/Wima/Snake/QNemoHeartbeat.h \
451
    src/Wima/Snake/QNemoProgress.h \
452
    src/Wima/Snake/QNemoProgress.h \
453 454
    src/Wima/Snake/SnakeTile.h \
    src/Wima/Snake/SnakeTileLocal.h \
455 456
    src/Wima/Snake/SnakeTiles.h \
    src/Wima/Snake/SnakeTilesLocal.h \
457
    src/Wima/StateMachine.h \
458 459
    src/Wima/WaypointManager/AreaInterface.h \
    src/Wima/WaypointManager/DefaultManager.h \
460
    src/Wima/WaypointManager/EmptyManager.h \
461
    src/Wima/WaypointManager/GenericWaypointManager.h \
462
    src/Wima/WaypointManager/RTLManager.h \
463
    src/Wima/WaypointManager/Settings.h \
464
    src/Wima/WaypointManager/Slicer.h \
465
    src/Wima/WaypointManager/Utils.h \
466
    src/Wima/WimaBridge.h \
467
    src/Wima/call_once.h \
468 469
    src/api/QGCCorePlugin.h \
    src/api/QGCOptions.h \
Gus Grubba's avatar
Gus Grubba committed
470
    src/api/QGCSettings.h \
471
    src/api/QmlComponentInfo.h \
472
    src/comm/MavlinkMessagesTimer.h \
473
    src/GPS/Drivers/src/base_station.h \
474 475 476
    src/Wima/Geometry/WimaArea.h \
    src/Wima/Geometry/WimaServiceArea.h \
    src/Wima/Geometry/WimaTrackerPolyline.h \
477
    src/Wima/WimaController.h \
478
    src/Wima/WimaPlaner.h \
479 480 481 482 483 484
    src/Wima/Geometry/WimaMeasurementArea.h \
    src/Wima/Geometry/WimaCorridor.h \
    src/Wima/Geometry/WimaAreaData.h \
    src/Wima/Geometry/WimaServiceAreaData.h \
    src/Wima/Geometry/WimaCorridorData.h \
    src/Wima/Geometry/WimaMeasurementAreaData.h \
485
    src/Wima/WimaPlanData.h \
486 487 488 489
    src/Wima/Geometry/WimaJoinedArea.h \
    src/Wima/Geometry/WimaJoinedAreaData.h \
    src/Wima/Geometry/PlanimetryCalculus.h \
    src/Wima/Geometry/PolygonCalculus.h \
490
    src/Wima/OptimisationTools.h \
491 492 493
    src/Wima/Geometry/GeoUtilities.h \
    src/Wima/Geometry/TestPolygonCalculus.h \
    src/Wima/Geometry/testplanimetrycalculus.h \
494
    src/Settings/WimaSettings.h \
Valentin Platzgummer's avatar
Valentin Platzgummer committed
495
    src/QmlControls/QmlObjectVectorModel.h \
Valentin Platzgummer's avatar
Valentin Platzgummer committed
496
    src/comm/ros_bridge/include/RosBridgeClient.h \
497 498 499 500 501 502 503 504 505 506 507
    src/comm/ros_bridge/include/com_private.h \
    src/comm/ros_bridge/include/message_traits.h \
    src/comm/ros_bridge/include/messages/geographic_msgs/geopoint.h \
    src/comm/ros_bridge/include/messages/geometry_msgs/point32.h \
    src/comm/ros_bridge/include/messages/geometry_msgs/polygon.h \
    src/comm/ros_bridge/include/messages/geometry_msgs/polygon_stamped.h \
    src/comm/ros_bridge/include/messages/jsk_recognition_msgs/polygon_array.h \
    src/comm/ros_bridge/include/messages/nemo_msgs/heartbeat.h \
    src/comm/ros_bridge/include/messages/nemo_msgs/progress.h \
    src/comm/ros_bridge/include/messages/std_msgs/header.h \
    src/comm/ros_bridge/include/server.h \
508
    src/comm/ros_bridge/include/messages/std_msgs/time.h \
509 510
    src/comm/ros_bridge/include/topic_publisher.h \
    src/comm/ros_bridge/include/topic_subscriber.h \
Valentin Platzgummer's avatar
Valentin Platzgummer committed
511
    src/comm/utilities.h
512
SOURCES += \
513
    src/Wima/CircularSurvey.cc \
514
    src/Wima/GenericSingelton.cpp \
515
    src/Wima/RoutingThread.cpp \
Valentin Platzgummer's avatar
Valentin Platzgummer committed
516 517
    src/Wima/Snake/CircularGenerator.cpp \
    src/Wima/Snake/GeneratorBase.cc \
518
    src/Wima/Snake/LinearGenerator.cpp \
519 520
    src/Wima/Snake/clipper/clipper.cpp \
    src/Wima/Snake/snake.cpp \
521
    src/Wima/Geometry/GeoPoint3D.cpp \
Valentin Platzgummer's avatar
Valentin Platzgummer committed
522
    src/Wima/Snake/NemoInterface.cpp \
523
    src/Wima/Snake/QNemoProgress.cc \
524
    src/Wima/Snake/SnakeTile.cpp \
525
    src/Wima/StateMachine.cpp \
526 527
    src/Wima/WaypointManager/AreaInterface.cpp \
    src/Wima/WaypointManager/DefaultManager.cpp \
528
    src/Wima/WaypointManager/EmptyManager.cpp \
529
    src/Wima/WaypointManager/GenericWaypointManager.cpp \
530
    src/Wima/WaypointManager/RTLManager.cpp \
531
    src/Wima/WaypointManager/Settings.cpp \
532
    src/Wima/WaypointManager/Slicer.cpp \
533
    src/Wima/WaypointManager/Utils.cpp \
534
    src/Wima/WimaBridge.cc \
535
    src/comm/ros_bridge/include/RosBridgeClient.cpp \
536
    src/comm/ros_bridge/include/com_private.cpp \
537 538 539 540 541 542 543
    src/comm/ros_bridge/include/messages/geographic_msgs/geopoint.cpp \
    src/comm/ros_bridge/include/messages/geometry_msgs/point32.cpp \
    src/comm/ros_bridge/include/messages/geometry_msgs/polygon.cpp \
    src/comm/ros_bridge/include/messages/geometry_msgs/polygon_stamped.cpp \
    src/comm/ros_bridge/include/messages/jsk_recognition_msgs/polygon_array.cpp \
    src/comm/ros_bridge/include/messages/nemo_msgs/heartbeat.cpp \
    src/comm/ros_bridge/include/messages/nemo_msgs/progress.cpp \
Valentin Platzgummer's avatar
Valentin Platzgummer committed
544
    src/comm/ros_bridge/include/messages/std_msgs/header.cpp \
545
    src/comm/ros_bridge/include/messages/std_msgs/time.cpp \
546 547 548
    src/comm/ros_bridge/include/server.cpp \
    src/comm/ros_bridge/include/topic_publisher.cpp \
    src/comm/ros_bridge/include/topic_subscriber.cpp \
549 550
    src/api/QGCCorePlugin.cc \
    src/api/QGCOptions.cc \
Gus Grubba's avatar
Gus Grubba committed
551
    src/api/QGCSettings.cc \
552
    src/api/QmlComponentInfo.cc \
553
    src/comm/MavlinkMessagesTimer.cc \
554 555 556
    src/Wima/Geometry/WimaArea.cc \
    src/Wima/Geometry/WimaServiceArea.cc \
    src/Wima/Geometry/WimaTrackerPolyline.cc \
557
    src/Wima/WimaController.cc \
558
    src/Wima/WimaPlaner.cc \
559 560 561 562 563
    src/Wima/Geometry/WimaMeasurementArea.cc \
    src/Wima/Geometry/WimaCorridor.cc \
    src/Wima/Geometry/WimaAreaData.cc \
    src/Wima/Geometry/WimaServiceAreaData.cc \
    src/Wima/Geometry/WimaCorridorData.cpp \
564
    src/Wima/WimaPlanData.cc \
565 566 567 568
    src/Wima/Geometry/WimaMeasurementAreaData.cc \
    src/Wima/Geometry/WimaJoinedArea.cc \
    src/Wima/Geometry/WimaJoinedAreaData.cc \
    src/Wima/Geometry/PlanimetryCalculus.cc \
569
    src/Wima/OptimisationTools.cc \
570 571 572 573
    src/Wima/Geometry/GeoUtilities.cc \
    src/Wima/Geometry/PolygonCalculus.cc \
    src/Wima/Geometry/TestPolygonCalculus.cpp \
    src/Wima/Geometry/testplanimetrycalculus.cpp \
574
    src/Settings/WimaSettings.cc \
Valentin Platzgummer's avatar
Valentin Platzgummer committed
575
    src/QmlControls/QmlObjectVectorModel.cc \
576
    src/comm/ros_bridge/src/ros_bridge.cpp
Gus Grubba's avatar
Gus Grubba committed
577

578 579 580 581 582 583 584 585 586 587 588 589
#
# 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 \
590
        src/Audio/AudioOutputTest.h \
591 592 593 594
        src/FactSystem/FactSystemTestBase.h \
        src/FactSystem/FactSystemTestGeneric.h \
        src/FactSystem/FactSystemTestPX4.h \
        src/FactSystem/ParameterManagerTest.h \
595
        src/MissionManager/CameraCalcTest.h \
596
        src/MissionManager/CameraSectionTest.h \
597
        src/MissionManager/CorridorScanComplexItemTest.h \
598
        src/MissionManager/FWLandingPatternTest.h \
599 600
        src/MissionManager/MissionCommandTreeTest.h \
        src/MissionManager/MissionControllerManagerTest.h \
Gus Grubba's avatar
Gus Grubba committed
601
        src/MissionManager/MissionControllerTest.h \
602 603
        src/MissionManager/MissionItemTest.h \
        src/MissionManager/MissionManagerTest.h \
604
        src/MissionManager/MissionSettingsTest.h \
605
        src/MissionManager/PlanMasterControllerTest.h \
606
        src/MissionManager/QGCMapPolygonTest.h \
607
        src/MissionManager/QGCMapPolylineTest.h \
608
        src/MissionManager/SectionTest.h \
609
        src/MissionManager/SimpleMissionItemTest.h \
610
        src/MissionManager/SpeedSectionTest.h \
611
        src/MissionManager/StructureScanComplexItemTest.h \
612
        src/MissionManager/SurveyComplexItemTest.h \
613
        src/MissionManager/TransectStyleComplexItemTest.h \
614
        src/MissionManager/VisualMissionItemTest.h \
615 616 617
        src/qgcunittest/FileDialogTest.h \
        src/qgcunittest/FileManagerTest.h \
        src/qgcunittest/FlightGearTest.h \
Gus Grubba's avatar
Gus Grubba committed
618
        src/qgcunittest/GeoTest.h \
619 620 621 622 623 624 625 626 627
        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 \
628
        src/Vehicle/SendMavCommandTest.h \
629 630 631

    SOURCES += \
        src/AnalyzeView/LogDownloadTest.cc \
632
        src/Audio/AudioOutputTest.cc \
633 634 635 636
        src/FactSystem/FactSystemTestBase.cc \
        src/FactSystem/FactSystemTestGeneric.cc \
        src/FactSystem/FactSystemTestPX4.cc \
        src/FactSystem/ParameterManagerTest.cc \
637
        src/MissionManager/CameraCalcTest.cc \
638
        src/MissionManager/CameraSectionTest.cc \
639
        src/MissionManager/CorridorScanComplexItemTest.cc \
640
        src/MissionManager/FWLandingPatternTest.cc \
641 642
        src/MissionManager/MissionCommandTreeTest.cc \
        src/MissionManager/MissionControllerManagerTest.cc \
Gus Grubba's avatar
Gus Grubba committed
643
        src/MissionManager/MissionControllerTest.cc \
644 645
        src/MissionManager/MissionItemTest.cc \
        src/MissionManager/MissionManagerTest.cc \
646
        src/MissionManager/MissionSettingsTest.cc \
647
        src/MissionManager/PlanMasterControllerTest.cc \
648
        src/MissionManager/QGCMapPolygonTest.cc \
649
        src/MissionManager/QGCMapPolylineTest.cc \
650
        src/MissionManager/SectionTest.cc \
651
        src/MissionManager/SimpleMissionItemTest.cc \
652
        src/MissionManager/SpeedSectionTest.cc \
653
        src/MissionManager/StructureScanComplexItemTest.cc \
654
        src/MissionManager/SurveyComplexItemTest.cc \
655
        src/MissionManager/TransectStyleComplexItemTest.cc \
656
        src/MissionManager/VisualMissionItemTest.cc \
657 658 659
        src/qgcunittest/FileDialogTest.cc \
        src/qgcunittest/FileManagerTest.cc \
        src/qgcunittest/FlightGearTest.cc \
Gus Grubba's avatar
Gus Grubba committed
660
        src/qgcunittest/GeoTest.cc \
661 662 663 664 665 666 667 668 669 670
        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 \
671
        src/Vehicle/SendMavCommandTest.cc \
672 673 674 675
} } } } } }

# Main QGC Headers and Source files

676
HEADERS += \
Gus Grubba's avatar
Gus Grubba committed
677
    src/AnalyzeView/ExifParser.h \
678
    src/AnalyzeView/LogDownloadController.h \
679
    src/AnalyzeView/PX4LogParser.h \
680
    src/AnalyzeView/ULogParser.h \
681
    src/Audio/AudioOutput.h \
682 683 684
    src/Camera/QGCCameraControl.h \
    src/Camera/QGCCameraIO.h \
    src/Camera/QGCCameraManager.h \
685
    src/CmdLineOptParser.h \
686
    src/FirmwarePlugin/PX4/px4_custom_mode.h \
687
    src/FlightDisplay/VideoManager.h \
688
    src/FlightMap/Widgets/ValuesWidgetController.h \
Gus Grubba's avatar
Gus Grubba committed
689
    src/FollowMe/FollowMe.h \
690 691
    src/Joystick/Joystick.h \
    src/Joystick/JoystickManager.h \
Don Gagne's avatar
Don Gagne committed
692
    src/JsonHelper.h \
693
    src/KMLFileHelper.h \
694 695
    src/LogCompressor.h \
    src/MG.h \
696
    src/MissionManager/CameraCalc.h \
697
    src/MissionManager/CameraSection.h \
698
    src/MissionManager/CameraSpec.h \
699
    src/MissionManager/ComplexMissionItem.h \
700
    src/MissionManager/CorridorScanComplexItem.h \
701
    src/MissionManager/FixedWingLandingComplexItem.h \
702 703
    src/MissionManager/GeoFenceController.h \
    src/MissionManager/GeoFenceManager.h \
704
    src/MissionManager/KML.h \
705
    src/MissionManager/MissionCommandList.h \
706 707
    src/MissionManager/MissionCommandTree.h \
    src/MissionManager/MissionCommandUIInfo.h \
708
    src/MissionManager/MissionController.h \
709 710
    src/MissionManager/MissionItem.h \
    src/MissionManager/MissionManager.h \
711
    src/MissionManager/MissionSettingsItem.h \
712
    src/MissionManager/PlanElementController.h \
713
    src/MissionManager/PlanManager.h \
714
    src/MissionManager/PlanMasterController.h \
715 716 717
    src/MissionManager/QGCFenceCircle.h \
    src/MissionManager/QGCFencePolygon.h \
    src/MissionManager/QGCMapCircle.h \
718
    src/MissionManager/QGCMapPolygon.h \
719
    src/MissionManager/QGCMapPolyline.h \
720 721 722
    src/MissionManager/RallyPoint.h \
    src/MissionManager/RallyPointController.h \
    src/MissionManager/RallyPointManager.h \
723
    src/MissionManager/SimpleMissionItem.h \
724 725
    src/MissionManager/Section.h \
    src/MissionManager/SpeedSection.h \
726
    src/MissionManager/StructureScanComplexItem.h \
727
    src/MissionManager/SurveyComplexItem.h \
728
    src/MissionManager/TransectStyleComplexItem.h \
729
    src/MissionManager/VisualMissionItem.h \
Gus Grubba's avatar
Gus Grubba committed
730 731
    src/PositionManager/PositionManager.h \
    src/PositionManager/SimulatedPosition.h \
732 733 734 735 736
    src/QGC.h \
    src/QGCApplication.h \
    src/QGCComboBox.h \
    src/QGCConfig.h \
    src/QGCDockWidget.h \
737
    src/QGCFileDownload.h \
738 739
    src/QGCGeo.h \
    src/QGCLoggingCategory.h \
Don Gagne's avatar
Don Gagne committed
740
    src/QGCMapPalette.h \
741
    src/QGCPalette.h \
742
    src/QGCQGeoCoordinate.h \
743 744 745 746
    src/QGCQmlWidgetHolder.h \
    src/QGCQuickWidget.h \
    src/QGCTemporaryFile.h \
    src/QGCToolbox.h \
747
    src/QmlControls/AppMessages.h \
748
    src/QmlControls/CoordinateVector.h \
749
    src/QmlControls/EditPositionDialogController.h \
750
    src/QmlControls/ParameterEditorController.h \
751
    src/QmlControls/QGCFileDialogController.h \
Gus Grubba's avatar
Gus Grubba committed
752
    src/QmlControls/QGCImageProvider.h \
753 754
    src/QmlControls/QGroundControlQmlGlobal.h \
    src/QmlControls/QmlObjectListModel.h \
755
    src/QmlControls/QGCGeoBoundingCube.h \
Gus Grubba's avatar
Gus Grubba committed
756 757 758
    src/QmlControls/RCChannelMonitorController.h \
    src/QmlControls/ScreenToolsController.h \
    src/QtLocationPlugin/QMLControl/QGCMapEngineManager.h \
759 760
    src/Settings/AppSettings.h \
    src/Settings/AutoConnectSettings.h \
761
    src/Settings/BrandImageSettings.h \
762
    src/Settings/FlightMapSettings.h \
763 764
    src/Settings/FlyViewSettings.h \
    src/Settings/PlanViewSettings.h \
Don Gagne's avatar
Don Gagne committed
765
    src/Settings/RTKSettings.h \
766 767 768 769
    src/Settings/SettingsGroup.h \
    src/Settings/SettingsManager.h \
    src/Settings/UnitsSettings.h \
    src/Settings/VideoSettings.h \
770 771
    src/ShapeFileHelper.h \
    src/SHPFileHelper.h \
772
    src/Terrain/TerrainQuery.h \
Andreas Bircher's avatar
Andreas Bircher committed
773
    src/TerrainTile.h \
Gus Grubba's avatar
Gus Grubba committed
774 775 776 777 778 779 780 781 782 783
    src/Vehicle/MAVLinkLogManager.h \
    src/VehicleSetup/JoystickConfigController.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 \
Willian Galvani's avatar
Willian Galvani committed
784
    src/comm/UdpIODevice.h \
785 786 787
    src/uas/UAS.h \
    src/uas/UASInterface.h \
    src/uas/UASMessageHandler.h \
788
    src/UTM.h \
789

790

791 792
AndroidBuild {
HEADERS += \
793
    src/Joystick/JoystickAndroid.h \
794 795
}

796 797 798 799 800 801 802
DebugBuild {
HEADERS += \
    src/comm/MockLink.h \
    src/comm/MockLinkFileServer.h \
    src/comm/MockLinkMissionItemHandler.h \
}

803 804 805
WindowsBuild {
    PRECOMPILED_HEADER += src/stable_headers.h
    HEADERS += src/stable_headers.h
Daniel Agar's avatar
Daniel Agar committed
806
    CONFIG -= silent
807
    OTHER_FILES += .appveyor.yml
808 809
}

dogmaphobic's avatar
dogmaphobic committed
810
contains(DEFINES, QGC_ENABLE_BLUETOOTH) {
dogmaphobic's avatar
dogmaphobic committed
811 812
    HEADERS += \
    src/comm/BluetoothLink.h \
dogmaphobic's avatar
dogmaphobic committed
813
}
814

Gus Grubba's avatar
Gus Grubba committed
815
!NoSerialBuild {
816
HEADERS += \
817
    src/comm/QGCSerialPortInfo.h \
818 819 820 821 822
    src/comm/SerialLink.h \
}

!MobileBuild {
HEADERS += \
Don Gagne's avatar
Don Gagne committed
823
    src/AnalyzeView/GeoTagController.h \
824
    src/AnalyzeView/MavlinkConsoleController.h \
Gus Grubba's avatar
Gus Grubba committed
825
    src/GPS/Drivers/src/gps_helper.h \
826 827
    src/GPS/Drivers/src/rtcm.h \
    src/GPS/Drivers/src/ashtech.h \
Gus Grubba's avatar
Gus Grubba committed
828
    src/GPS/Drivers/src/ubx.h \
829
    src/GPS/Drivers/src/sbf.h \
Gus Grubba's avatar
Gus Grubba committed
830 831 832 833 834 835 836 837
    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 \
838
    src/QGCQFileDialog.h \
Gus Grubba's avatar
Gus Grubba committed
839
    src/QGCMessageBox.h \
840
    src/RunGuard.h \
Gus Grubba's avatar
Gus Grubba committed
841 842 843
    src/ViewWidgets/CustomCommandWidget.h \
    src/ViewWidgets/CustomCommandWidgetController.h \
    src/ViewWidgets/ViewWidgetController.h \
dogmaphobic's avatar
dogmaphobic committed
844
    src/comm/LogReplayLink.h \
845 846 847 848
    src/comm/QGCFlightGearLink.h \
    src/comm/QGCHilLink.h \
    src/comm/QGCJSBSimLink.h \
    src/comm/QGCXPlaneLink.h \
849
    src/uas/FileManager.h \
850
    src/ui/HILDockWidget.h \
851
    src/ui/MAVLinkDecoder.h \
Gus Grubba's avatar
Gus Grubba committed
852
    src/ui/MainWindow.h \
853 854 855 856 857 858
    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
859 860
    src/ui/QGCMAVLinkLogPlayer.h \
    src/ui/QGCMapRCToParamDialog.h \
861 862
    src/ui/QGCUASFileView.h \
    src/ui/QGCUASFileViewMulti.h \
Gus Grubba's avatar
Gus Grubba committed
863 864 865 866 867 868 869 870
    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 \
871 872
}

Don Gagne's avatar
Don Gagne committed
873 874 875 876
iOSBuild {
    OBJECTIVE_SOURCES += \
        src/MobileScreenMgr.mm \
}
877

Don Gagne's avatar
Don Gagne committed
878
AndroidBuild {
Don Gagne's avatar
Don Gagne committed
879
    SOURCES += src/MobileScreenMgr.cc \
880
    src/Joystick/JoystickAndroid.cc \
Don Gagne's avatar
Don Gagne committed
881 882
}

883
SOURCES += \
Gus Grubba's avatar
Gus Grubba committed
884
    src/AnalyzeView/ExifParser.cc \
885
    src/AnalyzeView/LogDownloadController.cc \
886
    src/AnalyzeView/PX4LogParser.cc \
887
    src/AnalyzeView/ULogParser.cc \
888
    src/Audio/AudioOutput.cc \
889 890 891
    src/Camera/QGCCameraControl.cc \
    src/Camera/QGCCameraIO.cc \
    src/Camera/QGCCameraManager.cc \
892
    src/CmdLineOptParser.cc \
893
    src/FlightDisplay/VideoManager.cc \
894
    src/FlightMap/Widgets/ValuesWidgetController.cc \
Gus Grubba's avatar
Gus Grubba committed
895
    src/FollowMe/FollowMe.cc \
896 897
    src/Joystick/Joystick.cc \
    src/Joystick/JoystickManager.cc \
Don Gagne's avatar
Don Gagne committed
898
    src/JsonHelper.cc \
899
    src/KMLFileHelper.cc \
900
    src/LogCompressor.cc \
901
    src/MissionManager/CameraCalc.cc \
902
    src/MissionManager/CameraSection.cc \
903
    src/MissionManager/CameraSpec.cc \
904
    src/MissionManager/ComplexMissionItem.cc \
905
    src/MissionManager/CorridorScanComplexItem.cc \
906
    src/MissionManager/FixedWingLandingComplexItem.cc \
907 908
    src/MissionManager/GeoFenceController.cc \
    src/MissionManager/GeoFenceManager.cc \
909
    src/MissionManager/KML.cc \
910
    src/MissionManager/MissionCommandList.cc \
911 912
    src/MissionManager/MissionCommandTree.cc \
    src/MissionManager/MissionCommandUIInfo.cc \
913
    src/MissionManager/MissionController.cc \
914 915
    src/MissionManager/MissionItem.cc \
    src/MissionManager/MissionManager.cc \
916
    src/MissionManager/MissionSettingsItem.cc \
917
    src/MissionManager/PlanElementController.cc \
918
    src/MissionManager/PlanManager.cc \
919
    src/MissionManager/PlanMasterController.cc \
920 921 922
    src/MissionManager/QGCFenceCircle.cc \
    src/MissionManager/QGCFencePolygon.cc \
    src/MissionManager/QGCMapCircle.cc \
923
    src/MissionManager/QGCMapPolygon.cc \
924
    src/MissionManager/QGCMapPolyline.cc \
925 926 927
    src/MissionManager/RallyPoint.cc \
    src/MissionManager/RallyPointController.cc \
    src/MissionManager/RallyPointManager.cc \
928
    src/MissionManager/SimpleMissionItem.cc \
929
    src/MissionManager/SpeedSection.cc \
930
    src/MissionManager/StructureScanComplexItem.cc \
931
    src/MissionManager/SurveyComplexItem.cc \
932
    src/MissionManager/TransectStyleComplexItem.cc \
933
    src/MissionManager/VisualMissionItem.cc \
Gus Grubba's avatar
Gus Grubba committed
934 935
    src/PositionManager/PositionManager.cpp \
    src/PositionManager/SimulatedPosition.cc \
936 937 938 939
    src/QGC.cc \
    src/QGCApplication.cc \
    src/QGCComboBox.cc \
    src/QGCDockWidget.cc \
940
    src/QGCFileDownload.cc \
Gus Grubba's avatar
Gus Grubba committed
941
    src/QGCGeo.cc \
942
    src/QGCLoggingCategory.cc \
Don Gagne's avatar
Don Gagne committed
943
    src/QGCMapPalette.cc \
944
    src/QGCPalette.cc \
945
    src/QGCQGeoCoordinate.cc \
946
    src/QGCQmlWidgetHolder.cpp \
Gus Grubba's avatar
Gus Grubba committed
947
    src/QGCQuickWidget.cc \
948 949
    src/QGCTemporaryFile.cc \
    src/QGCToolbox.cc \
950
    src/QmlControls/AppMessages.cc \
951
    src/QmlControls/CoordinateVector.cc \
952
    src/QmlControls/EditPositionDialogController.cc \
953
    src/QmlControls/ParameterEditorController.cc \
954
    src/QmlControls/QGCFileDialogController.cc \
Gus Grubba's avatar
Gus Grubba committed
955
    src/QmlControls/QGCImageProvider.cc \
956 957
    src/QmlControls/QGroundControlQmlGlobal.cc \
    src/QmlControls/QmlObjectListModel.cc \
958
    src/QmlControls/QGCGeoBoundingCube.cc \
Gus Grubba's avatar
Gus Grubba committed
959 960 961
    src/QmlControls/RCChannelMonitorController.cc \
    src/QmlControls/ScreenToolsController.cc \
    src/QtLocationPlugin/QMLControl/QGCMapEngineManager.cc \
962 963
    src/Settings/AppSettings.cc \
    src/Settings/AutoConnectSettings.cc \
964
    src/Settings/BrandImageSettings.cc \
965
    src/Settings/FlightMapSettings.cc \
966 967
    src/Settings/FlyViewSettings.cc \
    src/Settings/PlanViewSettings.cc \
Don Gagne's avatar
Don Gagne committed
968
    src/Settings/RTKSettings.cc \
969 970 971 972
    src/Settings/SettingsGroup.cc \
    src/Settings/SettingsManager.cc \
    src/Settings/UnitsSettings.cc \
    src/Settings/VideoSettings.cc \
973 974
    src/ShapeFileHelper.cc \
    src/SHPFileHelper.cc \
975
    src/Terrain/TerrainQuery.cc \
Andreas Bircher's avatar
Andreas Bircher committed
976
    src/TerrainTile.cc\
Gus Grubba's avatar
Gus Grubba committed
977 978 979
    src/Vehicle/MAVLinkLogManager.cc \
    src/VehicleSetup/JoystickConfigController.cc \
    src/comm/LinkConfiguration.cc \
980
    src/comm/LinkInterface.cc \
Gus Grubba's avatar
Gus Grubba committed
981 982 983 984 985
    src/comm/LinkManager.cc \
    src/comm/MAVLinkProtocol.cc \
    src/comm/QGCMAVLink.cc \
    src/comm/TCPLink.cc \
    src/comm/UDPLink.cc \
Willian Galvani's avatar
Willian Galvani committed
986
    src/comm/UdpIODevice.cc \
Gus Grubba's avatar
Gus Grubba committed
987
    src/main.cc \
988 989
    src/uas/UAS.cc \
    src/uas/UASMessageHandler.cc \
990
    src/UTM.cpp \
991

992 993 994 995 996 997 998
DebugBuild {
SOURCES += \
    src/comm/MockLink.cc \
    src/comm/MockLinkFileServer.cc \
    src/comm/MockLinkMissionItemHandler.cc \
}

Gus Grubba's avatar
Gus Grubba committed
999
!NoSerialBuild {
1000
SOURCES += \
1001
    src/comm/QGCSerialPortInfo.cc \
1002 1003 1004
    src/comm/SerialLink.cc \
}

dogmaphobic's avatar
dogmaphobic committed
1005
contains(DEFINES, QGC_ENABLE_BLUETOOTH) {
dogmaphobic's avatar
dogmaphobic committed
1006 1007 1008 1009
    SOURCES += \
    src/comm/BluetoothLink.cc \
}

1010 1011
!MobileBuild {
SOURCES += \
Don Gagne's avatar
Don Gagne committed
1012
    src/AnalyzeView/GeoTagController.cc \
1013
    src/AnalyzeView/MavlinkConsoleController.cc \
Gus Grubba's avatar
Gus Grubba committed
1014
    src/GPS/Drivers/src/gps_helper.cpp \
1015 1016
    src/GPS/Drivers/src/rtcm.cpp \
    src/GPS/Drivers/src/ashtech.cpp \
Gus Grubba's avatar
Gus Grubba committed
1017
    src/GPS/Drivers/src/ubx.cpp \
1018
    src/GPS/Drivers/src/sbf.cpp \
Gus Grubba's avatar
Gus Grubba committed
1019 1020 1021 1022
    src/GPS/GPSManager.cc \
    src/GPS/GPSProvider.cc \
    src/GPS/RTCM/RTCMMavlink.cc \
    src/Joystick/JoystickSDL.cc \
1023
    src/QGCQFileDialog.cc \
1024
    src/RunGuard.cc \
Gus Grubba's avatar
Gus Grubba committed
1025 1026 1027 1028
    src/ViewWidgets/CustomCommandWidget.cc \
    src/ViewWidgets/CustomCommandWidgetController.cc \
    src/ViewWidgets/ViewWidgetController.cc \
    src/comm/LogReplayLink.cc \
1029 1030 1031
    src/comm/QGCFlightGearLink.cc \
    src/comm/QGCJSBSimLink.cc \
    src/comm/QGCXPlaneLink.cc \
Gus Grubba's avatar
Gus Grubba committed
1032
    src/uas/FileManager.cc \
1033
    src/ui/HILDockWidget.cc \
Gus Grubba's avatar
Gus Grubba committed
1034
    src/ui/MAVLinkDecoder.cc \
Don Gagne's avatar
Don Gagne committed
1035
    src/ui/MainWindow.cc \
1036 1037 1038 1039 1040 1041
    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
1042 1043
    src/ui/QGCMAVLinkLogPlayer.cc \
    src/ui/QGCMapRCToParamDialog.cpp \
1044 1045
    src/ui/QGCUASFileView.cc \
    src/ui/QGCUASFileViewMulti.cc \
Gus Grubba's avatar
Gus Grubba committed
1046 1047 1048 1049 1050 1051 1052 1053
    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 \
1054 1055
}

1056
# Palette test widget in debug builds
1057
DebugBuild {
1058 1059 1060
    HEADERS += src/QmlControls/QmlTestWidget.h
    SOURCES += src/QmlControls/QmlTestWidget.cc
}
1061 1062 1063 1064 1065 1066

#
# Firmware Plugin Support
#

INCLUDEPATH += \
Don Gagne's avatar
Don Gagne committed
1067
    src/AutoPilotPlugins/Common \
1068 1069 1070 1071 1072 1073
    src/FirmwarePlugin \
    src/Vehicle \
    src/VehicleSetup \

HEADERS+= \
    src/AutoPilotPlugins/AutoPilotPlugin.h \
Gus Grubba's avatar
Gus Grubba committed
1074 1075
    src/AutoPilotPlugins/Common/ESP8266Component.h \
    src/AutoPilotPlugins/Common/ESP8266ComponentController.h \
Don Gagne's avatar
Don Gagne committed
1076
    src/AutoPilotPlugins/Common/MotorComponent.h \
Don Gagne's avatar
Don Gagne committed
1077
    src/AutoPilotPlugins/Common/RadioComponentController.h \
1078 1079
    src/AutoPilotPlugins/Common/SyslinkComponent.h \
    src/AutoPilotPlugins/Common/SyslinkComponentController.h \
1080
    src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.h \
1081
    src/FirmwarePlugin/CameraMetaData.h \
1082
    src/FirmwarePlugin/FirmwarePlugin.h \
Gus Grubba's avatar
Gus Grubba committed
1083
    src/FirmwarePlugin/FirmwarePluginManager.h \
1084
    src/Vehicle/ADSBVehicle.h \
1085
    src/Vehicle/MultiVehicleManager.h \
1086
    src/Vehicle/GPSRTKFactGroup.h \
1087 1088 1089
    src/Vehicle/Vehicle.h \
    src/VehicleSetup/VehicleComponent.h \

1090
!MobileBuild { !NoSerialBuild {
Gus Grubba's avatar
Gus Grubba committed
1091 1092 1093 1094 1095
    HEADERS += \
        src/VehicleSetup/Bootloader.h \
        src/VehicleSetup/FirmwareImage.h \
        src/VehicleSetup/FirmwareUpgradeController.h \
        src/VehicleSetup/PX4FirmwareUpgradeThread.h \
1096
}}
1097 1098 1099

SOURCES += \
    src/AutoPilotPlugins/AutoPilotPlugin.cc \
Gus Grubba's avatar
Gus Grubba committed
1100 1101
    src/AutoPilotPlugins/Common/ESP8266Component.cc \
    src/AutoPilotPlugins/Common/ESP8266ComponentController.cc \
Don Gagne's avatar
Don Gagne committed
1102
    src/AutoPilotPlugins/Common/MotorComponent.cc \
Don Gagne's avatar
Don Gagne committed
1103
    src/AutoPilotPlugins/Common/RadioComponentController.cc \
1104 1105
    src/AutoPilotPlugins/Common/SyslinkComponent.cc \
    src/AutoPilotPlugins/Common/SyslinkComponentController.cc \