qgroundcontrol.pro 21 KB
Newer Older
1
# -------------------------------------------------
2 3
# QGroundControl - Micro Air Vehicle Groundstation
# Please see our website at <http://qgroundcontrol.org>
4 5 6 7
# Maintainer:
# Lorenz Meier <lm@inf.ethz.ch>
# (c) 2009-2011 QGroundControl Developers
# This file is part of the open groundstation project
8 9 10 11 12 13 14 15 16 17
# 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/>.
18
# -------------------------------------------------
19 20


21
# Qt configuration
22
CONFIG += qt \
23
    thread
24 25 26 27
QT += network \
    opengl \
    svg \
    xml \
pixhawk's avatar
pixhawk committed
28
    phonon \
lm's avatar
lm committed
29 30
    webkit \
    sql
31

32 33
TEMPLATE = app
TARGET = qgroundcontrol
34
BASEDIR = $${IN_PWD}
35
linux-g++|linux-g++-64{
36 37 38 39 40 41 42 43
    debug {
        TARGETDIR = $${OUT_PWD}/debug
        BUILDDIR = $${OUT_PWD}/build-debug
    }
    release {
        TARGETDIR = $${OUT_PWD}/release
        BUILDDIR = $${OUT_PWD}/build-release
    }
44 45 46 47
} else {
    TARGETDIR = $${OUT_PWD}
    BUILDDIR = $${OUT_PWD}/build
}
48
LANGUAGE = C++
49 50 51 52
OBJECTS_DIR = $${BUILDDIR}/obj
MOC_DIR = $${BUILDDIR}/moc
UI_DIR = $${BUILDDIR}/ui
RCC_DIR = $${BUILDDIR}/rcc
53
MAVLINK_CONF = "pixhawk"
54
MAVLINKPATH = $$BASEDIR/libs/mavlink/include/mavlink/v1.0
55
DEFINES += MAVLINK_NO_DATA
56

57
win32 {
58 59 60 61 62 63
    QMAKE_INCDIR_QT = $$(QTDIR)/include
    QMAKE_LIBDIR_QT = $$(QTDIR)/lib
    QMAKE_UIC = "$$(QTDIR)/bin/uic.exe"
    QMAKE_MOC = "$$(QTDIR)/bin/moc.exe"
    QMAKE_RCC = "$$(QTDIR)/bin/rcc.exe"
    QMAKE_QMAKE = "$$(QTDIR)/bin/qmake.exe"
64 65 66 67 68 69 70 71
	
	# Build QAX for GoogleEarth API access
	!exists( $(QTDIR)/src/activeqt/Makefile ) {
		message( Making QAx (ONE TIME) )
		system( cd $$(QTDIR)\\src\\activeqt && $$(QTDIR)\\bin\\qmake.exe )
		system( cd $$(QTDIR)\\src\\activeqt\\container && $$(QTDIR)\\bin\\qmake.exe )
		system( cd $$(QTDIR)\\src\\activeqt\\control && $$(QTDIR)\\bin\\qmake.exe )
	}
72
}
73 74


75 76 77 78 79

#################################################################
# EXTERNAL LIBRARY CONFIGURATION

# EIGEN matrix library (header-only)
80
INCLUDEPATH += libs/eigen
81 82

# OPMapControl library (from OpenPilot)
83 84
include(libs/utils/utils_external.pri)
include(libs/opmapcontrol/opmapcontrol_external.pri)
85
DEPENDPATH += \
86 87 88 89 90
    libs/utils \
    libs/utils/src \
    libs/opmapcontrol \
    libs/opmapcontrol/src \
    libs/opmapcontrol/src/mapwidget
91 92

INCLUDEPATH += \
93 94 95
    libs/utils \
    libs \
    libs/opmapcontrol
96

