qgroundcontrol.pro 24.3 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
    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 \
281
    src/ui/WaypointList.ui \
Lorenz Meier's avatar
Lorenz Meier committed
282
283
284
285
286
287
288
289
290
291
292
293
294
295
    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
296
    src/ui/designer/QGCToolWidgetComboBox.ui \
Don Gagne's avatar
Don Gagne committed
297
298
    src/ui/designer/QGCTextLabel.ui \
    src/ui/designer/QGCXYPlot.ui \
Lorenz Meier's avatar
Lorenz Meier committed
299
300
    src/ui/QGCMAVLinkLogPlayer.ui \
    src/ui/QGCWaypointListMulti.ui \
301
    src/ui/QGCUASFileViewMulti.ui \
Don Gagne's avatar
Don Gagne committed
302
    src/ui/QGCTCPLinkConfiguration.ui \
Don Gagne's avatar
Don Gagne committed
303
    src/ui/SettingsDialog.ui \
Lorenz Meier's avatar
Lorenz Meier committed
304
305
306
    src/ui/map/QGCMapTool.ui \
    src/ui/map/QGCMapToolBar.ui \
    src/ui/QGCMAVLinkInspector.ui \
307
308
    src/ui/WaypointViewOnlyView.ui \
    src/ui/WaypointEditableView.ui \
Lorenz Meier's avatar
Lorenz Meier committed
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
    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 \
327
    src/ui/QGCHilXPlaneConfiguration.ui \
328
    src/ui/uas/UASQuickView.ui \
329
    src/ui/uas/UASQuickViewItemSelect.ui \
330
    src/ui/QGCTabbedInfoView.ui \
331
    src/ui/UASRawStatusView.ui \
332
333
    src/ui/uas/QGCMessageView.ui \
    src/ui/JoystickButton.ui \
334
    src/ui/JoystickAxis.ui \
335
    src/ui/configuration/terminalconsole.ui \
336
    src/ui/configuration/SerialSettingsDialog.ui \
337
    src/ui/px4_configuration/QGCPX4AirframeConfig.ui \
Lorenz Meier's avatar
Lorenz Meier committed
338
    src/ui/px4_configuration/QGCPX4MulticopterConfig.ui \
John Tapsell's avatar
John Tapsell committed
339
    src/ui/px4_configuration/QGCPX4SensorCalibration.ui \
340
    src/ui/px4_configuration/PX4RCCalibration.ui \
341
    src/ui/px4_configuration/PX4FirmwareUpgrade.ui \
Don Gagne's avatar
Don Gagne committed
342
343
    src/ui/QGCUASFileView.ui \
    src/QGCQmlWidgetHolder.ui \
Don Gagne's avatar
Don Gagne committed
344
    src/ui/QGCMapRCToParamDialog.ui \
345
346
347
    src/ui/QGCLinkConfiguration.ui \
    src/ui/QGCCommConfiguration.ui \
    src/ui/QGCUDPLinkConfiguration.ui
348

Don Gagne's avatar
Don Gagne committed
349
350
HEADERS += \
    src/MG.h \
Don Gagne's avatar
Don Gagne committed
351
    src/QGCApplication.h \
Don Gagne's avatar
Don Gagne committed
352
    src/QGCSingleton.h \
Lorenz Meier's avatar
Lorenz Meier committed
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
    src/uas/UASInterface.h \
    src/uas/UAS.h \
    src/uas/UASManager.h \
    src/comm/LinkManager.h \
    src/comm/LinkInterface.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/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 \
374
    src/QGCConfig.h \
Lorenz Meier's avatar
Lorenz Meier committed
375
376
377
378
    src/ui/uas/UASView.h \
    src/ui/CameraView.h \
    src/comm/MAVLinkSimulationLink.h \
    src/comm/UDPLink.h \
Don Gagne's avatar
Don Gagne committed
379
    src/comm/TCPLink.h \
Lorenz Meier's avatar
Lorenz Meier committed
380
381
    src/ui/ParameterInterface.h \
    src/ui/WaypointList.h \
382
    src/Waypoint.h \
