qgroundcontrol.pro 17.7 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 23 24 25
QT += network \
    opengl \
    svg \
    xml \
pixhawk's avatar
pixhawk committed
26
    phonon \
lm's avatar
lm committed
27 28
    webkit \
    sql
29

30 31
TEMPLATE = app
TARGET = qgroundcontrol
32
BASEDIR = $$IN_PWD
33
TARGETDIR = $$OUT_PWD
34
BUILDDIR = $$TARGETDIR/build
35
LANGUAGE = C++
lm's avatar
lm committed
36 37 38 39
#OBJECTS_DIR = $$BUILDDIR/obj
#MOC_DIR = $$BUILDDIR/moc
#UI_HEADERS_DIR = $$BUILDDIR/ui
#RCC_DIR = $$BUILDDIR/rcc
40
MAVLINK_CONF = ""
41
DEFINES += MAVLINK_NO_DATA
42

43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

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

# Include NMEA parsing library (currently unused)
include(src/libs/nmea/nmea.pri)

# EIGEN matrix library (header-only)
INCLUDEPATH += src/libs/eigen

# OPMapControl library (from OpenPilot)
include(src/libs/utils/utils_external.pri)
include(src/libs/opmapcontrol/opmapcontrol_external.pri)
DEPENDPATH += \
    src/libs/utils \
    src/libs/utils/src \
    src/libs/opmapcontrol \
    src/libs/opmapcontrol/src \
    src/libs/opmapcontrol/src/mapwidget

INCLUDEPATH += \
    src/libs/utils \
    src/libs \
    src/libs/opmapcontrol

68 69 70 71
# 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
# of custom MAVLink messages of this project
72
exists(user_config.pri) { 
73
    include(user_config.pri)
74 75 76
    message("----- USING CUSTOM USER QGROUNDCONTROL CONFIG FROM user_config.pri -----")
    message("Adding support for additional MAVLink messages for: " $$MAVLINK_CONF)
    message("------------------------------------------------------------------------")
77
}
78
INCLUDEPATH += $$BASEDIR/../mavlink/include/common
79 80 81
INCLUDEPATH += $$BASEDIR/../mavlink/include
INCLUDEPATH += $$BASEDIR/thirdParty/mavlink/include/common
INCLUDEPATH += $$BASEDIR/thirdParty/mavlink/include
82 83 84
contains(MAVLINK_CONF, pixhawk) { 
    # Remove the default set - it is included anyway
    INCLUDEPATH -= $$BASEDIR/../mavlink/include/common
85
    INCLUDEPATH -= $$BASEDIR/thirdParty/mavlink/include/common
86 87 88
    
    # PIXHAWK SPECIAL MESSAGES
    INCLUDEPATH += $$BASEDIR/../mavlink/include/pixhawk
89
    INCLUDEPATH += $$BASEDIR/thirdParty/mavlink/include/pixhawk
90
    DEFINES += QGC_USE_PIXHAWK_MESSAGES
91
}
92 93 94
contains(MAVLINK_CONF, slugs) { 
    # Remove the default set - it is included anyway
    INCLUDEPATH -= $$BASEDIR/../mavlink/include/common
95
    INCLUDEPATH -= $$BASEDIR/thirdParty/mavlink/include/common
96 97 98
    
    # SLUGS SPECIAL MESSAGES
    INCLUDEPATH += $$BASEDIR/../mavlink/include/slugs
99
    INCLUDEPATH += $$BASEDIR/thirdParty/mavlink/include/slugs
100
    DEFINES += QGC_USE_SLUGS_MESSAGES
101
}
102 103 104
contains(MAVLINK_CONF, ualberta) { 
    # Remove the default set - it is included anyway
    INCLUDEPATH -= $$BASEDIR/../mavlink/include/common
105
    INCLUDEPATH -= $$BASEDIR/thirdParty/mavlink/include/common
106 107 108
    
    # UALBERTA SPECIAL MESSAGES
    INCLUDEPATH += $$BASEDIR/../mavlink/include/ualberta
109
    INCLUDEPATH += $$BASEDIR/thirdParty/mavlink/include/ualberta
110
    DEFINES += QGC_USE_UALBERTA_MESSAGES
111
}
112
contains(MAVLINK_CONF, ardupilotmega) { 
113 114
    # Remove the default set - it is included anyway
    INCLUDEPATH -= $$BASEDIR/../mavlink/include/common
115
    INCLUDEPATH -= $$BASEDIR/thirdParty/mavlink/include/common
116
    
117 118
    # UALBERTA SPECIAL MESSAGES
    INCLUDEPATH += $$BASEDIR/../mavlink/include/ardupilotmega
119
    INCLUDEPATH += $$BASEDIR/thirdParty/mavlink/include/ardupilotmega
120
    DEFINES += QGC_USE_ARDUPILOTMEGA_MESSAGES
121
}
122