97 98 99
# If the user config file exists, it will be included.
# if the variable MAVLINK_CONF contains the name of an
# additional project, QGroundControl includes the support
100 101 102
# of custom MAVLink messages of this project. It will also
# create a QGC_USE_{AUTOPILOT_NAME}_MESSAGES macro for use
# within the actual code.
103
exists(user_config.pri) { 
104
    include(user_config.pri)
105 106 107
    message("----- USING CUSTOM USER QGROUNDCONTROL CONFIG FROM user_config.pri -----")
    message("Adding support for additional MAVLink messages for: " $$MAVLINK_CONF)
    message("------------------------------------------------------------------------")
108
}
109
INCLUDEPATH += $$MAVLINKPATH
110 111 112 113
isEmpty(MAVLINK_CONF) { 
    INCLUDEPATH += $$MAVLINKPATH/common
} else {
    INCLUDEPATH += $$MAVLINKPATH/$$MAVLINK_CONF
114
    #DEFINES += 'MAVLINK_CONF="$${MAVLINK_CONF}.h"'
115
    DEFINES += $$sprintf('QGC_USE_%1_MESSAGES', $$upper($$MAVLINK_CONF))
116
}
117

118
# Include general settings for QGroundControl
119 120
# necessary as last include to override any non-acceptable settings
# done by the plugins above
pixhawk's avatar
pixhawk committed
121
include(qgroundcontrol.pri)
pixhawk's avatar
pixhawk committed
122

123
# Include MAVLink generator
124
# has been deprecated
125 126 127 128 129 130 131 132 133 134 135 136
DEPENDPATH += \
    src/apps/mavlinkgen

INCLUDEPATH += \
    src/apps/mavlinkgen \
    src/apps/mavlinkgen/ui \
    src/apps/mavlinkgen/generator

include(src/apps/mavlinkgen/mavlinkgen.pri)



pixhawk's avatar
pixhawk committed
137
# Include QWT plotting library
138
include(libs/qwt/qwt.pri)
pixhawk's avatar
pixhawk committed
139
DEPENDPATH += . \
140
    plugins \
141 142 143 144
    libs/thirdParty/qserialport/include \
    libs/thirdParty/qserialport/include/QtSerialPort \
    libs/thirdParty/qserialport \
    libs/qextserialport
145

pixhawk's avatar
pixhawk committed
146
INCLUDEPATH += . \
147 148 149 150
    libs/thirdParty/qserialport/include \
    libs/thirdParty/qserialport/include/QtSerialPort \
    libs/thirdParty/qserialport/src \
    libs/qextserialport
151

152
# Include serial port library (QSerial)
153
include(qserialport.pri)
154

155
# Serial port detection (ripped-off from qextserialport library)
156 157 158 159 160
macx|macx-g++|macx-g++42::SOURCES += libs/qextserialport/qextserialenumerator_osx.cpp
linux-g++::SOURCES += libs/qextserialport/qextserialenumerator_unix.cpp
linux-g++-64::SOURCES += libs/qextserialport/qextserialenumerator_unix.cpp
win32::SOURCES += libs/qextserialport/qextserialenumerator_win.cpp
win32-msvc2008|win32-msvc2010::SOURCES += libs/qextserialport/qextserialenumerator_win.cpp
lm's avatar
lm committed
161

pixhawk's avatar
pixhawk committed
162 163 164 165 166 167 168
# Input
FORMS += src/ui/MainWindow.ui \
    src/ui/CommSettings.ui \
    src/ui/SerialSettings.ui \
    src/ui/UASControl.ui \
    src/ui/UASList.ui \
    src/ui/UASInfo.ui \
169
    src/ui/Linechart.ui \
pixhawk's avatar
pixhawk committed
170 171
    src/ui/UASView.ui \
    src/ui/ParameterInterface.ui \
172
    src/ui/WaypointList.ui \    
pixhawk's avatar
pixhawk committed
173 174 175 176 177
    src/ui/ObjectDetectionView.ui \
    src/ui/JoystickWidget.ui \
    src/ui/DebugConsole.ui \
    src/ui/HDDisplay.ui \
    src/ui/MAVLinkSettingsWidget.ui \
lm's avatar
lm committed
178
    src/ui/AudioOutputWidget.ui \