Lorenz Meier's avatar
Lorenz Meier committed
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
    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
407
    src/ui/designer/QGCToolWidgetComboBox.h \
Don Gagne's avatar
Don Gagne committed
408
409
410
411
    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
412
413
414
415
416
    src/ui/QGCMAVLinkLogPlayer.h \
    src/comm/MAVLinkSimulationWaypointPlanner.h \
    src/comm/MAVLinkSimulationMAV.h \
    src/uas/QGCMAVLinkUASFactory.h \
    src/ui/QGCWaypointListMulti.h \
417
    src/ui/QGCUASFileViewMulti.h \
Don Gagne's avatar
Don Gagne committed
418
    src/ui/QGCTCPLinkConfiguration.h \
Don Gagne's avatar
Don Gagne committed
419
    src/ui/SettingsDialog.h \
Lorenz Meier's avatar
Lorenz Meier committed
420
421
422
423
424
425
426
427
428
429
430
    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
431
    src/ui/WaypointEditableView.h \
Lorenz Meier's avatar
Lorenz Meier committed
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
    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 \
452
    src/ui/QGCHilXPlaneConfiguration.h \
453
    src/ui/uas/UASQuickView.h \
454
    src/ui/uas/UASQuickViewItem.h \
455
    src/ui/linechart/ChartPlot.h \
456
    src/ui/uas/UASQuickViewItemSelect.h \
457
    src/ui/uas/UASQuickViewTextItem.h \
458
    src/ui/uas/UASQuickViewGaugeItem.h \
459
    src/ui/QGCTabbedInfoView.h \
460
    src/ui/UASRawStatusView.h \
461
    src/ui/PrimaryFlightDisplay.h \
462
463
    src/ui/uas/QGCMessageView.h \
    src/ui/JoystickButton.h \
464
    src/ui/JoystickAxis.h \
465
466
467
    src/ui/configuration/console.h \
    src/ui/configuration/SerialSettingsDialog.h \
    src/ui/configuration/terminalconsole.h \
468
    src/ui/configuration/ApmHighlighter.h \
469
    src/uas/UASParameterDataModel.h \
470
    src/uas/UASParameterCommsMgr.h \
Lorenz Meier's avatar
Lorenz Meier committed
471
    src/ui/QGCPendingParamWidget.h \
472
    src/ui/px4_configuration/QGCPX4AirframeConfig.h \
Anton Babushkin's avatar
Anton Babushkin committed
473
    src/ui/QGCBaseParamWidget.h \
Lorenz Meier's avatar
Lorenz Meier committed
474
    src/ui/px4_configuration/QGCPX4MulticopterConfig.h \
475
    src/ui/px4_configuration/QGCPX4SensorCalibration.h \
476
    src/ui/px4_configuration/PX4RCCalibration.h \
Don Gagne's avatar
Don Gagne committed
477
    src/ui/px4_configuration/RCValueWidget.h \
478
479
480
    src/ui/px4_configuration/PX4Bootloader.h \
    src/ui/px4_configuration/PX4FirmwareUpgradeThread.h \
    src/ui/px4_configuration/PX4FirmwareUpgrade.h \
481
    src/uas/UASManagerInterface.h \
482
    src/uas/QGCUASParamManagerInterface.h \
483
    src/uas/QGCUASFileManager.h \
none's avatar
none committed
484
    src/ui/QGCUASFileView.h \
485
    src/CmdLineOptParser.h \
Don Gagne's avatar
Don Gagne committed
486
    src/uas/QGXPX4UAS.h \
Don Gagne's avatar
Don Gagne committed
487
    src/QGCFileDialog.h \
Don Gagne's avatar
Don Gagne committed
488
    src/QGCMessageBox.h \
Don Gagne's avatar
Don Gagne committed
489
    src/QGCComboBox.h \
490
    src/QGCTemporaryFile.h \
Lorenz Meier's avatar
Lorenz Meier committed
491
    src/audio/QGCAudioWorker.h \
492
493
    src/QGCQuickWidget.h \
    src/QGCPalette.h \
