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

Don Gagne's avatar
Don Gagne committed
20
21
message(Qt version $$[QT_VERSION])

22
23
24
25
26
27
# 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)))
}

Don Gagne's avatar
Don Gagne committed
28
29
30
31
# Setup our supported build types. We do this once here and then use the defined config scopes
# to allow us to easily modify suported build types in one place instead of duplicated throughout
# the project file.

32
33
34
35
36
37
38
!equals(QT_MAJOR_VERSION, 5) | !greaterThan(QT_MINOR_VERSION, 1) {
    error("Unsupported Qt version, 5.2+ is required")
}

linux {
    linux-g++ | linux-g++-64 {
        message("Linux build")
39
        CONFIG += LinuxBuild link_pkgconfig
40
    } else {
41
        error("Unsuported Linux toolchain, only GCC 32- or 64-bit is supported")
42
43
44
45
46
47
    }
} else : win32 {
    win32-msvc2010 | win32-msvc2012 | win32-msvc2013 {
        message("Windows build")
        CONFIG += WindowsBuild
    } else {
48
        error("Unsupported Windows toolchain, only Visual Studio 2010, 2012, and 2013 are supported")
49
50
51
52
53
54
    }
} else : macx {
    macx-clang | macx-llvm {
        message("Mac build")
        CONFIG += MacBuild
    } else {
55
        error("Unsupported Mac toolchain, only 64-bit LLVM+clang is supported")
56
    }
Don Gagne's avatar
Don Gagne committed
57
} else {
58
    error("Unsupported build platform, only Linux, Windows, and Mac are supported")
Don Gagne's avatar
Don Gagne committed
59
60
}

61
62
63
64
65
66
67
68
69
# Installer configuration

installer {
    CONFIG -= debug
    CONFIG -= debug_and_release
    CONFIG += release
    message(Build Installer)
}

Don Gagne's avatar
Don Gagne committed
70
71
72
73
74
75
76
77
78
79
80
81
# Setup our supported build flavors

CONFIG(debug, debug|release) {
    message(Debug flavor)
    CONFIG += DebugBuild
} else:CONFIG(release, debug|release) {
    message(Release flavor)
    CONFIG += ReleaseBuild
} else {
    error(Unsupported build flavor)
}

82
83
84
85
86
# Need to special case Windows debug_and_release since VS Project creation in this case does strange things [QTBUG-40351]
win32:debug_and_release {
    CONFIG += WindowsDebugAndRelease
}

Don Gagne's avatar
Don Gagne committed
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
# Setup our build directories

BASEDIR = $${IN_PWD}
DebugBuild {
    DESTDIR = $${OUT_PWD}/debug
    BUILDDIR = $${OUT_PWD}/build-debug
}
ReleaseBuild {
    DESTDIR = $${OUT_PWD}/release
    BUILDDIR = $${OUT_PWD}/build-release
}
OBJECTS_DIR = $${BUILDDIR}/obj
MOC_DIR = $${BUILDDIR}/moc
UI_DIR = $${BUILDDIR}/ui
RCC_DIR = $${BUILDDIR}/rcc
LANGUAGE = C++

message(BASEDIR $$BASEDIR DESTDIR $$DESTDIR TARGET $$TARGET)
Lorenz Meier's avatar
Lorenz Meier committed
105
106
107

# Qt configuration
CONFIG += qt \
Don Gagne's avatar
Don Gagne committed
108
    thread
Bill Bonney's avatar
Bill Bonney committed
109

Lorenz Meier's avatar
Lorenz Meier committed
110
111
112
113
QT += network \
    opengl \
    svg \
    xml \
114
115
116
    concurrent \
    widgets \
    gui \
117
    serialport \
118
    sql \
119
    printsupport \
Don Gagne's avatar
Don Gagne committed
120
121
    quick \
    quickwidgets
122
123
124
125

contains(DEFINES, QGC_NOTIFY_TUNES_ENABLED) {
    QT += multimedia
}
126

Don Gagne's avatar
Don Gagne committed
127
128
129
130
131
!contains(DEFINES, DISABLE_GOOGLE_EARTH) {
    QT += webkit webkitwidgets
}


132
133
#  testlib is needed even in release flavor for QSignalSpy support
QT += testlib
Don Gagne's avatar
Don Gagne committed
134

Don Gagne's avatar
Don Gagne committed
135
136
# Turn off serial port warnings
DEFINES += _TTY_NOWARN_
137

Don Gagne's avatar
Don Gagne committed
138
139
140
#
# OS Specific settings
#
141

Don Gagne's avatar
Don Gagne committed
142
143
144
145
MacBuild {
    QMAKE_INFO_PLIST = Custom-Info.plist
    CONFIG += x86_64
    CONFIG -= x86
146
    QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
Don Gagne's avatar
Don Gagne committed
147
    QMAKE_MAC_SDK = macosx10.9
148
149
    ICON = $$BASEDIR/files/images/icons/macx.icns
    QT += quickwidgets
Don Gagne's avatar
Don Gagne committed
150
}
151

Don Gagne's avatar
Don Gagne committed
152
153
LinuxBuild {
	DEFINES += __STDC_LIMIT_MACROS
154
    CONFIG += qesp_linux_udev
Don Gagne's avatar
Don Gagne committed
155
156
157
158
}

