You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
474 lines
11 KiB
474 lines
11 KiB
# |
|
# Tell the Linux build to look in a few additional places for libs |
|
# |
|
|
|
LinuxBuild { |
|
INCLUDEPATH += \ |
|
/usr/include \ |
|
/usr/local/include |
|
|
|
LIBS += \ |
|
-L/usr/lib |
|
|
|
linux-g++-64 { |
|
LIBS += \ |
|
-L/usr/local/lib64 \ |
|
-L/usr/lib64 |
|
} |
|
} |
|
|
|
# |
|
# Add in a few missing headers to windows |
|
# |
|
|
|
WindowsBuild { |
|
INCLUDEPATH += libs/lib/msinttypes |
|
} |
|
|
|
# |
|
# QUpgrade |
|
# |
|
|
|
exists(qupgrade) { |
|
message(Including support for QUpgrade) |
|
|
|
DEFINES += QUPGRADE_SUPPORT |
|
|
|
INCLUDEPATH += qupgrade/src/apps/qupgrade |
|
|
|
FORMS += \ |
|
qupgrade/src/apps/qupgrade/dialog_bare.ui \ |
|
qupgrade/src/apps/qupgrade/boardwidget.ui |
|
|
|
HEADERS += \ |
|
qupgrade/src/apps/qupgrade/qgcfirmwareupgradeworker.h \ |
|
qupgrade/src/apps/qupgrade/uploader.h \ |
|
qupgrade/src/apps/qupgrade/dialog_bare.h \ |
|
qupgrade/src/apps/qupgrade/boardwidget.h |
|
|
|
SOURCES += \ |
|
qupgrade/src/apps/qupgrade/qgcfirmwareupgradeworker.cpp \ |
|
qupgrade/src/apps/qupgrade/uploader.cpp \ |
|
qupgrade/src/apps/qupgrade/dialog_bare.cpp \ |
|
qupgrade/src/apps/qupgrade/boardwidget.cpp |
|
|
|
RESOURCES += \ |
|
qupgrade/qupgrade.qrc |
|
|
|
LinuxBuild:CONFIG += qesp_linux_udev |
|
|
|
include(qupgrade/libs/qextserialport/src/qextserialport.pri) |
|
} else { |
|
message(Skipping support for QUpgrade) |
|
} |
|
|
|
# |
|
# MAVLink |
|
# |
|
|
|
MAVLINK_CONF = "" |
|
MAVLINKPATH = $$BASEDIR/libs/mavlink/include/mavlink/v1.0 |
|
DEFINES += MAVLINK_NO_DATA |
|
|
|
# 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. It will also |
|
# create a QGC_USE_{AUTOPILOT_NAME}_MESSAGES macro for use |
|
# within the actual code. |
|
exists(user_config.pri) { |
|
include(user_config.pri) |
|
message("----- USING CUSTOM USER QGROUNDCONTROL CONFIG FROM user_config.pri -----") |
|
message("Adding support for additional MAVLink messages for: " $$MAVLINK_CONF) |
|
message("------------------------------------------------------------------------") |
|
} else { |
|
MAVLINK_CONF += ardupilotmega |
|
} |
|
INCLUDEPATH += $$MAVLINKPATH |
|
isEmpty(MAVLINK_CONF) { |
|
INCLUDEPATH += $$MAVLINKPATH/common |
|
} else { |
|
INCLUDEPATH += $$MAVLINKPATH/$$MAVLINK_CONF |
|
DEFINES += $$sprintf('QGC_USE_%1_MESSAGES', $$upper($$MAVLINK_CONF)) |
|
} |
|
|
|
# |
|
# MAVLink generator (deprecated) |
|
# |
|
|
|
DEPENDPATH += \ |
|
src/apps/mavlinkgen |
|
|
|
INCLUDEPATH += \ |
|
src/apps/mavlinkgen \ |
|
src/apps/mavlinkgen/ui \ |
|
src/apps/mavlinkgen/generator |
|
|
|
include(src/apps/mavlinkgen/mavlinkgen.pri) |
|
|
|
# |
|
# OpenSceneGraph |
|
# |
|
|
|
MacBuild { |
|
# GLUT and OpenSceneGraph are part of standard install on Mac |
|
CONFIG += OSGDependency |
|
|
|
INCLUDEPATH += \ |
|
$$BASEDIR/libs/lib/mac64/include |
|
|
|
LIBS += \ |
|
-L$$BASEDIR/libs/lib/mac64/lib \ |
|
-losgWidget |
|
} |
|
|
|
LinuxBuild { |
|
exists(/usr/include/osg) | exists(/usr/local/include/osg) { |
|
CONFIG += OSGDependency |
|
exists(/usr/include/osg/osgQt) | exists(/usr/include/osgQt) | exists(/usr/local/include/osg/osgQt) | exists(/usr/local/include/osgQt) { |
|
message("Including support for Linux OpenSceneGraph Qt") |
|
LIBS += -losgQt |
|
DEFINES += QGC_OSG_QT_ENABLED |
|
} else { |
|
message("Skipping support for Linux OpenSceneGraph Qt") |
|
} |
|
} |
|
} |
|
|
|
WindowsBuild { |
|
exists($$BASEDIR/libs/lib/osg123) { |
|
CONFIG += OSGDependency |
|
|
|
INCLUDEPATH += \ |
|
$$BASEDIR/libs/lib/osgEarth/win32/include \ |
|
$$BASEDIR/libs/lib/osgEarth_3rdparty/win32/OpenSceneGraph-2.8.2/include |
|
|
|
LIBS += -L$$BASEDIR/libs/lib/osgEarth_3rdparty/win32/OpenSceneGraph-2.8.2/lib |
|
} |
|
} |
|
|
|
OSGDependency { |
|
message("Including support for OpenSceneGraph") |
|
|
|
DEFINES += QGC_OSG_ENABLED |
|
|
|
LIBS += \ |
|
-losg \ |
|
-losgViewer \ |
|
-losgGA \ |
|
-losgDB \ |
|
-losgText \ |
|
-lOpenThreads |
|
|
|
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 \ |
|
src/ui/map3D/GCManipulator.h \ |
|
src/ui/map3D/ImageWindowGeode.h \ |
|
src/ui/map3D/PixhawkCheetahNode.h \ |
|
src/ui/map3D/Pixhawk3DWidget.h \ |
|
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 \ |
|
src/ui/map3D/Imagery.h \ |
|
src/ui/map3D/HUDScaleGeode.h \ |
|
src/ui/map3D/WaypointGroupNode.h \ |
|
src/ui/map3D/TerrainParamDialog.h \ |
|
src/ui/map3D/ImageryParamDialog.h |
|
|
|
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 \ |
|
src/ui/map3D/ImageWindowGeode.cc \ |
|
src/ui/map3D/GCManipulator.cc \ |
|
src/ui/map3D/PixhawkCheetahNode.cc \ |
|
src/ui/map3D/Pixhawk3DWidget.cc \ |
|
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 \ |
|
src/ui/map3D/Imagery.cc \ |
|
src/ui/map3D/HUDScaleGeode.cc \ |
|
src/ui/map3D/WaypointGroupNode.cc \ |
|
src/ui/map3D/TerrainParamDialog.cc \ |
|
src/ui/map3D/ImageryParamDialog.cc |
|
} else { |
|
message("Skipping support for OpenSceneGraph") |
|
} |
|
|
|
# |
|
# Google Earth |
|
# |
|
|
|
MacBuild | WindowsBuild { |
|
message(Including support for Google Earth) |
|
|
|
HEADERS += src/ui/map3D/QGCGoogleEarthView.h |
|
SOURCES += src/ui/map3D/QGCGoogleEarthView.cc |
|
WindowsBuild { |
|
CONFIG += qaxcontainer |
|
} |
|
} else { |
|
message(Skipping support for Google Earth) |
|
} |
|
|
|
# |
|
# Protcol Buffers for PixHawk |
|
# |
|
|
|
LinuxBuild : contains(MAVLINK_CONF, pixhawk) { |
|
exists(/usr/local/include/google/protobuf) | exists(/usr/include/google/protobuf) { |
|
message("Including support for Protocol Buffers") |
|
|
|
DEFINES += QGC_PROTOBUF_ENABLED |
|
|
|
LIBS += \ |
|
-lprotobuf \ |
|
-lprotobuf-lite \ |
|
-lprotoc |
|
|
|
HEADERS += \ |
|
libs/mavlink/include/mavlink/v1.0/pixhawk/pixhawk.pb.h \ |
|
src/ui/map3D/ObstacleGroupNode.h \ |
|
src/ui/map3D/GLOverlayGeode.h |
|
|
|
SOURCES += \ |
|
libs/mavlink/share/mavlink/src/v1.0/pixhawk/pixhawk.pb.cc \ |
|
src/ui/map3D/ObstacleGroupNode.cc \ |
|
src/ui/map3D/GLOverlayGeode.cc |
|
} else { |
|
message("Skipping support for Protocol Buffers") |
|
} |
|
} else { |
|
message("Skipping support for Protocol Buffers") |
|
} |
|
|
|
# |
|
# libfreenect Kinect support |
|
# |
|
|
|
MacBuild | LinuxBuild { |
|
exists(/opt/local/include/libfreenect) | exists(/usr/local/include/libfreenect) { |
|
message("Including support for libfreenect") |
|
|
|
#INCLUDEPATH += /usr/include/libusb-1.0 |
|
DEFINES += QGC_LIBFREENECT_ENABLED |
|
LIBS += -lfreenect |
|
HEADERS += src/input/Freenect.h |
|
SOURCES += src/input/Freenect.cc |
|
} else { |
|
message("Skipping support for libfreenect") |
|
} |
|
} else { |
|
message("Skipping support for libfreenect") |
|
} |
|
|
|
# |
|
# EIGEN matrix library (NOMINMAX needed to make internal min/max work) |
|
# |
|
|
|
INCLUDEPATH += libs/eigen |
|
DEFINES += NOMINMAX |
|
|
|
# |
|
# OPMapControl library (from OpenPilot) |
|
# |
|
|
|
include(libs/utils/utils_external.pri) |
|
include(libs/opmapcontrol/opmapcontrol_external.pri) |
|
|
|
DEPENDPATH += \ |
|
libs/utils \ |
|
libs/utils/src \ |
|
libs/opmapcontrol \ |
|
libs/opmapcontrol/src \ |
|
libs/opmapcontrol/src/mapwidget |
|
|
|
INCLUDEPATH += \ |
|
libs/utils \ |
|
libs \ |
|
libs/opmapcontrol |
|
|
|
# |
|
# QWT plotting library |
|
# |
|
|
|
include(libs/qwt/qwt.pri) |
|
|
|
# |
|
# QSerialPort - serial port library |
|
# |
|
|
|
include(libs/serialport/qserialport.pri) |
|
|
|
WindowsBuild { |
|
# Used to enumerate serial ports by QSerialPort |
|
LIBS += -lsetupapi |
|
} |
|
|
|
|
|
# |
|
# XBee wireless |
|
# |
|
|
|
WindowsBuild | LinuxBuild { |
|
message(Including support for XBee) |
|
|
|
DEFINES += XBEELINK |
|
|
|
INCLUDEPATH += libs/thirdParty/libxbee |
|
|
|
HEADERS += \ |
|
src/comm/XbeeLinkInterface.h \ |
|
src/comm/XbeeLink.h \ |
|
src/comm/HexSpinBox.h \ |
|
src/ui/XbeeConfigurationWindow.h \ |
|
src/comm/CallConv.h |
|
|
|
SOURCES += \ |
|
src/comm/XbeeLink.cpp \ |
|
src/comm/HexSpinBox.cpp \ |
|
src/ui/XbeeConfigurationWindow.cpp |
|
|
|
WindowsBuild { |
|
LIBS += -l$$BASEDIR/libs/thirdParty/libxbee/lib/libxbee |
|
} |
|
|
|
LinuxBuild { |
|
LIBS += -L$$BASEDIR/libs/thirdParty/libxbee/lib \ |
|
-lxbee |
|
} |
|
} else { |
|
message(Skipping support for XBee) |
|
} |
|
|
|
# |
|
# 3DConnexion 3d Mice support |
|
# |
|
|
|
LinuxBuild : exists(/usr/local/lib/libxdrvlib.so) { |
|
message("Including support for Magellan 3DxWare") |
|
|
|
DEFINES += |
|
MOUSE_ENABLED_LINUX \ |
|
ParameterCheck # Hack: Has to be defined for magellan usage |
|
|
|
INCLUDEPATH *= /usr/local/include |
|
HEADERS += src/input/Mouse6dofInput.h |
|
SOURCES += src/input/Mouse6dofInput.cpp |
|
LIBS += -L/usr/local/lib/ -lxdrvlib |
|
} |
|
|
|
WindowsBuild { |
|
message("Including support for Magellan 3DxWare") |
|
|
|
DEFINES += MOUSE_ENABLED_WIN |
|
|
|
INCLUDEPATH += libs/thirdParty/3DMouse/win |
|
|
|
HEADERS += \ |
|
libs/thirdParty/3DMouse/win/I3dMouseParams.h \ |
|
libs/thirdParty/3DMouse/win/MouseParameters.h \ |
|
libs/thirdParty/3DMouse/win/Mouse3DInput.h \ |
|
src/input/Mouse6dofInput.h |
|
|
|
SOURCES += \ |
|
libs/thirdParty/3DMouse/win/MouseParameters.cpp \ |
|
libs/thirdParty/3DMouse/win/Mouse3DInput.cpp \ |
|
src/input/Mouse6dofInput.cpp |
|
} |
|
|
|
# |
|
# Opal RT-LAB Library |
|
# |
|
|
|
WindowsBuild : win32 : exists(src/lib/opalrt/OpalApi.h) : exists(C:/OPAL-RT/RT-LAB7.2.4/Common/bin) { |
|
message("Including support for Opal-RT") |
|
|
|
DEFINES += OPAL_RT |
|
|
|
INCLUDEPATH += |
|
src/lib/opalrt |
|
libs/lib/opal/include \ |
|
|
|
FORMS += src/ui/OpalLinkSettings.ui |
|
|
|
HEADERS += \ |
|
src/comm/OpalRT.h \ |
|
src/comm/OpalLink.h \ |
|
src/comm/Parameter.h \ |
|
src/comm/QGCParamID.h \ |
|
src/comm/ParameterList.h \ |
|
src/ui/OpalLinkConfigurationWindow.h |
|
|
|
SOURCES += \ |
|
src/comm/OpalRT.cc \ |
|
src/comm/OpalLink.cc \ |
|
src/comm/Parameter.cc \ |
|
src/comm/QGCParamID.cc \ |
|
src/comm/ParameterList.cc \ |
|
src/ui/OpalLinkConfigurationWindow.cc |
|
|
|
LIBS += \ |
|
-LC:/OPAL-RT/RT-LAB7.2.4/Common/bin \ |
|
-lOpalApi |
|
} else { |
|
message("Skipping support for Opal-RT") |
|
} |
|
|
|
# |
|
# SDL |
|
# |
|
|
|
MacBuild { |
|
INCLUDEPATH += \ |
|
$$BASEDIR/libs/lib/Frameworks/SDL.framework/Headers |
|
|
|
LIBS += \ |
|
-F$$BASEDIR/libs/lib/Frameworks \ |
|
-framework SDL |
|
} |
|
|
|
LinuxBuild { |
|
LIBS += \ |
|
-lSDL \ |
|
-lSDLmain |
|
} |
|
|
|
WindowsBuild { |
|
INCLUDEPATH += \ |
|
$$BASEDIR/libs/lib/sdl/msvc/include \ |
|
|
|
LIBS += \ |
|
-L$$BASEDIR/libs/lib/sdl/msvc/lib \ |
|
-lSDLmain \ |
|
-lSDL |
|
} |
|
|
|
# |
|
# Festival Lite speech synthesis engine |
|
# |
|
|
|
LinuxBuild { |
|
LIBS += \ |
|
-lflite_cmu_us_kal \ |
|
-lflite_usenglish \ |
|
-lflite_cmulex \ |
|
-lflite |
|
} |
|
|
|
|