123

124
# Include general settings for QGroundControl
125 126
# necessary as last include to override any non-acceptable settings
# done by the plugins above
pixhawk's avatar
pixhawk committed
127
include(qgroundcontrol.pri)
pixhawk's avatar
pixhawk committed
128

129 130 131 132 133 134 135 136 137 138 139 140 141
# Include MAVLink generator
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
142 143 144
# Include QWT plotting library
include(src/lib/qwt/qwt.pri)
DEPENDPATH += . \
145 146 147
    plugins \
    thirdParty/qserialport/include \
    thirdParty/qserialport/include/QtSerialPort \
lm's avatar
lm committed
148 149
    thirdParty/qserialport \
    src/libs/qextserialport
150

pixhawk's avatar
pixhawk committed
151
INCLUDEPATH += . \
152 153
    thirdParty/qserialport/include \
    thirdParty/qserialport/include/QtSerialPort \
lm's avatar
lm committed
154 155
    thirdParty/qserialport/src \
    src/libs/qextserialport
156

157
# Include serial port library (QSerial)
158 159
include(thirdParty/qserialport/qgroundcontrol-qserialport.pri)

160
# Serial port detection (ripped-off from qextserialport library)
lm's avatar
lm committed
161 162 163 164
macx::SOURCES += src/libs/qextserialport/qextserialenumerator_osx.cpp
linux-g++::SOURCES += src/libs/qextserialport/qextserialenumerator_unix.cpp
win32::SOURCES += src/libs/qextserialport/qextserialenumerator_win.cpp

pixhawk's avatar
pixhawk committed
165 166 167 168 169 170 171
# 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 \
172
    src/ui/Linechart.ui \
pixhawk's avatar
pixhawk committed
173 174
    src/ui/UASView.ui \
    src/ui/ParameterInterface.ui \
175
    src/ui/WaypointList.ui \    
pixhawk's avatar
pixhawk committed
176 177 178 179 180
    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
181
    src/ui/AudioOutputWidget.ui \
182
    src/ui/QGCSensorSettingsWidget.ui \
pixhawk's avatar
pixhawk committed
183 184
    src/ui/watchdog/WatchdogControl.ui \
    src/ui/watchdog/WatchdogProcessView.ui \
185 186
    src/ui/watchdog/WatchdogView.ui \
    src/ui/QGCFirmwareUpdate.ui \
187
    src/ui/QGCPxImuFirmwareUpdate.ui \
lm's avatar
lm committed
188
    src/ui/QGCDataPlot2D.ui \
pixhawk's avatar
pixhawk committed
189
    src/ui/QGCRemoteControlView.ui \
pixhawk's avatar
pixhawk committed
190 191
    src/ui/QMap3D.ui \
    src/ui/QGCWebView.ui \
192
    src/ui/map3D/QGCGoogleEarthView.ui \
193
    src/ui/SlugsDataSensorView.ui \
194
    src/ui/SlugsHilSim.ui \
195
    src/ui/SlugsPadCameraControl.ui \
196 197 198
    src/ui/uas/QGCUnconnectedInfoWidget.ui \
    src/ui/designer/QGCToolWidget.ui \
    src/ui/designer/QGCParamSlider.ui \
199
    src/ui/designer/QGCActionButton.ui \