WindowsBuild {
	DEFINES += __STDC_LIMIT_MACROS
Lorenz Meier's avatar
Lorenz Meier committed
159

Don Gagne's avatar
Don Gagne committed
160
161
162
163
	# Specify multi-process compilation within Visual Studio.
	# (drastically improves compilation times for multi-core computers)
	QMAKE_CXXFLAGS_DEBUG += -MP
	QMAKE_CXXFLAGS_RELEASE += -MP
Lorenz Meier's avatar
Lorenz Meier committed
164

Don Gagne's avatar
Don Gagne committed
165
166
	RC_FILE = $$BASEDIR/qgroundcontrol.rc
}
Lorenz Meier's avatar
Lorenz Meier committed
167

Don Gagne's avatar
Don Gagne committed
168
#
169
170
171
172
# By default warnings as errors are turned off. Even so, in order for a pull request
# to be accepted you must compile cleanly with warnings as errors turned on the default
# set of OS builds. See http://www.qgroundcontrol.org/dev/contribute for more details.
# You can use the WarningsAsErrorsOn CONFIG switch to turn warnings as errors on for your
173
# own builds.
Don Gagne's avatar
Don Gagne committed
174
175
176
#

MacBuild | LinuxBuild {
Don Gagne's avatar
Don Gagne committed
177
	QMAKE_CXXFLAGS_WARN_ON += -Wall
178
    WarningsAsErrorsOn {
Don Gagne's avatar
Don Gagne committed
179
180
        QMAKE_CXXFLAGS_WARN_ON += -Werror
    }
181
182
}

Don Gagne's avatar
Don Gagne committed
183
WindowsBuild {
184
185
	QMAKE_CXXFLAGS_WARN_ON += /W3 \
        /wd4996 \   # silence warnings about deprecated strcpy and whatnot
186
        /wd4005 \   # silence warnings about macro redefinition
187
        /wd4290     # ignore exception specifications
188
189
190
    WarningsAsErrorsOn {
        QMAKE_CXXFLAGS_WARN_ON += /WX
    }
Don Gagne's avatar
Don Gagne committed
191
192
}

Don Gagne's avatar
Don Gagne committed
193
#
Bryant's avatar
Bryant committed
194
# Build-specific settings
Don Gagne's avatar
Don Gagne committed
195
#
Lorenz Meier's avatar
Lorenz Meier committed
196

Don Gagne's avatar
Don Gagne committed
197
198
DebugBuild {
    CONFIG += console
Lorenz Meier's avatar
Lorenz Meier committed
199
200
}

Don Gagne's avatar
Don Gagne committed
201
202
ReleaseBuild {
    DEFINES += QT_NO_DEBUG
Lorenz Meier's avatar
Lorenz Meier committed
203

Don Gagne's avatar
Don Gagne committed
204
	WindowsBuild {
Bryant's avatar
Bryant committed
205
		# Use link time code generation for better optimization (I believe this is supported in MSVC Express, but not 100% sure)
Don Gagne's avatar
Don Gagne committed
206
207
208
209
		QMAKE_LFLAGS_LTCG = /LTCG
		QMAKE_CFLAGS_LTCG = -GL
    }
}
Lorenz Meier's avatar
Lorenz Meier committed
210

211
212
# qextserialport should not be used by general QGroundControl code. Use QSerialPort instead. This is only
# here to support special case Firmware Upgrade code.
213
214
include(libs/qextserialport/src/qextserialport.pri)

Don Gagne's avatar
Don Gagne committed
215
216
217
#
# External library configuration
#
218

Don Gagne's avatar
Don Gagne committed
219
include(QGCExternalLibs.pri)
220

Don Gagne's avatar
Don Gagne committed
221
222
223
#
# Post link configuration
#
224

Don Gagne's avatar
Don Gagne committed
225
include(QGCSetup.pri)
226

Don Gagne's avatar
Don Gagne committed
227
228
229
230
231
232
#
# Installer targets
#

include(QGCInstaller.pri)

Don Gagne's avatar
Don Gagne committed
233
234
235
#
# Main QGroundControl portion of project file
#
236

Don Gagne's avatar
Don Gagne committed
237
RESOURCES += qgroundcontrol.qrc
Bill Bonney's avatar
Bill Bonney committed
238

Don Gagne's avatar
Don Gagne committed
239
240
241
TRANSLATIONS += \
    es-MX.ts \
    en-US.ts
242

Don Gagne's avatar
Don Gagne committed
243
244
DEPENDPATH += \
    . \
Bill Bonney's avatar
Bill Bonney committed
245
246
247
    plugins

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

Don Gagne's avatar
Don Gagne committed
249
250
251
252
253
254
255
256
INCLUDEPATH += \
    src \
    src/ui \
    src/ui/linechart \
    src/ui/uas \
    src/ui/map \
    src/uas \
    src/comm \
257
    src/audio \
Don Gagne's avatar
Don Gagne committed
258
259
260
261
262
263
264
265
266
    include/ui \
    src/input \
    src/lib/qmapcontrol \
    src/ui/mavlink \
    src/ui/param \
    src/ui/map3D \
    src/ui/mission \
    src/ui/designer \
    src/ui/configuration \
267
    src/ui/px4_configuration \
268
269
270
    src/ui/main \
    src/VehicleSetup \
    src/AutoPilotPlugins
Lorenz Meier's avatar
Lorenz Meier committed
271

Don Gagne's avatar
Don Gagne committed
272
273
FORMS += \
    src/ui/MainWindow.ui \
