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

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

22
TARGET = qgroundcontrol
23
TEMPLATE =  app
dogmaphobic's avatar
dogmaphobic committed
24

25 26 27 28 29 30
# 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)))
}

31 32
LinuxBuild {
    CONFIG += link_pkgconfig
Don Gagne's avatar
Don Gagne committed
33
}
34

35
# QGC QtLocation plugin
36

37
LIBS += -L$${LOCATION_PLUGIN_DESTDIR}
Don Gagne's avatar
Don Gagne committed
38
LIBS += -l$${LOCATION_PLUGIN_NAME}
39 40

WindowsBuild {
Don Gagne's avatar
Don Gagne committed
41
    PRE_TARGETDEPS += $${LOCATION_PLUGIN_DESTDIR}/$${LOCATION_PLUGIN_NAME}.lib
dogmaphobic's avatar
dogmaphobic committed
42 43
} else {
    PRE_TARGETDEPS += $${LOCATION_PLUGIN_DESTDIR}/lib$${LOCATION_PLUGIN_NAME}.a
44 45
}

Lorenz Meier's avatar
Lorenz Meier committed
46
# Qt configuration
47

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

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

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

72 73 74
contains(DEFINES, QGC_NOTIFY_TUNES_ENABLED) {
    QT += multimedia
}
75

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

Don Gagne's avatar
Don Gagne committed
79 80 81
#
# OS Specific settings
#
82

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

iOSBuild {
    QMAKE_INFO_PLIST = $${BASEDIR}/ios/iOS-Info.plist
    ICON = $${BASEDIR}/resources/icons/macx.icns
    OTHER_FILES += $${BASEDIR}/iOS-Info.plist
Don Gagne's avatar
Don Gagne committed
93
}
94

Don Gagne's avatar
Don Gagne committed
95
LinuxBuild {
96
    CONFIG += qesp_linux_udev
Don Gagne's avatar
Don Gagne committed
97 98 99
}

WindowsBuild {
dogmaphobic's avatar
dogmaphobic committed
100
    RC_FILE = $${BASEDIR}/qgroundcontrol.rc
Don Gagne's avatar
Don Gagne committed
101
}
Lorenz Meier's avatar
Lorenz Meier committed
102

Don Gagne's avatar
Don Gagne committed
103
#
Bryant's avatar
Bryant committed
104
# Build-specific settings
Don Gagne's avatar
Don Gagne committed
105
#
Lorenz Meier's avatar
Lorenz Meier committed
106

Don Gagne's avatar
Don Gagne committed
107
DebugBuild {
dogmaphobic's avatar
dogmaphobic committed
108
!iOSBuild {
Don Gagne's avatar
Don Gagne committed
109
    CONFIG += console
Lorenz Meier's avatar
Lorenz Meier committed
110
}
dogmaphobic's avatar
dogmaphobic committed
111
}
Lorenz Meier's avatar
Lorenz Meier committed
112

dogmaphobic's avatar
dogmaphobic committed
113
!MobileBuild {
114 115
# qextserialport should not be used by general QGroundControl code. Use QSerialPort instead. This is only
# here to support special case Firmware Upgrade code.
116
include(libs/qextserialport/src/qextserialport.pri)
117
}
118

Don Gagne's avatar
Don Gagne committed
119 120 121
#
# External library configuration
#
122

Don Gagne's avatar
Don Gagne committed
123
include(QGCExternalLibs.pri)
124

Don Gagne's avatar
Don Gagne committed
125 126 127
#
# Main QGroundControl portion of project file
#
128

Don Gagne's avatar
Don Gagne committed
129
RESOURCES += qgroundcontrol.qrc
Bill Bonney's avatar
Bill Bonney committed
130

Don Gagne's avatar
Don Gagne committed
131 132
DEPENDPATH += \
    . \
Bill Bonney's avatar
Bill Bonney committed
133 134 135
    plugins

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

Don Gagne's avatar
Don Gagne committed
137
INCLUDEPATH += \
dogmaphobic's avatar
dogmaphobic committed
138
    include/ui \
Don Gagne's avatar
Don Gagne committed
139
    src \
140
    src/audio \
dogmaphobic's avatar
dogmaphobic committed
141 142
    src/AutoPilotPlugins \
    src/comm \
143
    src/FlightDisplay \
144
    src/FlightMap \
Don Gagne's avatar
Don Gagne committed
145
    src/input \
146
    src/Joystick \
Don Gagne's avatar
Don Gagne committed
147
    src/lib/qmapcontrol \