179
    src/ui/QGCSensorSettingsWidget.ui \
pixhawk's avatar
pixhawk committed
180 181
    src/ui/watchdog/WatchdogControl.ui \
    src/ui/watchdog/WatchdogProcessView.ui \
182 183
    src/ui/watchdog/WatchdogView.ui \
    src/ui/QGCFirmwareUpdate.ui \
184
    src/ui/QGCPxImuFirmwareUpdate.ui \
lm's avatar
lm committed
185
    src/ui/QGCDataPlot2D.ui \
pixhawk's avatar
pixhawk committed
186
    src/ui/QGCRemoteControlView.ui \
pixhawk's avatar
pixhawk committed
187 188
    src/ui/QMap3D.ui \
    src/ui/QGCWebView.ui \
189
    src/ui/map3D/QGCGoogleEarthView.ui \
190
    src/ui/SlugsDataSensorView.ui \
191
    src/ui/SlugsHilSim.ui \
192
    src/ui/SlugsPadCameraControl.ui \
193 194 195
    src/ui/uas/QGCUnconnectedInfoWidget.ui \
    src/ui/designer/QGCToolWidget.ui \
    src/ui/designer/QGCParamSlider.ui \
196
    src/ui/designer/QGCActionButton.ui \
197
    src/ui/designer/QGCCommandButton.ui \
198
    src/ui/QGCMAVLinkLogPlayer.ui \
199
    src/ui/QGCWaypointListMulti.ui \
lm's avatar
lm committed
200
    src/ui/QGCUDPLinkConfiguration.ui \
201
    src/ui/QGCSettingsWidget.ui \
Mariano Lizarraga's avatar
Mariano Lizarraga committed
202
    src/ui/UASControlParameters.ui \
203
    src/ui/map/QGCMapTool.ui \
lm's avatar
lm committed
204
    src/ui/map/QGCMapToolBar.ui \
205
    src/ui/QGCMAVLinkInspector.ui \
206
    src/ui/WaypointViewOnlyView.ui \    
207
    src/ui/WaypointEditableView.ui \    
Lorenz Meier's avatar
Lorenz Meier committed
208 209 210 211
    src/ui/UnconnectedUASInfoWidget.ui \
    src/ui/mavlink/QGCMAVLinkMessageSender.ui \
    src/ui/firmwareupdate/QGCFirmwareUpdateWidget.ui \
    src/ui/QGCPluginHost.ui \
pixhawk's avatar
pixhawk committed
212
    src/ui/firmwareupdate/QGCPX4FirmwareUpdate.ui \
213
    src/ui/mission/QGCMissionOther.ui \
214 215 216 217 218
    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 \
219 220 221
    src/ui/mission/QGCMissionNavLoiterTime.ui \
    src/ui/mission/QGCMissionNavReturnToLaunch.ui \
    src/ui/mission/QGCMissionNavLand.ui \
222
    src/ui/mission/QGCMissionNavTakeoff.ui \
223 224
    src/ui/mission/QGCMissionNavSweep.ui \
    src/ui/mission/QGCMissionDoStartSearch.ui \
225
    src/ui/mission/QGCMissionDoFinishSearch.ui \
226 227
    src/ui/QGCVehicleConfig.ui \
    src/ui/QGCHilConfiguration.ui
pixhawk's avatar
pixhawk committed
228 229 230 231 232 233 234 235 236 237
INCLUDEPATH += src \
    src/ui \
    src/ui/linechart \
    src/ui/uas \
    src/ui/map \
    src/uas \
    src/comm \
    include/ui \
    src/input \
    src/lib/qmapcontrol \
238
    src/ui/mavlink \
239
    src/ui/param \
lm's avatar
lm committed
240
    src/ui/watchdog \
241
    src/ui/map3D \
pixhawk's avatar
pixhawk committed
242
    src/ui/mission \
243
    src/ui/designer
pixhawk's avatar
pixhawk committed
244
HEADERS += src/MG.h \
lm's avatar
lm committed
245
    src/QGCCore.h \