Lorenz Meier's avatar
Lorenz Meier committed
274
275
276
277
278
279
280
281
    src/ui/CommSettings.ui \
    src/ui/SerialSettings.ui \
    src/ui/UASControl.ui \
    src/ui/UASList.ui \
    src/ui/UASInfo.ui \
    src/ui/Linechart.ui \
    src/ui/UASView.ui \
    src/ui/ParameterInterface.ui \
282
    src/ui/WaypointList.ui \
Lorenz Meier's avatar
Lorenz Meier committed
283
284
285
286
287
288
289
290
291
292
293
294
295
296
    src/ui/JoystickWidget.ui \
    src/ui/DebugConsole.ui \
    src/ui/HDDisplay.ui \
    src/ui/MAVLinkSettingsWidget.ui \
    src/ui/AudioOutputWidget.ui \
    src/ui/QGCSensorSettingsWidget.ui \
    src/ui/QGCDataPlot2D.ui \
    src/ui/QMap3D.ui \
    src/ui/map3D/QGCGoogleEarthView.ui \
    src/ui/uas/QGCUnconnectedInfoWidget.ui \
    src/ui/designer/QGCToolWidget.ui \
    src/ui/designer/QGCParamSlider.ui \
    src/ui/designer/QGCActionButton.ui \
    src/ui/designer/QGCCommandButton.ui \
Don Gagne's avatar
Don Gagne committed
297
    src/ui/designer/QGCToolWidgetComboBox.ui \
Don Gagne's avatar
Don Gagne committed
298
299
    src/ui/designer/QGCTextLabel.ui \
    src/ui/designer/QGCXYPlot.ui \
Lorenz Meier's avatar
Lorenz Meier committed
300
301
    src/ui/QGCMAVLinkLogPlayer.ui \
    src/ui/QGCWaypointListMulti.ui \
302
    src/ui/QGCUASFileViewMulti.ui \
Lorenz Meier's avatar
Lorenz Meier committed
303
    src/ui/QGCUDPLinkConfiguration.ui \
Don Gagne's avatar
Don Gagne committed
304
    src/ui/QGCTCPLinkConfiguration.ui \
Don Gagne's avatar
Don Gagne committed
305
    src/ui/SettingsDialog.ui \
Lorenz Meier's avatar
Lorenz Meier committed
306
307
308
    src/ui/map/QGCMapTool.ui \
    src/ui/map/QGCMapToolBar.ui \
    src/ui/QGCMAVLinkInspector.ui \
309
310
    src/ui/WaypointViewOnlyView.ui \
    src/ui/WaypointEditableView.ui \
Lorenz Meier's avatar
Lorenz Meier committed
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
    src/ui/mavlink/QGCMAVLinkMessageSender.ui \
    src/ui/QGCPluginHost.ui \
    src/ui/mission/QGCMissionOther.ui \
    src/ui/mission/QGCMissionNavWaypoint.ui \
    src/ui/mission/QGCMissionDoJump.ui \
    src/ui/mission/QGCMissionConditionDelay.ui \
    src/ui/mission/QGCMissionNavLoiterUnlim.ui \
    src/ui/mission/QGCMissionNavLoiterTurns.ui \
    src/ui/mission/QGCMissionNavLoiterTime.ui \
    src/ui/mission/QGCMissionNavReturnToLaunch.ui \
    src/ui/mission/QGCMissionNavLand.ui \
    src/ui/mission/QGCMissionNavTakeoff.ui \
    src/ui/mission/QGCMissionNavSweep.ui \
    src/ui/mission/QGCMissionDoStartSearch.ui \
    src/ui/mission/QGCMissionDoFinishSearch.ui \
    src/ui/QGCHilConfiguration.ui \
    src/ui/QGCHilFlightGearConfiguration.ui \
    src/ui/QGCHilJSBSimConfiguration.ui \
329
    src/ui/QGCHilXPlaneConfiguration.ui \
330
    src/ui/uas/UASQuickView.ui \
331
    src/ui/uas/UASQuickViewItemSelect.ui \
332
    src/ui/QGCTabbedInfoView.ui \
333
    src/ui/UASRawStatusView.ui \
334
335
    src/ui/uas/QGCMessageView.ui \
    src/ui/JoystickButton.ui \
336
    src/ui/JoystickAxis.ui \
337
    src/ui/configuration/terminalconsole.ui \
338
    src/ui/configuration/SerialSettingsDialog.ui \
339
    src/ui/px4_configuration/QGCPX4AirframeConfig.ui \
Lorenz Meier's avatar
Lorenz Meier committed
340
    src/ui/px4_configuration/QGCPX4MulticopterConfig.ui \
John Tapsell's avatar
John Tapsell committed
341
    src/ui/px4_configuration/QGCPX4SensorCalibration.ui \
342
    src/ui/px4_configuration/PX4RCCalibration.ui \
343
    src/ui/px4_configuration/PX4FirmwareUpgrade.ui \
Don Gagne's avatar
Don Gagne committed
344
345
    src/ui/QGCUASFileView.ui \
    src/QGCQmlWidgetHolder.ui \
Don Gagne's avatar
Don Gagne committed
346
    src/ui/QGCMapRCToParamDialog.ui \
347

Don Gagne's avatar
Don Gagne committed
348
349
HEADERS += \
    src/MG.h \
Don Gagne's avatar
Don Gagne committed
350
    src/QGCApplication.h \