200
    src/ui/designer/QGCCommandButton.ui \
201
    src/ui/QGCMAVLinkLogPlayer.ui \
202
    src/ui/QGCWaypointListMulti.ui \
203
    src/ui/mission/QGCCustomWaypointAction.ui \
lm's avatar
lm committed
204
    src/ui/QGCUDPLinkConfiguration.ui \
205
    src/ui/QGCSettingsWidget.ui \
Mariano Lizarraga's avatar
Mariano Lizarraga committed
206
    src/ui/UASControlParameters.ui \
207
    src/ui/mission/QGCMissionDoWidget.ui \
208
    src/ui/mission/QGCMissionConditionWidget.ui \
209
    src/ui/map/QGCMapTool.ui \
lm's avatar
lm committed
210
    src/ui/map/QGCMapToolBar.ui \
211
    src/ui/QGCMAVLinkInspector.ui \
212 213
    src/ui/WaypointViewOnlyView.ui \    
    src/ui/WaypointEditableView.ui
pixhawk's avatar
pixhawk committed
214 215 216 217 218 219 220 221 222 223
INCLUDEPATH += src \
    src/ui \
    src/ui/linechart \
    src/ui/uas \
    src/ui/map \
    src/uas \
    src/comm \
    include/ui \
    src/input \
    src/lib/qmapcontrol \
224
    src/ui/mavlink \
225
    src/ui/param \
lm's avatar
lm committed
226
    src/ui/watchdog \
227 228
    src/ui/map3D \
    src/ui/designer
pixhawk's avatar
pixhawk committed
229
HEADERS += src/MG.h \
lm's avatar
lm committed
230
    src/QGCCore.h \
pixhawk's avatar
pixhawk committed
231 232 233 234 235 236 237 238 239
    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
240
    src/comm/QGCFlightGearLink.h \
pixhawk's avatar
pixhawk committed
241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258
    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 \
259
    src/Waypoint.h \   
pixhawk's avatar
pixhawk committed
260 261 262 263 264 265 266 267
    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 \
268
    src/LogCompressor.h \
lm's avatar
lm committed
269
    src/ui/QGCParamWidget.h \
270
    src/ui/QGCSensorSettingsWidget.h \
271 272 273
    src/ui/linechart/Linecharts.h \
    src/uas/SlugsMAV.h \
    src/uas/PxQuadMAV.h \
274
    src/uas/ArduPilotMegaMAV.h \
pixhawk's avatar
pixhawk committed
275 276
    src/ui/watchdog/WatchdogControl.h \
    src/ui/watchdog/WatchdogProcessView.h \
277
    src/ui/watchdog/WatchdogView.h \
278
    src/uas/UASWaypointManager.h \
279
    src/ui/HSIDisplay.h \
280 281
    src/QGC.h \
    src/ui/QGCFirmwareUpdate.h \
282
    src/ui/QGCPxImuFirmwareUpdate.h \
283
    src/ui/QGCDataPlot2D.h \
Bryan Godbolt's avatar
Bryan Godbolt committed
284
    src/ui/linechart/IncrementalPlot.h \
pixhawk's avatar
pixhawk committed
285
    src/ui/QGCRemoteControlView.h \
286
    src/ui/RadioCalibration/RadioCalibrationData.h \
287 288 289
    src/ui/RadioCalibration/RadioCalibrationWindow.h \
    src/ui/RadioCalibration/AirfoilServoCalibrator.h \
    src/ui/RadioCalibration/SwitchCalibrator.h \
290
    src/ui/RadioCalibration/CurveCalibrator.h \
Bryan Godbolt's avatar
Bryan Godbolt committed
291
    src/ui/RadioCalibration/AbstractCalibrator.h \
pixhawk's avatar
pixhawk committed
292 293
    src/comm/QGCMAVLink.h \
    src/ui/QGCWebView.h \
294
    src/ui/map3D/QGCWebPage.h \
295
    src/ui/SlugsDataSensorView.h \
296
    src/ui/SlugsHilSim.h \
pixhawk's avatar
pixhawk committed
297
    src/ui/SlugsPadCameraControl.h \