Don Gagne's avatar
Don Gagne committed
148
    src/MissionEditor \
Don Gagne's avatar
Don Gagne committed
149
    src/MissionManager \
dogmaphobic's avatar
dogmaphobic committed
150 151 152 153 154 155 156
    src/QmlControls \
    src/uas \
    src/ui \
    src/ui/linechart \
    src/ui/map \
    src/ui/mapdisplay \
    src/ui/mavlink \
Don Gagne's avatar
Don Gagne committed
157
    src/ui/mission \
158
    src/ui/px4_configuration \
dogmaphobic's avatar
dogmaphobic committed
159
    src/ui/toolbar \
dogmaphobic's avatar
dogmaphobic committed
160
    src/ui/uas \
161
    src/VehicleSetup \
dogmaphobic's avatar
dogmaphobic committed
162
    src/ViewWidgets \
Lorenz Meier's avatar
Lorenz Meier committed
163

Don Gagne's avatar
Don Gagne committed
164
FORMS += \
dogmaphobic's avatar
dogmaphobic committed
165 166
    src/QGCQmlWidgetHolder.ui \
    src/ui/Linechart.ui \
Don Gagne's avatar
Don Gagne committed
167
    src/ui/LogReplayLinkConfigurationWidget.ui \
dogmaphobic's avatar
dogmaphobic committed
168
    src/ui/MainWindow.ui \
Lorenz Meier's avatar
Lorenz Meier committed
169
    src/ui/mavlink/QGCMAVLinkMessageSender.ui \
dogmaphobic's avatar
dogmaphobic committed
170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185
    src/ui/MAVLinkSettingsWidget.ui \
    src/ui/QGCCommConfiguration.ui \
    src/ui/QGCDataPlot2D.ui \
    src/ui/QGCLinkConfiguration.ui \
    src/ui/QGCMapRCToParamDialog.ui \
    src/ui/QGCMAVLinkInspector.ui \
    src/ui/QGCMAVLinkLogPlayer.ui \
    src/ui/QGCPluginHost.ui \
    src/ui/QGCTabbedInfoView.ui \
    src/ui/QGCTCPLinkConfiguration.ui \
    src/ui/QGCUASFileView.ui \
    src/ui/QGCUASFileViewMulti.ui \
    src/ui/QGCUDPLinkConfiguration.ui \
    src/ui/SettingsDialog.ui \
    src/ui/uas/QGCUnconnectedInfoWidget.ui \
    src/ui/uas/UASMessageView.ui \
186
    src/ui/uas/UASQuickView.ui \
187
    src/ui/uas/UASQuickViewItemSelect.ui \
dogmaphobic's avatar
dogmaphobic committed
188
    src/ui/UASInfo.ui \
189
    src/ui/UASRawStatusView.ui \
190

dogmaphobic's avatar
dogmaphobic committed
191 192 193 194 195 196
!iOSBuild {
FORMS += \
    src/ui/SerialSettings.ui \
}

!MobileBuild {
dogmaphobic's avatar
dogmaphobic committed
197
FORMS += \
dogmaphobic's avatar
dogmaphobic committed
198 199 200 201
    src/ui/QGCHilConfiguration.ui \
    src/ui/QGCHilFlightGearConfiguration.ui \
    src/ui/QGCHilJSBSimConfiguration.ui \
    src/ui/QGCHilXPlaneConfiguration.ui \
dogmaphobic's avatar
dogmaphobic committed
202 203
}

Don Gagne's avatar
Don Gagne committed
204
HEADERS += \
dogmaphobic's avatar
dogmaphobic committed
205 206 207
    src/audio/QGCAudioWorker.h \
    src/CmdLineOptParser.h \
    src/comm/LinkConfiguration.h \
Lorenz Meier's avatar
Lorenz Meier committed
208
    src/comm/LinkInterface.h \
dogmaphobic's avatar
dogmaphobic committed
209
    src/comm/LinkManager.h \
Don Gagne's avatar
Don Gagne committed
210
    src/comm/LogReplayLink.h \
Lorenz Meier's avatar
Lorenz Meier committed
211
    src/comm/MAVLinkProtocol.h \
212
    src/comm/MockLink.h \
213
    src/comm/MockLinkFileServer.h \
214
    src/comm/MockLinkMissionItemHandler.h \
dogmaphobic's avatar
dogmaphobic committed
215 216
    src/comm/ProtocolInterface.h \
    src/comm/QGCMAVLink.h \
Don Gagne's avatar
Don Gagne committed
217
    src/comm/TCPLink.h \