pixhawk's avatar
pixhawk committed
246 247 248 249 250 251 252 253 254
    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 \
lm's avatar
lm committed
255
    src/comm/QGCFlightGearLink.h \
256
    src/comm/QGCXPlaneLink.h \
pixhawk's avatar
pixhawk committed
257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274
    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 \
    src/configuration.h \
    src/ui/uas/UASView.h \
    src/ui/CameraView.h \
    src/comm/MAVLinkSimulationLink.h \
    src/comm/UDPLink.h \
    src/ui/ParameterInterface.h \
    src/ui/WaypointList.h \
275
    src/Waypoint.h \   
pixhawk's avatar
pixhawk committed
276 277 278 279 280 281 282 283
    src/ui/ObjectDetectionView.h \
    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 \
284
    src/LogCompressor.h \
lm's avatar
lm committed
285
    src/ui/QGCParamWidget.h \
286
    src/ui/QGCSensorSettingsWidget.h \
287 288 289
    src/ui/linechart/Linecharts.h \
    src/uas/SlugsMAV.h \
    src/uas/PxQuadMAV.h \
290
    src/uas/ArduPilotMegaMAV.h \
oberion's avatar
oberion committed
291
    src/uas/senseSoarMAV.h \
pixhawk's avatar
pixhawk committed
292 293
    src/ui/watchdog/WatchdogControl.h \
    src/ui/watchdog/WatchdogProcessView.h \
294
    src/ui/watchdog/WatchdogView.h \
295
    src/uas/UASWaypointManager.h \
296
    src/ui/HSIDisplay.h \
297 298
    src/QGC.h \
    src/ui/QGCFirmwareUpdate.h \
299
    src/ui/QGCPxImuFirmwareUpdate.h \
300
    src/ui/QGCDataPlot2D.h \
Bryan Godbolt's avatar
Bryan Godbolt committed
301
    src/ui/linechart/IncrementalPlot.h \
pixhawk's avatar
pixhawk committed
302
    src/ui/QGCRemoteControlView.h \
303
    src/ui/RadioCalibration/RadioCalibrationData.h \
304 305 306
    src/ui/RadioCalibration/RadioCalibrationWindow.h \
    src/ui/RadioCalibration/AirfoilServoCalibrator.h \
    src/ui/RadioCalibration/SwitchCalibrator.h \
307
    src/ui/RadioCalibration/CurveCalibrator.h \
Bryan Godbolt's avatar
Bryan Godbolt committed
308
    src/ui/RadioCalibration/AbstractCalibrator.h \
pixhawk's avatar
pixhawk committed
309 310
    src/comm/QGCMAVLink.h \
    src/ui/QGCWebView.h \
311
    src/ui/map3D/QGCWebPage.h \
312
    src/ui/SlugsDataSensorView.h \
313
    src/ui/SlugsHilSim.h \
pixhawk's avatar
pixhawk committed
314
    src/ui/SlugsPadCameraControl.h \
pixhawk's avatar
pixhawk committed
315
    src/ui/QGCMainWindowAPConfigurator.h \
316
    src/comm/MAVLinkSwarmSimulationLink.h \
317 318 319
    src/ui/uas/QGCUnconnectedInfoWidget.h \
    src/ui/designer/QGCToolWidget.h \
    src/ui/designer/QGCParamSlider.h \
320
    src/ui/designer/QGCCommandButton.h \
321
    src/ui/designer/QGCToolWidgetItem.h \
322 323
    src/ui/QGCMAVLinkLogPlayer.h \
    src/comm/MAVLinkSimulationWaypointPlanner.h \
324
    src/comm/MAVLinkSimulationMAV.h \
325
    src/uas/QGCMAVLinkUASFactory.h \
326
    src/ui/QGCWaypointListMulti.h \
lm's avatar
lm committed
327
    src/ui/QGCUDPLinkConfiguration.h \
328
    src/ui/QGCSettingsWidget.h \
Mariano Lizarraga's avatar
Mariano Lizarraga committed
329
    src/ui/uas/UASControlParameters.h \