pixhawk's avatar
pixhawk committed
298
    src/ui/QGCMainWindowAPConfigurator.h \
299
    src/comm/MAVLinkSwarmSimulationLink.h \
300 301 302
    src/ui/uas/QGCUnconnectedInfoWidget.h \
    src/ui/designer/QGCToolWidget.h \
    src/ui/designer/QGCParamSlider.h \
303
    src/ui/designer/QGCCommandButton.h \
304
    src/ui/designer/QGCToolWidgetItem.h \
305 306
    src/ui/QGCMAVLinkLogPlayer.h \
    src/comm/MAVLinkSimulationWaypointPlanner.h \
307
    src/comm/MAVLinkSimulationMAV.h \
308
    src/uas/QGCMAVLinkUASFactory.h \
309
    src/ui/QGCWaypointListMulti.h \
lm's avatar
lm committed
310
    src/ui/QGCUDPLinkConfiguration.h \
311
    src/ui/QGCSettingsWidget.h \
Mariano Lizarraga's avatar
Mariano Lizarraga committed
312
    src/ui/uas/UASControlParameters.h \
313 314
    src/ui/mission/QGCMissionDoWidget.h \
    src/ui/mission/QGCMissionConditionWidget.h \
lm's avatar
lm committed
315
    src/uas/QGCUASParamManager.h \
316 317
    src/ui/map/QGCMapWidget.h \
    src/ui/map/MAV2DIcon.h \
318
    src/ui/map/Waypoint2DIcon.h \
319
    src/ui/map/QGCMapTool.h \
lm's avatar
lm committed
320
    src/ui/map/QGCMapToolBar.h \
LM's avatar
LM committed
321
    src/libs/qextserialport/qextserialenumerator.h \
322
    src/QGCGeo.h \
lm's avatar
lm committed
323
    src/ui/QGCToolBar.h \
lm's avatar
lm committed
324
    src/ui/QGCMAVLinkInspector.h \
325
    src/ui/MAVLinkDecoder.h \
326
    src/ui/WaypointViewOnlyView.h \
327 328
    src/ui/WaypointViewOnlyView.h \
    src/ui/WaypointEditableView.h
329

330
# Google Earth is only supported on Mac OS and Windows with Visual Studio Compiler
Franz's avatar
Franz committed
331
macx|win32-msvc2008|win32-msvc2010::HEADERS += src/ui/map3D/QGCGoogleEarthView.h
332 333 334 335
contains(DEPENDENCIES_PRESENT, osg) { 
    message("Including headers for OpenSceneGraph")
    
    # Enable only if OpenSceneGraph is available
336
    HEADERS += src/ui/map3D/Q3DWidget.h \
337 338
        src/ui/map3D/GCManipulator.h \
        src/ui/map3D/ImageWindowGeode.h \
339 340 341
        src/ui/map3D/QOSGWidget.h \
        src/ui/map3D/PixhawkCheetahGeode.h \
        src/ui/map3D/Pixhawk3DWidget.h \
342 343 344 345 346
        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 \
347
        src/ui/map3D/Imagery.h \
348 349
        src/ui/map3D/HUDScaleGeode.h \
        src/ui/map3D/WaypointGroupNode.h
350 351 352 353 354 355
    contains(DEPENDENCIES_PRESENT, osgearth) { 
        message("Including headers for OSGEARTH")
        
        # Enable only if OpenSceneGraph is available
        HEADERS += src/ui/map3D/QMap3D.h
    }
356
}
357 358 359 360 361
contains(DEPENDENCIES_PRESENT, libfreenect) { 
    message("Including headers for libfreenect")
    
    # Enable only if libfreenect is available
    HEADERS += src/input/Freenect.h
362
}
pixhawk's avatar
pixhawk committed
363
SOURCES += src/main.cc \
lm's avatar
lm committed
364
    src/QGCCore.cc \
pixhawk's avatar
pixhawk committed
365 366 367
    src/uas/UASManager.cc \
    src/uas/UAS.cc \
    src/comm/LinkManager.cc \
368
    src/comm/LinkInterface.cpp \
