Newer
Older
# -------------------------------------------------
# QGroundControl - Micro Air Vehicle Groundstation
# Please see our website at <http://qgroundcontrol.org>
# Maintainer:
# Lorenz Meier <lm@inf.ethz.ch>
# (c) 2009-2015 QGroundControl Developers
# -------------------------------------------------
error("You must use shadow build (e.g. mkdir build; cd build; qmake ../qgroundcontrol.pro).")
!equals(QT_MAJOR_VERSION, 5) | !greaterThan(QT_MINOR_VERSION, 4) {
error("Unsupported Qt version, 5.5+ is required")
DebugBuild {
DESTDIR = $${OUT_PWD}/debug
DESTDIR = $${OUT_PWD}/release
}
# 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)))
}
#
# Custom Build
#
# QGC will create a "CUSTOMCLASS" object (exposed by your custom build
# and derived from QGCCorePlugin).
# This is the start of allowing custom Plugins, which will eventually use a
# more defined runtime plugin architecture and not require a QGC project
# file you would have to keep in sync with the upstream repo.
#
# This allows you to ignore the custom build even if the custom build
# is present. It's useful to run "regular" builds to make sure you didn't
# break anything.
contains (CONFIG, QGC_DISABLE_CUSTOM_BUILD) {
message("Disable custom build override")
} else {
exists($$PWD/custom/custom.pri) {
message("Found custom build")
CONFIG += CustomBuild
DEFINES += QGC_CUSTOM_BUILD
# custom.pri must define:
# CUSTOMCLASS = YourIQGCCorePluginDerivation
# CUSTOMHEADER = \"\\\"YourIQGCCorePluginDerivation.h\\\"\"
include($$PWD/custom/custom.pri)
}
}
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#
# Plugin configuration
#
# This allows you to build custom versions of QGC which only includes your
# specific vehicle plugin. To remove support for a firmware type completely,
# disable both the Plugin and PluginFactory entries. To include custom support
# for an existing plugin type disable PluginFactory only. Then provide you own
# implementation of FirmwarePluginFactory and use the FirmwarePlugin and
# AutoPilotPlugin classes as the base clase for your derived plugin
# implementation.
contains (CONFIG, QGC_DISABLE_APM_PLUGIN) {
message("Disable APM Plugin")
} else {
CONFIG += APMFirmwarePlugin
}
contains (CONFIG, QGC_DISABLE_APM_PLUGIN_FACTORY) {
message("Disable APM Plugin Factory")
} else {
CONFIG += APMFirmwarePluginFactory
}
contains (CONFIG, QGC_DISABLE_PX4_PLUGIN) {
message("Disable PX4 Plugin")
} else {
CONFIG += PX4FirmwarePlugin
}
contains (CONFIG, QGC_DISABLE_PX4_PLUGIN_FACTORY) {
message("Disable PX4 Plugin Factory")
} else {
CONFIG += PX4FirmwarePluginFactory
}
# Bluetooth
contains (DEFINES, QGC_DISABLE_BLUETOOTH) {
message("Skipping support for Bluetooth (manual override from command line)")
DEFINES -= QGC_ENABLE_BLUETOOTH
} else:exists(user_config.pri):infile(user_config.pri, DEFINES, QGC_DISABLE_BLUETOOTH) {
message("Skipping support for Bluetooth (manual override from user_config.pri)")
DEFINES -= QGC_ENABLE_BLUETOOTH
} else:exists(user_config.pri):infile(user_config.pri, DEFINES, QGC_ENABLE_BLUETOOTH) {
message("Including support for Bluetooth (manual override from user_config.pri)")
DEFINES += QGC_ENABLE_BLUETOOTH
}
# USB Camera and UVC Video Sources
contains (DEFINES, QGC_DISABLE_UVC) {
message("Skipping support for UVC devices (manual override from command line)")
} else:exists(user_config.pri):infile(user_config.pri, DEFINES, QGC_DISABLE_UVC) {
message("Skipping support for UVC devices (manual override from user_config.pri)")
} else:LinuxBuild {
contains(QT_VERSION, 5.5.1) {
message("Skipping support for UVC devices (conflict with Qt 5.5.1 on Ubuntu)")
DEFINES += QGC_DISABLE_UVC
}
LinuxBuild {
CONFIG += link_pkgconfig
}
# Qt configuration
CONFIG += qt \
Tomaz Canabrava
committed
thread \
contains(DEFINES, ENABLE_VERBOSE_OUTPUT) {
message("Enable verbose compiler output (manual override from command line)")
} else:exists(user_config.pri):infile(user_config.pri, DEFINES, ENABLE_VERBOSE_OUTPUT) {
message("Enable verbose compiler output (manual override from user_config.pri)")
} else {
CONFIG += \
QT += \
concurrent \
gui \
location \
opengl \
positioning \
qml \
quick \
quickwidgets \
sql \
svg \
widgets \
xml
# Multimedia only used if QVC is enabled
!contains (DEFINES, QGC_DISABLE_UVC) {
QT += \
multimedia
}
printsupport \
serialport \
}
# testlib is needed even in release flavor for QSignalSpy support
QT += testlib
ReleaseBuild {
# We don't need the testlib console in release mode
QT.testlib.CONFIG -= console
}
#
# OS Specific settings
#
MacBuild {
QMAKE_INFO_PLIST = Custom-Info.plist
ICON = $${BASEDIR}/resources/icons/macx.icns
OTHER_FILES += Custom-Info.plist
equals(QT_MAJOR_VERSION, 5) | greaterThan(QT_MINOR_VERSION, 5) {
LIBS += -framework ApplicationServices
}
}
iOSBuild {
BUNDLE.files = $$files($$PWD/ios/AppIcon*.png) $$PWD/ios/QGCLaunchScreen.xib
QMAKE_BUNDLE_DATA += BUNDLE
LIBS += -framework AVFoundation
Loading
Loading full blame...