lm's avatar
lm committed
330
    src/uas/QGCUASParamManager.h \
331 332
    src/ui/map/QGCMapWidget.h \
    src/ui/map/MAV2DIcon.h \
333
    src/ui/map/Waypoint2DIcon.h \
334
    src/ui/map/QGCMapTool.h \
lm's avatar
lm committed
335
    src/ui/map/QGCMapToolBar.h \
336
    libs/qextserialport/qextserialenumerator.h \
337
    src/QGCGeo.h \
lm's avatar
lm committed
338
    src/ui/QGCToolBar.h \
lm's avatar
lm committed
339
    src/ui/QGCMAVLinkInspector.h \
340
    src/ui/MAVLinkDecoder.h \
341
    src/ui/WaypointViewOnlyView.h \
342
    src/ui/WaypointViewOnlyView.h \
343
    src/ui/WaypointEditableView.h \    
344
    src/ui/UnconnectedUASInfoWidget.h \
Lorenz Meier's avatar
Lorenz Meier committed
345 346 347 348
    src/ui/QGCRGBDView.h \
    src/ui/mavlink/QGCMAVLinkMessageSender.h \
    src/ui/firmwareupdate/QGCFirmwareUpdateWidget.h \
    src/ui/QGCPluginHost.h \
pixhawk's avatar
pixhawk committed
349
    src/ui/firmwareupdate/QGCPX4FirmwareUpdate.h \
350
    src/ui/mission/QGCMissionOther.h \
351 352 353 354 355
    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 \
356 357 358
    src/ui/mission/QGCMissionNavLoiterTime.h \
    src/ui/mission/QGCMissionNavReturnToLaunch.h \
    src/ui/mission/QGCMissionNavLand.h \
359
    src/ui/mission/QGCMissionNavTakeoff.h \
360 361
    src/ui/mission/QGCMissionNavSweep.h \
    src/ui/mission/QGCMissionDoStartSearch.h \
362
    src/ui/mission/QGCMissionDoFinishSearch.h \
363
    src/ui/QGCVehicleConfig.h \
364 365
    src/comm/QGCHilLink.h \
    src/ui/QGCHilConfiguration.h
366

367
# Google Earth is only supported on Mac OS and Windows with Visual Studio Compiler
368
macx|macx-g++|macx-g++42|win32-msvc2008|win32-msvc2010::HEADERS += src/ui/map3D/QGCGoogleEarthView.h
369 370 371 372
contains(DEPENDENCIES_PRESENT, osg) { 
    message("Including headers for OpenSceneGraph")
    
    # Enable only if OpenSceneGraph is available
373 374 375 376 377 378 379 380
    HEADERS += src/ui/map3D/gpl.h \
        src/ui/map3D/CameraParams.h \
        src/ui/map3D/ViewParamWidget.h \
        src/ui/map3D/SystemContainer.h \
        src/ui/map3D/SystemViewParams.h \
        src/ui/map3D/GlobalViewParams.h \
        src/ui/map3D/SystemGroupNode.h \
        src/ui/map3D/Q3DWidget.h \
381 382
        src/ui/map3D/GCManipulator.h \
        src/ui/map3D/ImageWindowGeode.h \
383
        src/ui/map3D/PixhawkCheetahNode.h \
384
        src/ui/map3D/Pixhawk3DWidget.h \
385 386 387 388 389
        src/ui/map3D/Q3DWidgetFactory.h \
        src/ui/map3D/WebImageCache.h \
        src/ui/map3D/WebImage.h \
        src/ui/map3D/TextureCache.h \
        src/ui/map3D/Texture.h \
390
        src/ui/map3D/Imagery.h \
391
        src/ui/map3D/HUDScaleGeode.h \
392
        src/ui/map3D/WaypointGroupNode.h \
393 394
        src/ui/map3D/TerrainParamDialog.h \
        src/ui/map3D/ImageryParamDialog.h
395
}
396 397 398 399
contains(DEPENDENCIES_PRESENT, protobuf):contains(MAVLINK_CONF, pixhawk) {
    message("Including headers for Protocol Buffers")

    # Enable only if protobuf is available
400
    HEADERS += libs/mavlink/include/mavlink/v1.0/pixhawk/pixhawk.pb.h \
401 402
        src/ui/map3D/ObstacleGroupNode.h \
        src/ui/map3D/GLOverlayGeode.h
403
}
404 405 406 407 408
contains(DEPENDENCIES_PRESENT, libfreenect) { 
    message("Including headers for libfreenect")
    
    # Enable only if libfreenect is available
    HEADERS += src/input/Freenect.h
409
}
pixhawk's avatar
pixhawk committed
410
SOURCES += src/main.cc \
lm's avatar
lm committed
411
    src/QGCCore.cc \