Don Gagne's avatar
Don Gagne committed
494
    src/QGCQmlWidgetHolder.h \
495
    src/ui/QGCParamTreeWidget.h \
496
497
    src/ui/QGCMapRCToParamDialog.h \
    src/QGCDockWidget.h \
498
499
500
501
    src/ui/QGCLinkConfiguration.h \
    src/comm/LinkConfiguration.h \
    src/ui/QGCCommConfiguration.h \
    src/ui/QGCUDPLinkConfiguration.h
Lorenz Meier's avatar
Lorenz Meier committed
502

Don Gagne's avatar
Don Gagne committed
503
SOURCES += \
Don Gagne's avatar
Don Gagne committed
504
    src/main.cc \
Don Gagne's avatar
Don Gagne committed
505
    src/QGCApplication.cc \
Don Gagne's avatar
Don Gagne committed
506
    src/QGCSingleton.cc \
Lorenz Meier's avatar
Lorenz Meier committed
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
    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/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
529
    src/comm/TCPLink.cc \
Lorenz Meier's avatar
Lorenz Meier committed
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
555
    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
556
    src/ui/designer/QGCToolWidgetComboBox.cc \
Don Gagne's avatar
Don Gagne committed
557
558
559
560
    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
561
562
563
564
565
    src/ui/QGCMAVLinkLogPlayer.cc \
    src/comm/MAVLinkSimulationWaypointPlanner.cc \
    src/comm/MAVLinkSimulationMAV.cc \
    src/uas/QGCMAVLinkUASFactory.cc \
    src/ui/QGCWaypointListMulti.cc \
566
    src/ui/QGCUASFileViewMulti.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
645
    src/ui/QGCLinkConfiguration.cc \
    src/comm/LinkConfiguration.cc \
    src/ui/QGCCommConfiguration.cc \
    src/ui/QGCUDPLinkConfiguration.cc
646
647
648

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

DebugBuild|WindowsDebugAndRelease {

Don Gagne's avatar
Don Gagne committed
658
659
DEFINES += UNITTEST_BUILD

660
661
662
663
INCLUDEPATH += \
	src/qgcunittest

HEADERS += \
Don Gagne's avatar
Don Gagne committed
664
665
    src/qgcunittest/UnitTest.h \
    src/qgcunittest/MessageBoxTest.h \
Don Gagne's avatar
Don Gagne committed
666
    src/qgcunittest/FileDialogTest.h \
Don Gagne's avatar
Don Gagne committed
667
668
    src/qgcunittest/MockLink.h \
    src/qgcunittest/MockLinkMissionItemHandler.h \
669
670
671
672
673
674
675
676
	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
677
	src/qgcunittest/TCPLoopBackServer.h \
678
	src/qgcunittest/QGCUASFileManagerTest.h \
Don Gagne's avatar
Don Gagne committed
679
    src/qgcunittest/PX4RCCalibrationTest.h \
Don Gagne's avatar
Don Gagne committed
680
    src/qgcunittest/LinkManagerTest.h \
Don Gagne's avatar
Don Gagne committed
681
    src/qgcunittest/MainWindowTest.h \
682
    src/AutoPilotPlugins/PX4/Tests/FlightModeConfigTest.h \
Don Gagne's avatar
Don Gagne committed
683
    src/qgcunittest/MavlinkLogTest.h \
684
685
    src/FactSystem/FactSystemTestBase.h \
    src/FactSystem/FactSystemTestPX4.h \
Don Gagne's avatar
Don Gagne committed
686
687
    src/FactSystem/FactSystemTestGeneric.h \
    src/QmlControls/QmlTestWidget.h \
688
    src/VehicleSetup/SetupViewTest.h \
689
690

SOURCES += \
Don Gagne's avatar
Don Gagne committed
691
692
    src/qgcunittest/UnitTest.cc \
    src/qgcunittest/MessageBoxTest.cc \
Don Gagne's avatar
Don Gagne committed
693
    src/qgcunittest/FileDialogTest.cc \
Don Gagne's avatar
Don Gagne committed
694
695
    src/qgcunittest/MockLink.cc \
    src/qgcunittest/MockLinkMissionItemHandler.cc \
696
697
698
699
700
701
702
	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
703
	src/qgcunittest/TCPLoopBackServer.cc \
704
	src/qgcunittest/QGCUASFileManagerTest.cc \
Don Gagne's avatar
Don Gagne committed
705
    src/qgcunittest/PX4RCCalibrationTest.cc \
Don Gagne's avatar
Don Gagne committed
706
    src/qgcunittest/LinkManagerTest.cc \
Don Gagne's avatar
Don Gagne committed
707
    src/qgcunittest/MainWindowTest.cc \
708
    src/AutoPilotPlugins/PX4/Tests/FlightModeConfigTest.cc \
Don Gagne's avatar
Don Gagne committed
709
    src/qgcunittest/MavlinkLogTest.cc \
710
711
    src/FactSystem/FactSystemTestBase.cc \
    src/FactSystem/FactSystemTestPX4.cc \
Don Gagne's avatar
Don Gagne committed
712
713
    src/FactSystem/FactSystemTestGeneric.cc \
    src/QmlControls/QmlTestWidget.cc \
714
    src/VehicleSetup/SetupViewTest.cc \
Don Gagne's avatar
Don Gagne committed
715

716
}
717
718
719
720
721
722