pixhawk's avatar
pixhawk committed
369 370
    src/comm/SerialLink.cc \
    src/comm/MAVLinkProtocol.cc \
lm's avatar
lm committed
371
    src/comm/QGCFlightGearLink.cc \
pixhawk's avatar
pixhawk committed
372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397
    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 \
398
    src/LogCompressor.cc \
lm's avatar
lm committed
399
    src/ui/QGCParamWidget.cc \
400
    src/ui/QGCSensorSettingsWidget.cc \
401 402 403
    src/ui/linechart/Linecharts.cc \
    src/uas/SlugsMAV.cc \
    src/uas/PxQuadMAV.cc \
404
    src/uas/ArduPilotMegaMAV.cc \
pixhawk's avatar
pixhawk committed
405 406
    src/ui/watchdog/WatchdogControl.cc \
    src/ui/watchdog/WatchdogProcessView.cc \
407
    src/ui/watchdog/WatchdogView.cc \
408
    src/uas/UASWaypointManager.cc \
pixhawk's avatar
pixhawk committed
409
    src/ui/HSIDisplay.cc \
410 411
    src/QGC.cc \
    src/ui/QGCFirmwareUpdate.cc \
412
    src/ui/QGCPxImuFirmwareUpdate.cc \
413
    src/ui/QGCDataPlot2D.cc \
414
    src/ui/linechart/IncrementalPlot.cc \
pixhawk's avatar
pixhawk committed
415
    src/ui/QGCRemoteControlView.cc \
416 417 418
    src/ui/RadioCalibration/RadioCalibrationWindow.cc \
    src/ui/RadioCalibration/AirfoilServoCalibrator.cc \
    src/ui/RadioCalibration/SwitchCalibrator.cc \
419
    src/ui/RadioCalibration/CurveCalibrator.cc \
420
    src/ui/RadioCalibration/AbstractCalibrator.cc \
pixhawk's avatar
pixhawk committed
421 422
    src/ui/RadioCalibration/RadioCalibrationData.cc \
    src/ui/QGCWebView.cc \
423 424 425
    src/ui/map3D/QGCWebPage.cc \
    src/ui/SlugsDataSensorView.cc \
    src/ui/SlugsHilSim.cc \
pixhawk's avatar
pixhawk committed
426
    src/ui/SlugsPadCameraControl.cpp \
pixhawk's avatar
pixhawk committed
427
    src/ui/QGCMainWindowAPConfigurator.cc \
428
    src/comm/MAVLinkSwarmSimulationLink.cc \
429 430 431
    src/ui/uas/QGCUnconnectedInfoWidget.cc \
    src/ui/designer/QGCToolWidget.cc \
    src/ui/designer/QGCParamSlider.cc \
432
    src/ui/designer/QGCCommandButton.cc \
433
    src/ui/designer/QGCToolWidgetItem.cc \
434 435
    src/ui/QGCMAVLinkLogPlayer.cc \
    src/comm/MAVLinkSimulationWaypointPlanner.cc \
436 437
    src/comm/MAVLinkSimulationMAV.cc \
    src/uas/QGCMAVLinkUASFactory.cc \
438
    src/ui/QGCWaypointListMulti.cc \
lm's avatar
lm committed
439
    src/ui/QGCUDPLinkConfiguration.cc \
440
    src/ui/QGCSettingsWidget.cc \
Mariano Lizarraga's avatar
Mariano Lizarraga committed
441
    src/ui/uas/UASControlParameters.cpp \
442 443
    src/ui/mission/QGCMissionDoWidget.cc \
    src/ui/mission/QGCMissionConditionWidget.cc \
lm's avatar
lm committed
444
    src/uas/QGCUASParamManager.cc \
445 446
    src/ui/map/QGCMapWidget.cc \
    src/ui/map/MAV2DIcon.cc \
447
    src/ui/map/Waypoint2DIcon.cc \
448
    src/ui/map/QGCMapTool.cc \
449
    src/ui/map/QGCMapToolBar.cc \
lm's avatar
lm committed
450
    src/ui/QGCToolBar.cc \