Don Gagne's avatar
Don Gagne committed
351
    src/QGCSingleton.h \
Lorenz Meier's avatar
Lorenz Meier committed
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
    src/uas/UASInterface.h \
    src/uas/UAS.h \
    src/uas/UASManager.h \
    src/comm/LinkManager.h \
    src/comm/LinkInterface.h \
    src/comm/SerialLinkInterface.h \
    src/comm/SerialLink.h \
    src/comm/ProtocolInterface.h \
    src/comm/MAVLinkProtocol.h \
    src/comm/QGCFlightGearLink.h \
    src/comm/QGCJSBSimLink.h \
    src/comm/QGCXPlaneLink.h \
    src/ui/CommConfigurationWindow.h \
    src/ui/SerialConfigurationWindow.h \
    src/ui/MainWindow.h \
    src/ui/uas/UASControlWidget.h \
    src/ui/uas/UASListWidget.h \
    src/ui/uas/UASInfoWidget.h \
    src/ui/HUD.h \
    src/ui/linechart/LinechartWidget.h \
    src/ui/linechart/LinechartPlot.h \
    src/ui/linechart/Scrollbar.h \
    src/ui/linechart/ScrollZoomer.h \
375
    src/QGCConfig.h \
Lorenz Meier's avatar
Lorenz Meier committed
376
377
378
379
    src/ui/uas/UASView.h \
    src/ui/CameraView.h \
    src/comm/MAVLinkSimulationLink.h \
    src/comm/UDPLink.h \
Don Gagne's avatar
Don Gagne committed
380
    src/comm/TCPLink.h \
Lorenz Meier's avatar
Lorenz Meier committed
381
382
    src/ui/ParameterInterface.h \
    src/ui/WaypointList.h \
383
    src/Waypoint.h \
Lorenz Meier's avatar
Lorenz Meier committed
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
    src/input/JoystickInput.h \
    src/ui/JoystickWidget.h \
    src/ui/DebugConsole.h \
    src/ui/HDDisplay.h \
    src/ui/MAVLinkSettingsWidget.h \
    src/ui/AudioOutputWidget.h \
    src/GAudioOutput.h \
    src/LogCompressor.h \
    src/ui/QGCParamWidget.h \
    src/ui/QGCSensorSettingsWidget.h \
    src/ui/linechart/Linecharts.h \
    src/uas/UASWaypointManager.h \
    src/ui/HSIDisplay.h \
    src/QGC.h \
    src/ui/QGCDataPlot2D.h \
    src/ui/linechart/IncrementalPlot.h \
    src/comm/QGCMAVLink.h \
    src/ui/QGCMainWindowAPConfigurator.h \
    src/comm/MAVLinkSwarmSimulationLink.h \
    src/ui/uas/QGCUnconnectedInfoWidget.h \
    src/ui/designer/QGCToolWidget.h \
    src/ui/designer/QGCParamSlider.h \
    src/ui/designer/QGCCommandButton.h \
    src/ui/designer/QGCToolWidgetItem.h \
Don Gagne's avatar
Don Gagne committed
408
    src/ui/designer/QGCToolWidgetComboBox.h \
Don Gagne's avatar
Don Gagne committed
409
410
411
412
    src/ui/designer/QGCTextLabel.h \
    src/ui/designer/QGCRadioChannelDisplay.h \
    src/ui/designer/QGCXYPlot.h \
    src/ui/designer/RCChannelWidget.h \
Lorenz Meier's avatar
Lorenz Meier committed
413
414
415
416
417
    src/ui/QGCMAVLinkLogPlayer.h \
    src/comm/MAVLinkSimulationWaypointPlanner.h \
    src/comm/MAVLinkSimulationMAV.h \
    src/uas/QGCMAVLinkUASFactory.h \
    src/ui/QGCWaypointListMulti.h \
418
    src/ui/QGCUASFileViewMulti.h \
Lorenz Meier's avatar
Lorenz Meier committed
419
    src/ui/QGCUDPLinkConfiguration.h \
Don Gagne's avatar
Don Gagne committed
420
    src/ui/QGCTCPLinkConfiguration.h \
Don Gagne's avatar
Don Gagne committed
421
    src/ui/SettingsDialog.h \
Lorenz Meier's avatar
Lorenz Meier committed
422
423
424
425
426
427
428
429
430
431
432
    src/uas/QGCUASParamManager.h \
    src/ui/map/QGCMapWidget.h \
    src/ui/map/MAV2DIcon.h \
    src/ui/map/Waypoint2DIcon.h \
    src/ui/map/QGCMapTool.h \
    src/ui/map/QGCMapToolBar.h \
    src/QGCGeo.h \
    src/ui/QGCToolBar.h \
    src/ui/QGCMAVLinkInspector.h \
    src/ui/MAVLinkDecoder.h \
    src/ui/WaypointViewOnlyView.h \
Lorenz Meier's avatar
Lorenz Meier committed
433
    src/ui/WaypointEditableView.h \