pixhawk's avatar
pixhawk committed
412 413 414
    src/uas/UASManager.cc \
    src/uas/UAS.cc \
    src/comm/LinkManager.cc \
415
    src/comm/LinkInterface.cpp \
pixhawk's avatar
pixhawk committed
416 417
    src/comm/SerialLink.cc \
    src/comm/MAVLinkProtocol.cc \
lm's avatar
lm committed
418
    src/comm/QGCFlightGearLink.cc \
419
    src/comm/QGCXPlaneLink.cc \
pixhawk's avatar
pixhawk committed
420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445
    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 \
    src/ui/ParameterInterface.cc \
    src/ui/WaypointList.cc \
    src/Waypoint.cc \
    src/ui/ObjectDetectionView.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 \
446
    src/LogCompressor.cc \
lm's avatar
lm committed
447
    src/ui/QGCParamWidget.cc \
448
    src/ui/QGCSensorSettingsWidget.cc \
449 450 451
    src/ui/linechart/Linecharts.cc \
    src/uas/SlugsMAV.cc \
    src/uas/PxQuadMAV.cc \
452
    src/uas/ArduPilotMegaMAV.cc \
oberion's avatar
oberion committed
453
    src/uas/senseSoarMAV.cpp \
pixhawk's avatar
pixhawk committed
454 455
    src/ui/watchdog/WatchdogControl.cc \
    src/ui/watchdog/WatchdogProcessView.cc \
456
    src/ui/watchdog/WatchdogView.cc \
457
    src/uas/UASWaypointManager.cc \
pixhawk's avatar
pixhawk committed
458
    src/ui/HSIDisplay.cc \
459 460
    src/QGC.cc \
    src/ui/QGCFirmwareUpdate.cc \
461
    src/ui/QGCPxImuFirmwareUpdate.cc \
462
    src/ui/QGCDataPlot2D.cc \
463
    src/ui/linechart/IncrementalPlot.cc \
pixhawk's avatar
pixhawk committed
464
    src/ui/QGCRemoteControlView.cc \
465 466 467
    src/ui/RadioCalibration/RadioCalibrationWindow.cc \
    src/ui/RadioCalibration/AirfoilServoCalibrator.cc \
    src/ui/RadioCalibration/SwitchCalibrator.cc \
468
    src/ui/RadioCalibration/CurveCalibrator.cc \
469
    src/ui/RadioCalibration/AbstractCalibrator.cc \
pixhawk's avatar
pixhawk committed
470 471
    src/ui/RadioCalibration/RadioCalibrationData.cc \
    src/ui/QGCWebView.cc \
472 473 474
    src/ui/map3D/QGCWebPage.cc \
    src/ui/SlugsDataSensorView.cc \
    src/ui/SlugsHilSim.cc \
pixhawk's avatar
pixhawk committed
475
    src/ui/SlugsPadCameraControl.cpp \
pixhawk's avatar
pixhawk committed
476
    src/ui/QGCMainWindowAPConfigurator.cc \
477
    src/comm/MAVLinkSwarmSimulationLink.cc \
478 479 480
    src/ui/uas/QGCUnconnectedInfoWidget.cc \
    src/ui/designer/QGCToolWidget.cc \
    src/ui/designer/QGCParamSlider.cc \