dogmaphobic's avatar
dogmaphobic committed
218
    src/comm/UDPLink.h \
219 220
    src/FlightDisplay/FlightDisplayWidget.h \
    src/FlightDisplay/FlightDisplayView.h \
221
    src/FlightMap/FlightMapSettings.h \
Lorenz Meier's avatar
Lorenz Meier committed
222
    src/GAudioOutput.h \
223
    src/HomePositionManager.h \
224 225
    src/Joystick/Joystick.h \
    src/Joystick/JoystickManager.h \
Lorenz Meier's avatar
Lorenz Meier committed
226
    src/LogCompressor.h \
dogmaphobic's avatar
dogmaphobic committed
227
    src/MG.h \
Don Gagne's avatar
Don Gagne committed
228
    src/MissionEditor/MissionEditor.h \
Don Gagne's avatar
Don Gagne committed
229
    src/MissionManager/MissionManager.h \
Lorenz Meier's avatar
Lorenz Meier committed
230
    src/QGC.h \
dogmaphobic's avatar
dogmaphobic committed
231 232 233 234 235 236 237 238 239 240 241 242 243
    src/QGCApplication.h \
    src/QGCComboBox.h \
    src/QGCConfig.h \
    src/QGCDockWidget.h \
    src/QGCFileDialog.h \
    src/QGCGeo.h \
    src/QGCLoggingCategory.h \
    src/QGCMessageBox.h \
    src/QGCPalette.h \
    src/QGCQmlWidgetHolder.h \
    src/QGCQuickWidget.h \
    src/QGCSingleton.h \
    src/QGCTemporaryFile.h \
244
    src/QmlControls/CoordinateVector.h \
245
    src/QmlControls/MavlinkQmlSingleton.h \
dogmaphobic's avatar
dogmaphobic committed
246
    src/QmlControls/ParameterEditorController.h \
Don Gagne's avatar
Don Gagne committed
247
    src/QmlControls/ScreenToolsController.h \
248
    src/QmlControls/QGCQGeoCoordinate.h \
249
    src/QmlControls/QGroundControlQmlGlobal.h \
250
    src/QmlControls/QmlObjectListModel.h \
251
    src/SerialPortIds.h \
252
    src/uas/FileManager.h \
dogmaphobic's avatar
dogmaphobic committed
253 254 255 256 257 258 259 260 261 262
    src/uas/UAS.h \
    src/uas/UASInterface.h \
    src/uas/UASMessageHandler.h \
    src/ui/linechart/ChartPlot.h \
    src/ui/linechart/IncrementalPlot.h \
    src/ui/linechart/LinechartPlot.h \
    src/ui/linechart/Linecharts.h \
    src/ui/linechart/LinechartWidget.h \
    src/ui/linechart/Scrollbar.h \
    src/ui/linechart/ScrollZoomer.h \
Don Gagne's avatar
Don Gagne committed
263
    src/ui/LogReplayLinkConfigurationWidget.h \
dogmaphobic's avatar
dogmaphobic committed
264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286
    src/ui/MainWindow.h \
    src/ui/map/MAV2DIcon.h \
    src/ui/mavlink/QGCMAVLinkMessageSender.h \
    src/ui/MAVLinkDecoder.h \
    src/ui/MAVLinkSettingsWidget.h \
    src/ui/QGCCommConfiguration.h \
    src/ui/QGCDataPlot2D.h \
    src/ui/QGCLinkConfiguration.h \
    src/ui/QGCMainWindowAPConfigurator.h \
    src/ui/QGCMapRCToParamDialog.h \
    src/ui/QGCMAVLinkInspector.h \
    src/ui/QGCMAVLinkLogPlayer.h \
    src/ui/QGCPluginHost.h \
    src/ui/QGCTabbedInfoView.h \
    src/ui/QGCTCPLinkConfiguration.h \
    src/ui/QGCUASFileView.h \
    src/ui/QGCUASFileViewMulti.h \
    src/ui/QGCUDPLinkConfiguration.h \
    src/ui/SettingsDialog.h \
    src/ui/toolbar/MainToolBar.h \
    src/ui/uas/QGCUnconnectedInfoWidget.h \
    src/ui/uas/UASInfoWidget.h \
    src/ui/uas/UASMessageView.h \
287
    src/ui/uas/UASQuickView.h \
dogmaphobic's avatar
dogmaphobic committed
288
    src/ui/uas/UASQuickViewGaugeItem.h \
289
    src/ui/uas/UASQuickViewItem.h \