Lorenz Meier's avatar
Lorenz Meier committed
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
    src/ui/QGCRGBDView.h \
    src/ui/mavlink/QGCMAVLinkMessageSender.h \
    src/ui/QGCPluginHost.h \
    src/ui/mission/QGCMissionOther.h \
    src/ui/mission/QGCMissionNavWaypoint.h \
    src/ui/mission/QGCMissionDoJump.h \
    src/ui/mission/QGCMissionConditionDelay.h \
    src/ui/mission/QGCMissionNavLoiterUnlim.h \
    src/ui/mission/QGCMissionNavLoiterTurns.h \
    src/ui/mission/QGCMissionNavLoiterTime.h \
    src/ui/mission/QGCMissionNavReturnToLaunch.h \
    src/ui/mission/QGCMissionNavLand.h \
    src/ui/mission/QGCMissionNavTakeoff.h \
    src/ui/mission/QGCMissionNavSweep.h \
    src/ui/mission/QGCMissionDoStartSearch.h \
    src/ui/mission/QGCMissionDoFinishSearch.h \
    src/comm/QGCHilLink.h \
    src/ui/QGCHilConfiguration.h \
    src/ui/QGCHilFlightGearConfiguration.h \
    src/ui/QGCHilJSBSimConfiguration.h \
454
    src/ui/QGCHilXPlaneConfiguration.h \
455
    src/ui/uas/UASQuickView.h \
456
    src/ui/uas/UASQuickViewItem.h \
457
    src/ui/linechart/ChartPlot.h \
458
    src/ui/uas/UASQuickViewItemSelect.h \
459
    src/ui/uas/UASQuickViewTextItem.h \
460
    src/ui/uas/UASQuickViewGaugeItem.h \
461
    src/ui/QGCTabbedInfoView.h \
462
    src/ui/UASRawStatusView.h \
463
    src/ui/PrimaryFlightDisplay.h \
464
465
    src/ui/uas/QGCMessageView.h \
    src/ui/JoystickButton.h \
466
    src/ui/JoystickAxis.h \
467
468
469
    src/ui/configuration/console.h \
    src/ui/configuration/SerialSettingsDialog.h \
    src/ui/configuration/terminalconsole.h \
470
    src/ui/configuration/ApmHighlighter.h \
471
    src/uas/UASParameterDataModel.h \
472
    src/uas/UASParameterCommsMgr.h \
Lorenz Meier's avatar
Lorenz Meier committed
473
    src/ui/QGCPendingParamWidget.h \
474
    src/ui/px4_configuration/QGCPX4AirframeConfig.h \
Anton Babushkin's avatar
Anton Babushkin committed
475
    src/ui/QGCBaseParamWidget.h \
Lorenz Meier's avatar
Lorenz Meier committed
476
    src/ui/px4_configuration/QGCPX4MulticopterConfig.h \
477
    src/ui/px4_configuration/QGCPX4SensorCalibration.h \
478
    src/ui/px4_configuration/PX4RCCalibration.h \
Don Gagne's avatar
Don Gagne committed
479
    src/ui/px4_configuration/RCValueWidget.h \
480
481
482
    src/ui/px4_configuration/PX4Bootloader.h \
    src/ui/px4_configuration/PX4FirmwareUpgradeThread.h \
    src/ui/px4_configuration/PX4FirmwareUpgrade.h \
483
    src/uas/UASManagerInterface.h \
484
    src/uas/QGCUASParamManagerInterface.h \
485
    src/uas/QGCUASFileManager.h \
none's avatar
none committed
486
    src/ui/QGCUASFileView.h \
487
    src/CmdLineOptParser.h \
Don Gagne's avatar
Don Gagne committed
488
    src/uas/QGXPX4UAS.h \
Don Gagne's avatar
Don Gagne committed
489
    src/QGCFileDialog.h \
Don Gagne's avatar
Don Gagne committed
490
    src/QGCMessageBox.h \
Don Gagne's avatar
Don Gagne committed
491
    src/QGCComboBox.h \
492
    src/QGCTemporaryFile.h \
Lorenz Meier's avatar
Lorenz Meier committed
493
    src/audio/QGCAudioWorker.h \
494
495
    src/QGCQuickWidget.h \
    src/QGCPalette.h \
Don Gagne's avatar
Don Gagne committed
496
    src/QGCQmlWidgetHolder.h \
497
    src/ui/QGCParamTreeWidget.h \
498
499
    src/ui/QGCMapRCToParamDialog.h \
    src/QGCDockWidget.h \
Lorenz Meier's avatar
Lorenz Meier committed
500

Don Gagne's avatar
Don Gagne committed
501
SOURCES += \
Don Gagne's avatar
Don Gagne committed
502
    src/main.cc \
Don Gagne's avatar
Don Gagne committed
503
    src/QGCApplication.cc \
Don Gagne's avatar
Don Gagne committed
504
    src/QGCSingleton.cc \
Lorenz Meier's avatar
Lorenz Meier committed
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
    src/uas/UASManager.cc \
    src/uas/UAS.cc \
    src/comm/LinkManager.cc \
    src/comm/SerialLink.cc \
    src/comm/MAVLinkProtocol.cc \
    src/comm/QGCFlightGearLink.cc \
    src/comm/QGCJSBSimLink.cc \
    src/comm/QGCXPlaneLink.cc \
    src/ui/CommConfigurationWindow.cc \
    src/ui/SerialConfigurationWindow.cc \
    src/ui/MainWindow.cc \
    src/ui/uas/UASControlWidget.cc \
    src/ui/uas/UASListWidget.cc \
    src/ui/uas/UASInfoWidget.cc \
    src/ui/HUD.cc \
    src/ui/linechart/LinechartWidget.cc \
    src/ui/linechart/LinechartPlot.cc \
    src/ui/linechart/Scrollbar.cc \
    src/ui/linechart/ScrollZoomer.cc \
    src/ui/uas/UASView.cc \
    src/ui/CameraView.cc \
    src/comm/MAVLinkSimulationLink.cc \
    src/comm/UDPLink.cc \