lm's avatar
lm committed
451
    src/ui/QGCMAVLinkInspector.cc \
452
    src/ui/MAVLinkDecoder.cc \
453 454
    src/ui/WaypointViewOnlyView.cc \
    src/ui/WaypointEditableView.cc
455 456

# Enable Google Earth only on Mac OS and Windows with Visual Studio compiler
Franz's avatar
Franz committed
457
macx|win32-msvc2008|win32-msvc2010::SOURCES += src/ui/map3D/QGCGoogleEarthView.cc
458 459

# Enable OSG only if it has been found
460
contains(DEPENDENCIES_PRESENT, osg) { 
lm's avatar
lm committed
461
    message("Including sources for OpenSceneGraph")
462 463
    
    # Enable only if OpenSceneGraph is available
464
    SOURCES += src/ui/map3D/Q3DWidget.cc \
465 466 467
        src/ui/map3D/ImageWindowGeode.cc \
        src/ui/map3D/GCManipulator.cc \
        src/ui/map3D/QOSGWidget.cc \
468 469
        src/ui/map3D/PixhawkCheetahGeode.cc \
        src/ui/map3D/Pixhawk3DWidget.cc \
470 471 472 473 474
        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 \
475
        src/ui/map3D/Imagery.cc \
476
        src/ui/map3D/HUDScaleGeode.cc \
477
        src/ui/map3D/WaypointGroupNode.cc
478 479 480 481 482 483
    contains(DEPENDENCIES_PRESENT, osgearth) { 
        message("Including sources for osgEarth")
        
        # Enable only if OpenSceneGraph is available
        SOURCES += src/ui/map3D/QMap3D.cc
    }
484
}
485
contains(DEPENDENCIES_PRESENT, libfreenect) { 
lm's avatar
lm committed
486
    message("Including sources for libfreenect")
487
    
488 489
    # Enable only if libfreenect is available
    SOURCES += src/input/Freenect.cc
490
}
491 492 493

# Add icons and other resources
RESOURCES += qgroundcontrol.qrc
494 495

# Include RT-LAB Library
496
win32:exists(src/lib/opalrt/OpalApi.h):exists(C:/OPAL-RT/RT-LAB7.2.4/Common/bin) { 
497
    message("Building support for Opal-RT")
498
    LIBS += -LC:/OPAL-RT/RT-LAB7.2.4/Common/bin \
Bryan Godbolt's avatar
Bryan Godbolt committed
499
        -lOpalApi
500
    INCLUDEPATH += src/lib/opalrt
501 502
    HEADERS += src/comm/OpalRT.h \
        src/comm/OpalLink.h \
503
        src/comm/Parameter.h \
504
        src/comm/QGCParamID.h \
505 506
        src/comm/ParameterList.h \
        src/ui/OpalLinkConfigurationWindow.h
507 508 509 510
    SOURCES += src/comm/OpalRT.cc \
        src/comm/OpalLink.cc \
        src/comm/Parameter.cc \
        src/comm/QGCParamID.cc \
511 512 513
        src/comm/ParameterList.cc \
        src/ui/OpalLinkConfigurationWindow.cc
    FORMS += src/ui/OpalLinkSettings.ui
514
    DEFINES += OPAL_RT
515
}
516
TRANSLATIONS += es-MX.ts \
517
    en-US.ts
Franz's avatar
Franz committed
518

LM's avatar
LM committed
519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534
## xbee support
## libxbee only supported by linux and windows systems
##win32-msvc2008|win32-msvc2010|linux{
#    HEADERS += src/comm/XbeeLinkInterface.h \
#	src/comm/XbeeLink.h \
#	src/ui/XbeeConfigurationWindow.h \
#	src/comm/CallConv.h
#    SOURCES += src/comm/XbeeLink.cpp \
#	src/ui/XbeeConfigurationWindow.cpp
#    DEFINES += XBEELINK
#    INCLUDEPATH += thirdParty/libxbee
## TO DO: build library when it does not exists already
#    LIBS += -LthirdParty/libxbee/lib \
#	-llibxbee
#
#}