290
    src/ui/uas/UASQuickViewItemSelect.h \
291
    src/ui/uas/UASQuickViewTextItem.h \
292
    src/ui/UASRawStatusView.h \
Don Gagne's avatar
Don Gagne committed
293 294
    src/ViewWidgets/CustomCommandWidget.h \
    src/ViewWidgets/CustomCommandWidgetController.h \
295
    src/ViewWidgets/ViewWidgetController.h \
296
    src/MissionItem.h \
297
    src/AutoPilotPlugins/PX4/PX4AirframeLoader.h
Lorenz Meier's avatar
Lorenz Meier committed
298

dogmaphobic's avatar
dogmaphobic committed
299
!iOSBuild {
dogmaphobic's avatar
dogmaphobic committed
300
HEADERS += \
dogmaphobic's avatar
dogmaphobic committed
301 302 303 304 305 306 307 308 309 310 311 312 313 314 315
    src/comm/SerialLink.h \
    src/ui/SerialConfigurationWindow.h \
}

!MobileBuild {
HEADERS += \
    src/comm/QGCFlightGearLink.h \
    src/comm/QGCHilLink.h \
    src/comm/QGCJSBSimLink.h \
    src/comm/QGCXPlaneLink.h \
    src/ui/CameraView.h \
    src/ui/QGCHilConfiguration.h \
    src/ui/QGCHilFlightGearConfiguration.h \
    src/ui/QGCHilJSBSimConfiguration.h \
    src/ui/QGCHilXPlaneConfiguration.h \
316
    src/VehicleSetup/JoystickConfigController.h \
dogmaphobic's avatar
dogmaphobic committed
317 318
}

Don Gagne's avatar
Don Gagne committed
319
SOURCES += \
dogmaphobic's avatar
dogmaphobic committed
320 321 322
    src/audio/QGCAudioWorker.cpp \
    src/CmdLineOptParser.cc \
    src/comm/LinkConfiguration.cc \
Lorenz Meier's avatar
Lorenz Meier committed
323
    src/comm/LinkManager.cc \
Don Gagne's avatar
Don Gagne committed
324
    src/comm/LogReplayLink.cc \
Lorenz Meier's avatar
Lorenz Meier committed
325
    src/comm/MAVLinkProtocol.cc \
326
    src/comm/MockLink.cc \
327
    src/comm/MockLinkFileServer.cc \
328
    src/comm/MockLinkMissionItemHandler.cc \
Don Gagne's avatar
Don Gagne committed
329
    src/comm/TCPLink.cc \
dogmaphobic's avatar
dogmaphobic committed
330
    src/comm/UDPLink.cc \
331 332
    src/FlightDisplay/FlightDisplayWidget.cc \
    src/FlightDisplay/FlightDisplayView.cc \
333
    src/FlightMap/FlightMapSettings.cc \
Lorenz Meier's avatar
Lorenz Meier committed
334
    src/GAudioOutput.cc \
335
    src/HomePositionManager.cc \
336 337
    src/Joystick/Joystick.cc \
    src/Joystick/JoystickManager.cc \
Lorenz Meier's avatar
Lorenz Meier committed
338
    src/LogCompressor.cc \
dogmaphobic's avatar
dogmaphobic committed
339
    src/main.cc \
Don Gagne's avatar
Don Gagne committed
340
    src/MissionEditor/MissionEditor.cc \
Don Gagne's avatar
Don Gagne committed
341
    src/MissionManager/MissionManager.cc \
Lorenz Meier's avatar
Lorenz Meier committed
342
    src/QGC.cc \
dogmaphobic's avatar
dogmaphobic committed
343 344 345 346 347 348 349 350 351 352
    src/QGCApplication.cc \
    src/QGCComboBox.cc \
    src/QGCDockWidget.cc \
    src/QGCFileDialog.cc \
    src/QGCLoggingCategory.cc \
    src/QGCPalette.cc \
    src/QGCQmlWidgetHolder.cpp \
    src/QGCQuickWidget.cc \
    src/QGCSingleton.cc \
    src/QGCTemporaryFile.cc \
353
    src/QmlControls/CoordinateVector.cc \
dogmaphobic's avatar
dogmaphobic committed
354
    src/QmlControls/ParameterEditorController.cc \
Don Gagne's avatar
Don Gagne committed
355
    src/QmlControls/ScreenToolsController.cc \
356
    src/QmlControls/QGCQGeoCoordinate.cc \
357
    src/QmlControls/QGroundControlQmlGlobal.cc \