481
    src/ui/designer/QGCCommandButton.cc \
482
    src/ui/designer/QGCToolWidgetItem.cc \
483 484
    src/ui/QGCMAVLinkLogPlayer.cc \
    src/comm/MAVLinkSimulationWaypointPlanner.cc \
485 486
    src/comm/MAVLinkSimulationMAV.cc \
    src/uas/QGCMAVLinkUASFactory.cc \
487
    src/ui/QGCWaypointListMulti.cc \
lm's avatar
lm committed
488
    src/ui/QGCUDPLinkConfiguration.cc \
489
    src/ui/QGCSettingsWidget.cc \
Mariano Lizarraga's avatar
Mariano Lizarraga committed
490
    src/ui/uas/UASControlParameters.cpp \
lm's avatar
lm committed
491
    src/uas/QGCUASParamManager.cc \
492 493
    src/ui/map/QGCMapWidget.cc \
    src/ui/map/MAV2DIcon.cc \
494
    src/ui/map/Waypoint2DIcon.cc \
495
    src/ui/map/QGCMapTool.cc \
496
    src/ui/map/QGCMapToolBar.cc \
lm's avatar
lm committed
497
    src/ui/QGCToolBar.cc \
lm's avatar
lm committed
498
    src/ui/QGCMAVLinkInspector.cc \
499
    src/ui/MAVLinkDecoder.cc \
500
    src/ui/WaypointViewOnlyView.cc \
501
    src/ui/WaypointEditableView.cc \
502
    src/ui/UnconnectedUASInfoWidget.cc \
Lorenz Meier's avatar
Lorenz Meier committed
503 504 505 506
    src/ui/QGCRGBDView.cc \
    src/ui/mavlink/QGCMAVLinkMessageSender.cc \
    src/ui/firmwareupdate/QGCFirmwareUpdateWidget.cc \
    src/ui/QGCPluginHost.cc \
pixhawk's avatar
pixhawk committed
507
    src/ui/firmwareupdate/QGCPX4FirmwareUpdate.cc \
508
    src/ui/mission/QGCMissionOther.cc \
509 510 511 512 513
    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 \
514 515 516
    src/ui/mission/QGCMissionNavLoiterTime.cc \
    src/ui/mission/QGCMissionNavReturnToLaunch.cc \
    src/ui/mission/QGCMissionNavLand.cc \
517
    src/ui/mission/QGCMissionNavTakeoff.cc \
518 519
    src/ui/mission/QGCMissionNavSweep.cc \
    src/ui/mission/QGCMissionDoStartSearch.cc \
520
    src/ui/mission/QGCMissionDoFinishSearch.cc \
521
    src/ui/QGCVehicleConfig.cc \
522 523
    src/comm/QGCHilLink.cc \
    src/ui/QGCHilConfiguration.cc
524 525

# Enable Google Earth only on Mac OS and Windows with Visual Studio compiler
526
macx|macx-g++|macx-g++42|win32-msvc2008|win32-msvc2010::SOURCES += src/ui/map3D/QGCGoogleEarthView.cc
527 528