Don Gagne's avatar
Don Gagne committed
528
    src/comm/TCPLink.cc \
Lorenz Meier's avatar
Lorenz Meier committed
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
    src/ui/ParameterInterface.cc \
    src/ui/WaypointList.cc \
    src/Waypoint.cc \
    src/input/JoystickInput.cc \
    src/ui/JoystickWidget.cc \
    src/ui/DebugConsole.cc \
    src/ui/HDDisplay.cc \
    src/ui/MAVLinkSettingsWidget.cc \
    src/ui/AudioOutputWidget.cc \
    src/GAudioOutput.cc \
    src/LogCompressor.cc \
    src/ui/QGCParamWidget.cc \
    src/ui/QGCSensorSettingsWidget.cc \
    src/ui/linechart/Linecharts.cc \
    src/uas/UASWaypointManager.cc \
    src/ui/HSIDisplay.cc \
    src/QGC.cc \
    src/ui/QGCDataPlot2D.cc \
    src/ui/linechart/IncrementalPlot.cc \
    src/ui/QGCMainWindowAPConfigurator.cc \
    src/comm/MAVLinkSwarmSimulationLink.cc \
    src/ui/uas/QGCUnconnectedInfoWidget.cc \
    src/ui/designer/QGCToolWidget.cc \
    src/ui/designer/QGCParamSlider.cc \
    src/ui/designer/QGCCommandButton.cc \
    src/ui/designer/QGCToolWidgetItem.cc \
Don Gagne's avatar
Don Gagne committed
555
    src/ui/designer/QGCToolWidgetComboBox.cc \
Don Gagne's avatar
Don Gagne committed
556
557
558
559
    src/ui/designer/QGCTextLabel.cc \
    src/ui/designer/QGCRadioChannelDisplay.cpp \
    src/ui/designer/QGCXYPlot.cc \
    src/ui/designer/RCChannelWidget.cc \
Lorenz Meier's avatar
Lorenz Meier committed
560
561
562
563
564
    src/ui/QGCMAVLinkLogPlayer.cc \
    src/comm/MAVLinkSimulationWaypointPlanner.cc \
    src/comm/MAVLinkSimulationMAV.cc \
    src/uas/QGCMAVLinkUASFactory.cc \
    src/ui/QGCWaypointListMulti.cc \
565
    src/ui/QGCUASFileViewMulti.cc \
Lorenz Meier's avatar
Lorenz Meier committed
566
    src/ui/QGCUDPLinkConfiguration.cc \
Don Gagne's avatar
Don Gagne committed
567
    src/ui/QGCTCPLinkConfiguration.cc \
Don Gagne's avatar
Don Gagne committed
568
    src/ui/SettingsDialog.cc \
Lorenz Meier's avatar
Lorenz Meier committed
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
    src/uas/QGCUASParamManager.cc \
    src/ui/map/QGCMapWidget.cc \
    src/ui/map/MAV2DIcon.cc \
    src/ui/map/Waypoint2DIcon.cc \
    src/ui/map/QGCMapTool.cc \
    src/ui/map/QGCMapToolBar.cc \
    src/ui/QGCToolBar.cc \
    src/ui/QGCMAVLinkInspector.cc \
    src/ui/MAVLinkDecoder.cc \
    src/ui/WaypointViewOnlyView.cc \
    src/ui/WaypointEditableView.cc \
    src/ui/QGCRGBDView.cc \
    src/ui/mavlink/QGCMAVLinkMessageSender.cc \
    src/ui/QGCPluginHost.cc \
    src/ui/mission/QGCMissionOther.cc \
    src/ui/mission/QGCMissionNavWaypoint.cc \
    src/ui/mission/QGCMissionDoJump.cc \
    src/ui/mission/QGCMissionConditionDelay.cc \
    src/ui/mission/QGCMissionNavLoiterUnlim.cc \
    src/ui/mission/QGCMissionNavLoiterTurns.cc \
    src/ui/mission/QGCMissionNavLoiterTime.cc \
    src/ui/mission/QGCMissionNavReturnToLaunch.cc \
    src/ui/mission/QGCMissionNavLand.cc \
    src/ui/mission/QGCMissionNavTakeoff.cc \
    src/ui/mission/QGCMissionNavSweep.cc \
    src/ui/mission/QGCMissionDoStartSearch.cc \
    src/ui/mission/QGCMissionDoFinishSearch.cc \
    src/ui/QGCHilConfiguration.cc \
    src/ui/QGCHilFlightGearConfiguration.cc \
    src/ui/QGCHilJSBSimConfiguration.cc \
599
    src/ui/QGCHilXPlaneConfiguration.cc \
600
    src/ui/uas/UASQuickViewItem.cc \
601
    src/ui/uas/UASQuickView.cc \
602
    src/ui/linechart/ChartPlot.cc \
603
    src/ui/uas/UASQuickViewTextItem.cc \
604
    src/ui/uas/UASQuickViewGaugeItem.cc \
605
    src/ui/uas/UASQuickViewItemSelect.cc \
606
    src/ui/QGCTabbedInfoView.cpp \
607
    src/ui/UASRawStatusView.cpp \
608
    src/ui/PrimaryFlightDisplay.cc \
609
    src/ui/JoystickButton.cc \