358
    src/QmlControls/QmlObjectListModel.cc \
359
    src/uas/FileManager.cc \
dogmaphobic's avatar
dogmaphobic committed
360 361 362 363 364 365 366 367 368
    src/uas/UAS.cc \
    src/uas/UASMessageHandler.cc \
    src/ui/linechart/ChartPlot.cc \
    src/ui/linechart/IncrementalPlot.cc \
    src/ui/linechart/LinechartPlot.cc \
    src/ui/linechart/Linecharts.cc \
    src/ui/linechart/LinechartWidget.cc \
    src/ui/linechart/Scrollbar.cc \
    src/ui/linechart/ScrollZoomer.cc \
Don Gagne's avatar
Don Gagne committed
369
    src/ui/LogReplayLinkConfigurationWidget.cc \
dogmaphobic's avatar
dogmaphobic committed
370
    src/ui/MainWindow.cc \
Lorenz Meier's avatar
Lorenz Meier committed
371
    src/ui/mavlink/QGCMAVLinkMessageSender.cc \
dogmaphobic's avatar
dogmaphobic committed
372 373 374 375 376 377 378 379 380 381
    src/ui/MAVLinkDecoder.cc \
    src/ui/MAVLinkSettingsWidget.cc \
    src/ui/QGCCommConfiguration.cc \
    src/ui/QGCDataPlot2D.cc \
    src/ui/QGCLinkConfiguration.cc \
    src/ui/QGCMainWindowAPConfigurator.cc \
    src/ui/QGCMapRCToParamDialog.cpp \
    src/ui/QGCMAVLinkInspector.cc \
    src/ui/QGCMAVLinkLogPlayer.cc \
    src/ui/QGCPluginHost.cc \
382
    src/ui/QGCTabbedInfoView.cpp \
dogmaphobic's avatar
dogmaphobic committed
383
    src/ui/QGCTCPLinkConfiguration.cc \
384
    src/ui/QGCUASFileView.cc \
dogmaphobic's avatar
dogmaphobic committed
385
    src/ui/QGCUASFileViewMulti.cc \
386
    src/ui/QGCUDPLinkConfiguration.cc \
dogmaphobic's avatar
dogmaphobic committed
387
    src/ui/SettingsDialog.cc \
Don Gagne's avatar
Don Gagne committed
388
    src/ui/toolbar/MainToolBar.cc \
dogmaphobic's avatar
dogmaphobic committed
389 390 391 392 393 394 395 396 397
    src/ui/uas/QGCUnconnectedInfoWidget.cc \
    src/ui/uas/UASInfoWidget.cc \
    src/ui/uas/UASMessageView.cc \
    src/ui/uas/UASQuickView.cc \
    src/ui/uas/UASQuickViewGaugeItem.cc \
    src/ui/uas/UASQuickViewItem.cc \
    src/ui/uas/UASQuickViewItemSelect.cc \
    src/ui/uas/UASQuickViewTextItem.cc \
    src/ui/UASRawStatusView.cpp \
Don Gagne's avatar
Don Gagne committed
398 399
    src/ViewWidgets/CustomCommandWidget.cc \
    src/ViewWidgets/CustomCommandWidgetController.cc \
400
    src/ViewWidgets/ViewWidgetController.cc \
401
    src/MissionItem.cc \
402
    src/AutoPilotPlugins/PX4/PX4AirframeLoader.cc
403

dogmaphobic's avatar
dogmaphobic committed
404
!iOSBuild {
dogmaphobic's avatar
dogmaphobic committed
405
SOURCES += \
dogmaphobic's avatar
dogmaphobic committed
406 407 408 409 410 411 412 413 414 415 416 417 418 419
    src/comm/SerialLink.cc \
    src/ui/SerialConfigurationWindow.cc \
}

!MobileBuild {
SOURCES += \
    src/comm/QGCFlightGearLink.cc \
    src/comm/QGCJSBSimLink.cc \
    src/comm/QGCXPlaneLink.cc \
    src/ui/CameraView.cc \
    src/ui/QGCHilConfiguration.cc \
    src/ui/QGCHilFlightGearConfiguration.cc \
    src/ui/QGCHilJSBSimConfiguration.cc \
    src/ui/QGCHilXPlaneConfiguration.cc \
420
    src/VehicleSetup/JoystickConfigController.cc \
dogmaphobic's avatar
dogmaphobic committed
421 422
}