# Enable OSG only if it has been found
529
contains(DEPENDENCIES_PRESENT, osg) { 
lm's avatar
lm committed
530
    message("Including sources for OpenSceneGraph")
531 532
    
    # Enable only if OpenSceneGraph is available
533 534 535 536 537 538 539 540
    SOURCES += src/ui/map3D/gpl.cc \
        src/ui/map3D/CameraParams.cc \
        src/ui/map3D/ViewParamWidget.cc \
        src/ui/map3D/SystemContainer.cc \
        src/ui/map3D/SystemViewParams.cc \
        src/ui/map3D/GlobalViewParams.cc \
        src/ui/map3D/SystemGroupNode.cc \
        src/ui/map3D/Q3DWidget.cc \
541 542
        src/ui/map3D/ImageWindowGeode.cc \
        src/ui/map3D/GCManipulator.cc \
543
        src/ui/map3D/PixhawkCheetahNode.cc \
544
        src/ui/map3D/Pixhawk3DWidget.cc \
545 546 547 548 549
        src/ui/map3D/Q3DWidgetFactory.cc \
        src/ui/map3D/WebImageCache.cc \
        src/ui/map3D/WebImage.cc \
        src/ui/map3D/TextureCache.cc \
        src/ui/map3D/Texture.cc \
550
        src/ui/map3D/Imagery.cc \
551
        src/ui/map3D/HUDScaleGeode.cc \
552
        src/ui/map3D/WaypointGroupNode.cc \
553 554
        src/ui/map3D/TerrainParamDialog.cc \
        src/ui/map3D/ImageryParamDialog.cc
555

556 557 558 559
    contains(DEPENDENCIES_PRESENT, osgearth) { 
        message("Including sources for osgEarth")
        
        # Enable only if OpenSceneGraph is available
560
        SOURCES +=
561
    }
562
}
563 564 565 566
contains(DEPENDENCIES_PRESENT, protobuf):contains(MAVLINK_CONF, pixhawk) {
    message("Including sources for Protocol Buffers")

    # Enable only if protobuf is available
567
    SOURCES += libs/mavlink/share/mavlink/src/v1.0/pixhawk/pixhawk.pb.cc \
568 569
        src/ui/map3D/ObstacleGroupNode.cc \
        src/ui/map3D/GLOverlayGeode.cc
570
}
571
contains(DEPENDENCIES_PRESENT, libfreenect) { 
lm's avatar
lm committed
572
    message("Including sources for libfreenect")
573
    
574 575
    # Enable only if libfreenect is available
    SOURCES += src/input/Freenect.cc
576
}
577 578 579

# Add icons and other resources
RESOURCES += qgroundcontrol.qrc
580 581

# Include RT-LAB Library
582
win32:exists(src/lib/opalrt/OpalApi.h):exists(C:/OPAL-RT/RT-LAB7.2.4/Common/bin) { 
583
    message("Building support for Opal-RT")
584
    LIBS += -LC:/OPAL-RT/RT-LAB7.2.4/Common/bin \
Bryan Godbolt's avatar
Bryan Godbolt committed
585
        -lOpalApi
586
    INCLUDEPATH += src/lib/opalrt
587 588
    HEADERS += src/comm/OpalRT.h \
        src/comm/OpalLink.h \
589
        src/comm/Parameter.h \
590
        src/comm/QGCParamID.h \
591 592
        src/comm/ParameterList.h \
        src/ui/OpalLinkConfigurationWindow.h
593 594 595 596
    SOURCES += src/comm/OpalRT.cc \
        src/comm/OpalLink.cc \
        src/comm/Parameter.cc \
        src/comm/QGCParamID.cc \
597 598 599
        src/comm/ParameterList.cc \
        src/ui/OpalLinkConfigurationWindow.cc
    FORMS += src/ui/OpalLinkSettings.ui
600
    DEFINES += OPAL_RT
601
}
602
TRANSLATIONS += es-MX.ts \
603
    en-US.ts
Franz's avatar
Franz committed
604 605 606

# xbee support
# libxbee only supported by linux and windows systems
607
win32-msvc2008|win32-msvc2010|linux {
oberion's avatar
oberion committed
608
    HEADERS += src/comm/XbeeLinkInterface.h \
609 610 611 612
        src/comm/XbeeLink.h \
        src/comm/HexSpinBox.h \
        src/ui/XbeeConfigurationWindow.h \
        src/comm/CallConv.h
oberion's avatar
oberion committed
613
    SOURCES += src/comm/XbeeLink.cpp \
614 615
        src/comm/HexSpinBox.cpp \
        src/ui/XbeeConfigurationWindow.cpp
oberion's avatar
oberion committed
616
    DEFINES += XBEELINK
617
    INCLUDEPATH += libs/thirdParty/libxbee
618
# TO DO: build library when it does not exist already
619
    LIBS += -Llibs/thirdParty/libxbee/lib \
620
        -llibxbee
621
}