610
    src/ui/JoystickAxis.cc \
611
    src/ui/uas/QGCMessageView.cc \
612
613
614
    src/ui/configuration/terminalconsole.cpp \
    src/ui/configuration/console.cpp \
    src/ui/configuration/SerialSettingsDialog.cc \
615
    src/ui/configuration/ApmHighlighter.cc \
616
    src/uas/UASParameterDataModel.cc \
617
    src/uas/UASParameterCommsMgr.cc \
Lorenz Meier's avatar
Lorenz Meier committed
618
    src/ui/QGCPendingParamWidget.cc \
619
    src/ui/px4_configuration/QGCPX4AirframeConfig.cc \
620
    src/ui/QGCBaseParamWidget.cc \
Lorenz Meier's avatar
Lorenz Meier committed
621
    src/ui/px4_configuration/QGCPX4MulticopterConfig.cc \
622
    src/ui/px4_configuration/QGCPX4SensorCalibration.cc \
623
    src/ui/px4_configuration/PX4RCCalibration.cc \
Don Gagne's avatar
Don Gagne committed
624
    src/ui/px4_configuration/RCValueWidget.cc \
625
626
627
    src/ui/px4_configuration/PX4Bootloader.cc \
    src/ui/px4_configuration/PX4FirmwareUpgradeThread.cc \
    src/ui/px4_configuration/PX4FirmwareUpgrade.cc \
628
    src/uas/QGCUASFileManager.cc \
none's avatar
none committed
629
    src/ui/QGCUASFileView.cc \
630
    src/CmdLineOptParser.cc \
Don Gagne's avatar
Don Gagne committed
631
    src/uas/QGXPX4UAS.cc \
Don Gagne's avatar
Don Gagne committed
632
    src/QGCFileDialog.cc \
Don Gagne's avatar
Don Gagne committed
633
    src/QGCComboBox.cc \
634
    src/QGCTemporaryFile.cc \
Lorenz Meier's avatar
Lorenz Meier committed
635
    src/audio/QGCAudioWorker.cpp \
Don Gagne's avatar
Don Gagne committed
636
    src/QGCQuickWidget.cc \
637
    src/QGCPalette.cc \
Don Gagne's avatar
Don Gagne committed
638
    src/QGCQmlWidgetHolder.cpp \
639
    src/ui/QGCParamTreeWidget.cpp \
640
641
    src/ui/QGCMapRCToParamDialog.cpp \
    src/QGCDockWidget.cc \
642
643
644

#
# Unit Test specific configuration goes here
645
646
#
# We have to special case Windows debug_and_release builds because you can't have files
647
648
# 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
649
650
651
652
653
# qmake with CONFIG-=debug_and_release CONFIG+=release.
#

DebugBuild|WindowsDebugAndRelease {

Don Gagne's avatar
Don Gagne committed
654
655
DEFINES += UNITTEST_BUILD

656
657
658
659
INCLUDEPATH += \
	src/qgcunittest

HEADERS += \
Don Gagne's avatar
Don Gagne committed
660
661
    src/qgcunittest/UnitTest.h \
    src/qgcunittest/MessageBoxTest.h \
Don Gagne's avatar
Don Gagne committed
662
    src/qgcunittest/FileDialogTest.h \
Don Gagne's avatar
Don Gagne committed
663
664
    src/qgcunittest/MockLink.h \
    src/qgcunittest/MockLinkMissionItemHandler.h \
665
666
667
668
669
670
671
672
	src/qgcunittest/MockUASManager.h \
	src/qgcunittest/MockUAS.h \
	src/qgcunittest/MockQGCUASParamManager.h \
	src/qgcunittest/MockMavlinkInterface.h \
	src/qgcunittest/MockMavlinkFileServer.h \
	src/qgcunittest/MultiSignalSpy.h \
	src/qgcunittest/FlightGearTest.h \
	src/qgcunittest/TCPLinkTest.h \
Don Gagne's avatar
Don Gagne committed
673
	src/qgcunittest/TCPLoopBackServer.h \
674
	src/qgcunittest/QGCUASFileManagerTest.h \
Don Gagne's avatar
Don Gagne committed
675
    src/qgcunittest/PX4RCCalibrationTest.h \
Don Gagne's avatar
Don Gagne committed
676
    src/qgcunittest/LinkManagerTest.h \
Don Gagne's avatar
Don Gagne committed
677
    src/qgcunittest/MainWindowTest.h \
678
    src/AutoPilotPlugins/PX4/Tests/FlightModeConfigTest.h \
Don Gagne's avatar
Don Gagne committed
679
    src/qgcunittest/MavlinkLogTest.h \
680
681
    src/FactSystem/FactSystemTestBase.h \
    src/FactSystem/FactSystemTestPX4.h \
Don Gagne's avatar
Don Gagne committed
682
683
    src/FactSystem/FactSystemTestGeneric.h \
    src/QmlControls/QmlTestWidget.h \
684
685

SOURCES += \
Don Gagne's avatar
Don Gagne committed
686
687
    src/qgcunittest/UnitTest.cc \
    src/qgcunittest/MessageBoxTest.cc \
Don Gagne's avatar
Don Gagne committed
688
    src/qgcunittest/FileDialogTest.cc \
Don Gagne's avatar
Don Gagne committed
689
690
    src/qgcunittest/MockLink.cc \
    src/qgcunittest/MockLinkMissionItemHandler.cc \
691
692
693
694
695
696
697
	src/qgcunittest/MockUASManager.cc \
	src/qgcunittest/MockUAS.cc \
	src/qgcunittest/MockQGCUASParamManager.cc \
	src/qgcunittest/MockMavlinkFileServer.cc \
	src/qgcunittest/MultiSignalSpy.cc \
	src/qgcunittest/FlightGearTest.cc \
	src/qgcunittest/TCPLinkTest.cc \
Don Gagne's avatar
Don Gagne committed
698
	src/qgcunittest/TCPLoopBackServer.cc \
699
	src/qgcunittest/QGCUASFileManagerTest.cc \
Don Gagne's avatar
Don Gagne committed
700
    src/qgcunittest/PX4RCCalibrationTest.cc \
Don Gagne's avatar
Don Gagne committed
701
    src/qgcunittest/LinkManagerTest.cc \
Don Gagne's avatar
Don Gagne committed
702
    src/qgcunittest/MainWindowTest.cc \
703
    src/AutoPilotPlugins/PX4/Tests/FlightModeConfigTest.cc \
Don Gagne's avatar
Don Gagne committed
704
    src/qgcunittest/MavlinkLogTest.cc \
705
706
    src/FactSystem/FactSystemTestBase.cc \
    src/FactSystem/FactSystemTestPX4.cc \
Don Gagne's avatar
Don Gagne committed
707
708
709
    src/FactSystem/FactSystemTestGeneric.cc \
    src/QmlControls/QmlTestWidget.cc \

710
}
711
712
713
714
715
716