423 424
#
# Unit Test specific configuration goes here
425 426
#
# We have to special case Windows debug_and_release builds because you can't have files
427 428
# which are only in the debug variant [QTBUG-40351]. So in this case we include unit tests
# even in the release variant. If you want a Windows release build with no unit tests run
429 430 431 432 433
# qmake with CONFIG-=debug_and_release CONFIG+=release.
#

DebugBuild|WindowsDebugAndRelease {

dogmaphobic's avatar
dogmaphobic committed
434 435 436
HEADERS += src/QmlControls/QmlTestWidget.h
SOURCES += src/QmlControls/QmlTestWidget.cc

dogmaphobic's avatar
dogmaphobic committed
437
!MobileBuild {
dogmaphobic's avatar
dogmaphobic committed
438

439 440 441 442
INCLUDEPATH += \
	src/qgcunittest

HEADERS += \
dogmaphobic's avatar
dogmaphobic committed
443 444 445
    src/FactSystem/FactSystemTestBase.h \
    src/FactSystem/FactSystemTestGeneric.h \
    src/FactSystem/FactSystemTestPX4.h \
Don Gagne's avatar
Don Gagne committed
446
    src/MissionItemTest.h \
Don Gagne's avatar
Don Gagne committed
447
    src/MissionManager/MissionManagerTest.h \
448
    src/qgcunittest/FileDialogTest.h \
Don Gagne's avatar
Don Gagne committed
449 450
    src/qgcunittest/FileManagerTest.h \
    src/qgcunittest/FlightGearTest.h \
Don Gagne's avatar
Don Gagne committed
451
    src/qgcunittest/LinkManagerTest.h \
452
    src/qgcunittest/MainWindowTest.h \
Don Gagne's avatar
Don Gagne committed
453
    src/qgcunittest/MavlinkLogTest.h \
dogmaphobic's avatar
dogmaphobic committed
454
    src/qgcunittest/MessageBoxTest.h \
Don Gagne's avatar
Don Gagne committed
455 456 457 458
    src/qgcunittest/MultiSignalSpy.h \
    src/qgcunittest/PX4RCCalibrationTest.h \
    src/qgcunittest/TCPLinkTest.h \
    src/qgcunittest/TCPLoopBackServer.h \
dogmaphobic's avatar
dogmaphobic committed
459
    src/qgcunittest/UnitTest.h \
460
    src/VehicleSetup/SetupViewTest.h \
Don Gagne's avatar
Don Gagne committed
461

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

dogmaphobic's avatar
dogmaphobic committed
482
} # DebugBuild|WindowsDebugAndRelease
dogmaphobic's avatar
dogmaphobic committed
483
} # MobileBuild
484 485

#
Don Gagne's avatar
Don Gagne committed
486
# Firmware Plugin Support
487
#
488 489

INCLUDEPATH += \
490
    src/AutoPilotPlugins/PX4 \
Don Gagne's avatar
Don Gagne committed
491
    src/FirmwarePlugin \
492
    src/Vehicle \
Don Gagne's avatar
Don Gagne committed
493
    src/VehicleSetup \
494

495 496
HEADERS+= \
    src/AutoPilotPlugins/AutoPilotPlugin.h \
dogmaphobic's avatar
dogmaphobic committed
497
    src/AutoPilotPlugins/AutoPilotPluginManager.h \
498
    src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.h \
499
    src/AutoPilotPlugins/Generic/GenericParameterFacts.h \
500
    src/AutoPilotPlugins/PX4/AirframeComponent.h \
501 502
    src/AutoPilotPlugins/PX4/AirframeComponentAirframes.h \
    src/AutoPilotPlugins/PX4/AirframeComponentController.h \
dogmaphobic's avatar
dogmaphobic committed
503 504
    src/AutoPilotPlugins/PX4/FlightModesComponent.h \
    src/AutoPilotPlugins/PX4/FlightModesComponentController.h \
dogmaphobic's avatar
dogmaphobic committed
505
    src/AutoPilotPlugins/PX4/PowerComponent.h \
506
    src/AutoPilotPlugins/PX4/PowerComponentController.h \
dogmaphobic's avatar
dogmaphobic committed
507 508
    src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.h \
    src/AutoPilotPlugins/PX4/PX4Component.h \
509
    src/AutoPilotPlugins/PX4/PX4ParameterLoader.h \
dogmaphobic's avatar
dogmaphobic committed
510
    src/AutoPilotPlugins/PX4/RadioComponent.h \
Don Gagne's avatar
Don Gagne committed
511
    src/AutoPilotPlugins/PX4/RadioComponentController.h \