#
# AutoPilot Plugin Support
#
FORMS += \
    src/VehicleSetup/ParameterEditor.ui \
Don Gagne's avatar
Don Gagne committed
723
    src/ui/QGCPX4VehicleConfig.ui \
Don Gagne's avatar
Don Gagne committed
724
    src/AutoPilotPlugins/PX4/FlightModeConfig.ui \
Don Gagne's avatar
Don Gagne committed
725
    src/VehicleSetup/SetupView.ui \
726
727
728
729
730

HEADERS+= \
    src/VehicleSetup/SetupView.h \
    src/VehicleSetup/ParameterEditor.h \
    src/VehicleSetup/VehicleComponent.h \
Don Gagne's avatar
Commit    
Don Gagne committed
731
    src/AutoPilotPlugins/AutoPilotPluginManager.h \
732
733
    src/AutoPilotPlugins/AutoPilotPlugin.h \
    src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.h \
734
    src/AutoPilotPlugins/Generic/GenericParameterFacts.h \
735
736
737
738
    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
739
    src/AutoPilotPlugins/PX4/FlightModeConfig.h \
740
    src/AutoPilotPlugins/PX4/AirframeComponent.h \
Don Gagne's avatar
Don Gagne committed
741
    src/AutoPilotPlugins/PX4/SensorsComponent.h \
Don Gagne's avatar
Don Gagne committed
742
    src/AutoPilotPlugins/PX4/SafetyComponent.h \
Don Gagne's avatar
Don Gagne committed
743
    src/AutoPilotPlugins/PX4/PX4ParameterFacts.h \
744
745
746
747
748

SOURCES += \
    src/VehicleSetup/SetupView.cc \
    src/VehicleSetup/ParameterEditor.cc \
    src/VehicleSetup/VehicleComponent.cc \
Don Gagne's avatar
Commit    
Don Gagne committed
749
    src/AutoPilotPlugins/AutoPilotPluginManager.cc \
750
    src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.cc \
751
    src/AutoPilotPlugins/Generic/GenericParameterFacts.cc \
752
753
754
755
    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
756
    src/AutoPilotPlugins/PX4/FlightModeConfig.cc \
757
    src/AutoPilotPlugins/PX4/AirframeComponent.cc \
Don Gagne's avatar
Don Gagne committed
758
    src/AutoPilotPlugins/PX4/SensorsComponent.cc \
Don Gagne's avatar
Don Gagne committed
759
    src/AutoPilotPlugins/PX4/SafetyComponent.cc \
Don Gagne's avatar
Don Gagne committed
760
761
762
763
764
765
766
767
768
769
770
771
    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 \
772
    src/FactSystem/FactLoader.h \
Don Gagne's avatar
Don Gagne committed
773
774
775
776
777
778

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