#
# AutoPilot Plugin Support
#
FORMS += \
    src/VehicleSetup/ParameterEditor.ui \
Don Gagne's avatar
Don Gagne committed
717
    src/ui/QGCPX4VehicleConfig.ui \
Don Gagne's avatar
Don Gagne committed
718
    src/AutoPilotPlugins/PX4/FlightModeConfig.ui \
Don Gagne's avatar
Don Gagne committed
719
    src/VehicleSetup/SetupView.ui \
720
721
722
723
724

HEADERS+= \
    src/VehicleSetup/SetupView.h \
    src/VehicleSetup/ParameterEditor.h \
    src/VehicleSetup/VehicleComponent.h \
Don Gagne's avatar
Commit    
Don Gagne committed
725
    src/AutoPilotPlugins/AutoPilotPluginManager.h \
726
727
    src/AutoPilotPlugins/AutoPilotPlugin.h \
    src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.h \
728
    src/AutoPilotPlugins/Generic/GenericParameterFacts.h \
729
730
731
732
    src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.h \
    src/AutoPilotPlugins/PX4/PX4Component.h \
    src/AutoPilotPlugins/PX4/RadioComponent.h \
    src/AutoPilotPlugins/PX4/FlightModesComponent.h \
Don Gagne's avatar
Don Gagne committed
733
    src/AutoPilotPlugins/PX4/FlightModeConfig.h \
734
    src/AutoPilotPlugins/PX4/AirframeComponent.h \
Don Gagne's avatar
Don Gagne committed
735
    src/AutoPilotPlugins/PX4/SensorsComponent.h \
Don Gagne's avatar
Don Gagne committed
736
    src/AutoPilotPlugins/PX4/SafetyComponent.h \
Don Gagne's avatar
Don Gagne committed
737
    src/AutoPilotPlugins/PX4/PX4ParameterFacts.h \
738
739
740
741
742

SOURCES += \
    src/VehicleSetup/SetupView.cc \
    src/VehicleSetup/ParameterEditor.cc \
    src/VehicleSetup/VehicleComponent.cc \
Don Gagne's avatar
Commit    
Don Gagne committed
743
    src/AutoPilotPlugins/AutoPilotPluginManager.cc \
744
    src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.cc \
745
    src/AutoPilotPlugins/Generic/GenericParameterFacts.cc \
746
747
748
749
    src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.cc \
    src/AutoPilotPlugins/PX4/PX4Component.cc \
    src/AutoPilotPlugins/PX4/RadioComponent.cc \
    src/AutoPilotPlugins/PX4/FlightModesComponent.cc \
Don Gagne's avatar
Don Gagne committed
750
    src/AutoPilotPlugins/PX4/FlightModeConfig.cc \
751
    src/AutoPilotPlugins/PX4/AirframeComponent.cc \
Don Gagne's avatar
Don Gagne committed
752
    src/AutoPilotPlugins/PX4/SensorsComponent.cc \
Don Gagne's avatar
Don Gagne committed
753
    src/AutoPilotPlugins/PX4/SafetyComponent.cc \
Don Gagne's avatar
Don Gagne committed
754
755
756
757
758
759
760
761
762
763
764
765
    src/AutoPilotPlugins/PX4/PX4ParameterFacts.cc \

# Fact System code

INCLUDEPATH += \
    src/FactSystem

HEADERS += \
    src/FactSystem/FactSystem.h \
    src/FactSystem/Fact.h \
    src/FactSystem/FactMetaData.h \
    src/FactSystem/FactValidator.h \
766
    src/FactSystem/FactLoader.h \
Don Gagne's avatar
Don Gagne committed
767
768
769
770
771
772

SOURCES += \
    src/FactSystem/FactSystem.cc \
    src/FactSystem/Fact.cc \
    src/FactSystem/FactMetaData.cc \
    src/FactSystem/FactValidator.cc \
773
    src/FactSystem/FactLoader.cc \