dogmaphobic's avatar
dogmaphobic committed
512 513 514
    src/AutoPilotPlugins/PX4/SafetyComponent.h \
    src/AutoPilotPlugins/PX4/SensorsComponent.h \
    src/AutoPilotPlugins/PX4/SensorsComponentController.h \
515 516
    src/FirmwarePlugin/FirmwarePluginManager.h \
    src/FirmwarePlugin/FirmwarePlugin.h \
Don Gagne's avatar
Don Gagne committed
517
    src/FirmwarePlugin/APM/APMFirmwarePlugin.h \
518
    src/FirmwarePlugin/APM/ArduCopterFirmwarePlugin.h \
519 520 521 522
    src/FirmwarePlugin/Generic/GenericFirmwarePlugin.h \
    src/FirmwarePlugin/PX4/PX4FirmwarePlugin.h \
    src/Vehicle/MultiVehicleManager.h \
    src/Vehicle/Vehicle.h \
dogmaphobic's avatar
dogmaphobic committed
523 524
    src/VehicleSetup/SetupView.h \
    src/VehicleSetup/VehicleComponent.h \
525

dogmaphobic's avatar
dogmaphobic committed
526
!MobileBuild {
527 528
HEADERS += \
    src/VehicleSetup/FirmwareUpgradeController.h \
529 530 531 532
    src/VehicleSetup/Bootloader.h \
    src/VehicleSetup/PX4FirmwareUpgradeThread.h \
    src/VehicleSetup/FirmwareImage.h \

533 534
}

535
SOURCES += \
536
    src/AutoPilotPlugins/AutoPilotPlugin.cc \
dogmaphobic's avatar
dogmaphobic committed
537
    src/AutoPilotPlugins/AutoPilotPluginManager.cc \
538
    src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.cc \
539
    src/AutoPilotPlugins/Generic/GenericParameterFacts.cc \
540
    src/AutoPilotPlugins/PX4/AirframeComponent.cc \
541 542
    src/AutoPilotPlugins/PX4/AirframeComponentAirframes.cc \
    src/AutoPilotPlugins/PX4/AirframeComponentController.cc \
dogmaphobic's avatar
dogmaphobic committed
543 544
    src/AutoPilotPlugins/PX4/FlightModesComponent.cc \
    src/AutoPilotPlugins/PX4/FlightModesComponentController.cc \
dogmaphobic's avatar
dogmaphobic committed
545
    src/AutoPilotPlugins/PX4/PowerComponent.cc \
546
    src/AutoPilotPlugins/PX4/PowerComponentController.cc \
dogmaphobic's avatar
dogmaphobic committed
547 548
    src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.cc \
    src/AutoPilotPlugins/PX4/PX4Component.cc \
549
    src/AutoPilotPlugins/PX4/PX4ParameterLoader.cc \
dogmaphobic's avatar
dogmaphobic committed
550
    src/AutoPilotPlugins/PX4/RadioComponent.cc \
Don Gagne's avatar
Don Gagne committed
551
    src/AutoPilotPlugins/PX4/RadioComponentController.cc \
dogmaphobic's avatar
dogmaphobic committed
552 553 554
    src/AutoPilotPlugins/PX4/SafetyComponent.cc \
    src/AutoPilotPlugins/PX4/SensorsComponent.cc \
    src/AutoPilotPlugins/PX4/SensorsComponentController.cc \
Don Gagne's avatar
Don Gagne committed
555
    src/FirmwarePlugin/APM/APMFirmwarePlugin.cc \
556
    src/FirmwarePlugin/APM/ArduCopterFirmwarePlugin.cc \
557 558 559 560 561
    src/FirmwarePlugin/FirmwarePluginManager.cc \
    src/FirmwarePlugin/Generic/GenericFirmwarePlugin.cc \
    src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc \
    src/Vehicle/MultiVehicleManager.cc \
    src/Vehicle/Vehicle.cc \
dogmaphobic's avatar
dogmaphobic committed
562 563
    src/VehicleSetup/SetupView.cc \
    src/VehicleSetup/VehicleComponent.cc \
Don Gagne's avatar
Don Gagne committed
564

dogmaphobic's avatar
dogmaphobic committed
565
!MobileBuild {
566 567
SOURCES += \
    src/VehicleSetup/FirmwareUpgradeController.cc \
568 569 570 571
    src/VehicleSetup/Bootloader.cc \
    src/VehicleSetup/PX4FirmwareUpgradeThread.cc \
    src/VehicleSetup/FirmwareImage.cc \

572 573
}

Don Gagne's avatar
Don Gagne committed
574 575 576
# Fact System code

INCLUDEPATH += \
577 578
    src/FactSystem \
    src/FactSystem/FactControls \
Don Gagne's avatar
Don Gagne committed
579 580 581 582

HEADERS += \
    src/FactSystem/Fact.h \
    src/FactSystem/FactMetaData.h \
dogmaphobic's avatar
dogmaphobic committed
583
    src/FactSystem/FactSystem.h \
Don Gagne's avatar
Don Gagne committed
584
    src/FactSystem/FactValidator.h \
585
    src/FactSystem/ParameterLoader.h \
586
    src/FactSystem/FactControls/FactPanelController.h \
Don Gagne's avatar
Don Gagne committed
587 588 589 590

SOURCES += \
    src/FactSystem/Fact.cc \
    src/FactSystem/FactMetaData.cc \
dogmaphobic's avatar
dogmaphobic committed
591
    src/FactSystem/FactSystem.cc \
Don Gagne's avatar
Don Gagne committed
592
    src/FactSystem/FactValidator.cc \
593
    src/FactSystem/ParameterLoader.cc \
594
    src/FactSystem/FactControls/FactPanelController.cc \
dogmaphobic's avatar
dogmaphobic committed
595

596
#-------------------------------------------------------------------------------------
Gus Grubba's avatar
Gus Grubba committed
597
# Video Streaming
598 599 600 601 602 603 604

INCLUDEPATH += \
    src/VideoStreaming

HEADERS += \
    src/VideoStreaming/VideoItem.h \
    src/VideoStreaming/VideoReceiver.h \
605
    src/VideoStreaming/VideoStreaming.h \
606 607 608 609 610 611
    src/VideoStreaming/VideoSurface.h \
    src/VideoStreaming/VideoSurface_p.h \

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

Gus Grubba's avatar
Gus Grubba committed
615 616 617 618 619 620 621 622 623 624
contains (DEFINES, DISABLE_VIDEOSTREAMING) {
    message("Skipping support for video streaming (manual override from command line)")
    DEFINES -= DISABLE_VIDEOSTREAMING
# Otherwise the user can still disable this feature in the user_config.pri file.
} else:exists(user_config.pri):infile(user_config.pri, DEFINES, DISABLE_VIDEOSTREAMING) {
    message("Skipping support for video streaming (manual override from user_config.pri)")
} else {
    include(src/VideoStreaming/VideoStreaming.pri)
}

625
#-------------------------------------------------------------------------------------
dogmaphobic's avatar
dogmaphobic committed
626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647
# Android

AndroidBuild {
    include($$PWD/libs/qtandroidserialport/src/qtandroidserialport.pri)
    message("Adding Serial Java Classes")
    QT += androidextras
    ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
    OTHER_FILES += \
        $$PWD/android/AndroidManifest.xml \
        $$PWD/android/res/xml/device_filter.xml \
        $$PWD/android/src/com/hoho/android/usbserial/driver/CdcAcmSerialDriver.java \
        $$PWD/android/src/com/hoho/android/usbserial/driver/CommonUsbSerialDriver.java \
        $$PWD/android/src/com/hoho/android/usbserial/driver/Cp2102SerialDriver.java \
        $$PWD/android/src/com/hoho/android/usbserial/driver/FtdiSerialDriver.java \
        $$PWD/android/src/com/hoho/android/usbserial/driver/ProlificSerialDriver.java \
        $$PWD/android/src/com/hoho/android/usbserial/driver/UsbId.java \
        $$PWD/android/src/com/hoho/android/usbserial/driver/UsbSerialDriver.java \
        $$PWD/android/src/com/hoho/android/usbserial/driver/UsbSerialProber.java \
        $$PWD/android/src/com/hoho/android/usbserial/driver/UsbSerialRuntimeException.java \
        $$PWD/android/src/org/qgroundcontrol/qgchelper/UsbDeviceJNI.java \
        $$PWD/android/src/org/qgroundcontrol/qgchelper/UsbIoManager.java
}
648 649 650 651 652 653 654 655 656 657 658 659 660

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

include(QGCSetup.pri)

#
# Installer targets
#

include(QGCInstaller.pri)
Daniel Agar's avatar
Daniel Agar committed
661 662 663 664 665 666 667 668

DISTFILES += \
    android/gradle/wrapper/gradle-wrapper.jar \
    android/gradlew \
    android/res/values/libs.xml \
    android/build.gradle \
    android/gradle/wrapper/gradle-wrapper.properties \
    android/gradlew.bat