From 2610a4c46339553662ab78ac5d8d35d241b4795b Mon Sep 17 00:00:00 2001 From: James Duley Date: Thu, 23 Apr 2015 15:02:12 +1200 Subject: [PATCH] OP-1853 Ground build tidy: make the gcs build handle generating its own UAVOs. This removes warnings and better handles dependencies to speed up rebuilds New file uavobjgenerator.pri define a qmake compiler of the uavobjgenerator --- Makefile | 2 +- .../src/plugins/uavobjects/uavobjects.pri | 2 + .../src/plugins/uavobjects/uavobjects.pro | 348 +++++++----------- .../uavobjects/uavobjects_dependencies.pri | 7 - .../plugins/uavobjects/uavobjgenerator.pri | 39 ++ 5 files changed, 168 insertions(+), 230 deletions(-) create mode 100644 ground/openpilotgcs/src/plugins/uavobjects/uavobjgenerator.pri diff --git a/Makefile b/Makefile index 119d36027..256bfff1b 100644 --- a/Makefile +++ b/Makefile @@ -468,7 +468,7 @@ openpilotgcs_qmake $(OPENPILOTGCS_MAKEFILE): | $(OPENPILOTGCS_DIR) -spec $(QT_SPEC) -r CONFIG+=$(GCS_BUILD_CONF) CONFIG+=$(GCS_SILENT) $(GCS_QMAKE_OPTS) .PHONY: openpilotgcs -openpilotgcs: uavobjects_gcs $(OPENPILOTGCS_MAKEFILE) +openpilotgcs: $(UAVOBJGENERATOR) $(OPENPILOTGCS_MAKEFILE) $(V1) $(MAKE) -w -C $(OPENPILOTGCS_DIR)/$(MAKE_DIR); .PHONY: openpilotgcs_clean diff --git a/ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pri b/ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pri index dbe866573..617685dbf 100644 --- a/ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pri +++ b/ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pri @@ -2,5 +2,7 @@ include(uavobjects_dependencies.pri) # Add the include path to the built-in uavobject include files. INCLUDEPATH += $$PWD +# Add the include path to the generated uavobject include files. +INCLUDEPATH += $$shadowed($$PWD) LIBS *= -l$$qtLibraryName(UAVObjects) diff --git a/ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro b/ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro index 0c3eb2e13..54ec84cce 100644 --- a/ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro +++ b/ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro @@ -25,227 +25,131 @@ SOURCES += \ OTHER_FILES += UAVObjects.pluginspec -# Add in all of the synthetic/generated uavobject files -HEADERS += \ - $$UAVOBJECT_SYNTHETICS/statusgrounddrive.h \ - $$UAVOBJECT_SYNTHETICS/statusvtolautotakeoff.h \ - $$UAVOBJECT_SYNTHETICS/pidstatus.h \ - $$UAVOBJECT_SYNTHETICS/statusvtolland.h \ - $$UAVOBJECT_SYNTHETICS/vtolselftuningstats.h \ - $$UAVOBJECT_SYNTHETICS/accelgyrosettings.h \ - $$UAVOBJECT_SYNTHETICS/accessorydesired.h \ - $$UAVOBJECT_SYNTHETICS/barosensor.h \ - $$UAVOBJECT_SYNTHETICS/airspeedsensor.h \ - $$UAVOBJECT_SYNTHETICS/airspeedsettings.h \ - $$UAVOBJECT_SYNTHETICS/airspeedstate.h \ - $$UAVOBJECT_SYNTHETICS/attitudestate.h \ - $$UAVOBJECT_SYNTHETICS/attitudesimulated.h \ - $$UAVOBJECT_SYNTHETICS/altitudeholdsettings.h \ - $$UAVOBJECT_SYNTHETICS/altitudeholdstatus.h \ - $$UAVOBJECT_SYNTHETICS/altitudefiltersettings.h \ - $$UAVOBJECT_SYNTHETICS/debuglogsettings.h \ - $$UAVOBJECT_SYNTHETICS/debuglogcontrol.h \ - $$UAVOBJECT_SYNTHETICS/debuglogstatus.h \ - $$UAVOBJECT_SYNTHETICS/debuglogentry.h \ - $$UAVOBJECT_SYNTHETICS/ekfconfiguration.h \ - $$UAVOBJECT_SYNTHETICS/ekfstatevariance.h \ - $$UAVOBJECT_SYNTHETICS/revocalibration.h \ - $$UAVOBJECT_SYNTHETICS/revosettings.h \ - $$UAVOBJECT_SYNTHETICS/gcstelemetrystats.h \ - $$UAVOBJECT_SYNTHETICS/gyrostate.h \ - $$UAVOBJECT_SYNTHETICS/gyrosensor.h \ - $$UAVOBJECT_SYNTHETICS/accelsensor.h \ - $$UAVOBJECT_SYNTHETICS/accelstate.h \ - $$UAVOBJECT_SYNTHETICS/magsensor.h \ - $$UAVOBJECT_SYNTHETICS/magstate.h \ - $$UAVOBJECT_SYNTHETICS/camerastabsettings.h \ - $$UAVOBJECT_SYNTHETICS/flighttelemetrystats.h \ - $$UAVOBJECT_SYNTHETICS/systemstats.h \ - $$UAVOBJECT_SYNTHETICS/systemalarms.h \ - $$UAVOBJECT_SYNTHETICS/objectpersistence.h \ - $$UAVOBJECT_SYNTHETICS/overosyncstats.h \ - $$UAVOBJECT_SYNTHETICS/overosyncsettings.h \ - $$UAVOBJECT_SYNTHETICS/systemsettings.h \ - $$UAVOBJECT_SYNTHETICS/stabilizationstatus.h \ - $$UAVOBJECT_SYNTHETICS/stabilizationsettings.h \ - $$UAVOBJECT_SYNTHETICS/stabilizationsettingsbank1.h \ - $$UAVOBJECT_SYNTHETICS/stabilizationsettingsbank2.h \ - $$UAVOBJECT_SYNTHETICS/stabilizationsettingsbank3.h \ - $$UAVOBJECT_SYNTHETICS/stabilizationbank.h \ - $$UAVOBJECT_SYNTHETICS/manualcontrolsettings.h \ - $$UAVOBJECT_SYNTHETICS/manualcontrolcommand.h \ - $$UAVOBJECT_SYNTHETICS/flightmodesettings.h \ - $$UAVOBJECT_SYNTHETICS/stabilizationdesired.h \ - $$UAVOBJECT_SYNTHETICS/actuatorsettings.h \ - $$UAVOBJECT_SYNTHETICS/actuatordesired.h \ - $$UAVOBJECT_SYNTHETICS/actuatorcommand.h \ - $$UAVOBJECT_SYNTHETICS/gpspositionsensor.h \ - $$UAVOBJECT_SYNTHETICS/gpstime.h \ - $$UAVOBJECT_SYNTHETICS/gpssatellites.h \ - $$UAVOBJECT_SYNTHETICS/gpssettings.h \ - $$UAVOBJECT_SYNTHETICS/pathaction.h \ - $$UAVOBJECT_SYNTHETICS/pathdesired.h \ - $$UAVOBJECT_SYNTHETICS/pathplan.h \ - $$UAVOBJECT_SYNTHETICS/pathstatus.h \ - $$UAVOBJECT_SYNTHETICS/pathsummary.h \ - $$UAVOBJECT_SYNTHETICS/gpsvelocitysensor.h \ - $$UAVOBJECT_SYNTHETICS/positionstate.h \ - $$UAVOBJECT_SYNTHETICS/flightbatterystate.h \ - $$UAVOBJECT_SYNTHETICS/homelocation.h \ - $$UAVOBJECT_SYNTHETICS/mixersettings.h \ - $$UAVOBJECT_SYNTHETICS/mixerstatus.h \ - $$UAVOBJECT_SYNTHETICS/velocitydesired.h \ - $$UAVOBJECT_SYNTHETICS/velocitystate.h \ - $$UAVOBJECT_SYNTHETICS/groundtruth.h \ - $$UAVOBJECT_SYNTHETICS/fixedwingpathfollowersettings.h \ - $$UAVOBJECT_SYNTHETICS/fixedwingpathfollowerstatus.h \ - $$UAVOBJECT_SYNTHETICS/vtolpathfollowersettings.h \ - $$UAVOBJECT_SYNTHETICS/groundpathfollowersettings.h \ - $$UAVOBJECT_SYNTHETICS/ratedesired.h \ - $$UAVOBJECT_SYNTHETICS/firmwareiapobj.h \ - $$UAVOBJECT_SYNTHETICS/i2cstats.h \ - $$UAVOBJECT_SYNTHETICS/flightbatterysettings.h \ - $$UAVOBJECT_SYNTHETICS/taskinfo.h \ - $$UAVOBJECT_SYNTHETICS/callbackinfo.h \ - $$UAVOBJECT_SYNTHETICS/flightplanstatus.h \ - $$UAVOBJECT_SYNTHETICS/flightplansettings.h \ - $$UAVOBJECT_SYNTHETICS/flightplancontrol.h \ - $$UAVOBJECT_SYNTHETICS/watchdogstatus.h \ - $$UAVOBJECT_SYNTHETICS/nedaccel.h \ - $$UAVOBJECT_SYNTHETICS/sonaraltitude.h \ - $$UAVOBJECT_SYNTHETICS/flightstatus.h \ - $$UAVOBJECT_SYNTHETICS/hwsettings.h \ - $$UAVOBJECT_SYNTHETICS/gcsreceiver.h \ - $$UAVOBJECT_SYNTHETICS/receiveractivity.h \ - $$UAVOBJECT_SYNTHETICS/attitudesettings.h \ - $$UAVOBJECT_SYNTHETICS/txpidsettings.h \ - $$UAVOBJECT_SYNTHETICS/cameradesired.h \ - $$UAVOBJECT_SYNTHETICS/faultsettings.h \ - $$UAVOBJECT_SYNTHETICS/poilearnsettings.h \ - $$UAVOBJECT_SYNTHETICS/poilocation.h \ - $$UAVOBJECT_SYNTHETICS/oplinksettings.h \ - $$UAVOBJECT_SYNTHETICS/oplinkstatus.h \ - $$UAVOBJECT_SYNTHETICS/oplinkreceiver.h \ - $$UAVOBJECT_SYNTHETICS/radiocombridgestats.h \ - $$UAVOBJECT_SYNTHETICS/osdsettings.h \ - $$UAVOBJECT_SYNTHETICS/waypoint.h \ - $$UAVOBJECT_SYNTHETICS/waypointactive.h \ - $$UAVOBJECT_SYNTHETICS/mpu6000settings.h \ - $$UAVOBJECT_SYNTHETICS/takeofflocation.h \ - $$UAVOBJECT_SYNTHETICS/auxmagsensor.h \ - $$UAVOBJECT_SYNTHETICS/auxmagsettings.h \ - $$UAVOBJECT_SYNTHETICS/gpsextendedstatus.h \ - $$UAVOBJECT_SYNTHETICS/perfcounter.h +UAVOBJ_XML_DIR = $${ROOT_DIR}/shared/uavobjectdefinition +UAVOBJ_ROOT_DIR = $${ROOT_DIR} -SOURCES += \ - $$UAVOBJECT_SYNTHETICS/statusgrounddrive.cpp \ - $$UAVOBJECT_SYNTHETICS/statusvtolautotakeoff.cpp \ - $$UAVOBJECT_SYNTHETICS/pidstatus.cpp \ - $$UAVOBJECT_SYNTHETICS/statusvtolland.cpp \ - $$UAVOBJECT_SYNTHETICS/vtolselftuningstats.cpp \ - $$UAVOBJECT_SYNTHETICS/accelgyrosettings.cpp \ - $$UAVOBJECT_SYNTHETICS/accessorydesired.cpp \ - $$UAVOBJECT_SYNTHETICS/barosensor.cpp \ - $$UAVOBJECT_SYNTHETICS/airspeedsensor.cpp \ - $$UAVOBJECT_SYNTHETICS/airspeedsettings.cpp \ - $$UAVOBJECT_SYNTHETICS/airspeedstate.cpp \ - $$UAVOBJECT_SYNTHETICS/attitudestate.cpp \ - $$UAVOBJECT_SYNTHETICS/attitudesimulated.cpp \ - $$UAVOBJECT_SYNTHETICS/altitudeholdsettings.cpp \ - $$UAVOBJECT_SYNTHETICS/altitudeholdstatus.cpp \ - $$UAVOBJECT_SYNTHETICS/debuglogsettings.cpp \ - $$UAVOBJECT_SYNTHETICS/debuglogcontrol.cpp \ - $$UAVOBJECT_SYNTHETICS/debuglogstatus.cpp \ - $$UAVOBJECT_SYNTHETICS/debuglogentry.cpp \ - $$UAVOBJECT_SYNTHETICS/altitudefiltersettings.cpp \ - $$UAVOBJECT_SYNTHETICS/ekfconfiguration.cpp \ - $$UAVOBJECT_SYNTHETICS/ekfstatevariance.cpp \ - $$UAVOBJECT_SYNTHETICS/revocalibration.cpp \ - $$UAVOBJECT_SYNTHETICS/revosettings.cpp \ - $$UAVOBJECT_SYNTHETICS/gcstelemetrystats.cpp \ - $$UAVOBJECT_SYNTHETICS/accelsensor.cpp \ - $$UAVOBJECT_SYNTHETICS/accelstate.cpp \ - $$UAVOBJECT_SYNTHETICS/gyrostate.cpp \ - $$UAVOBJECT_SYNTHETICS/gyrosensor.cpp \ - $$UAVOBJECT_SYNTHETICS/magsensor.cpp \ - $$UAVOBJECT_SYNTHETICS/magstate.cpp \ - $$UAVOBJECT_SYNTHETICS/camerastabsettings.cpp \ - $$UAVOBJECT_SYNTHETICS/flighttelemetrystats.cpp \ - $$UAVOBJECT_SYNTHETICS/systemstats.cpp \ - $$UAVOBJECT_SYNTHETICS/systemalarms.cpp \ - $$UAVOBJECT_SYNTHETICS/objectpersistence.cpp \ - $$UAVOBJECT_SYNTHETICS/overosyncstats.cpp \ - $$UAVOBJECT_SYNTHETICS/overosyncsettings.cpp \ - $$UAVOBJECT_SYNTHETICS/systemsettings.cpp \ - $$UAVOBJECT_SYNTHETICS/stabilizationstatus.cpp \ - $$UAVOBJECT_SYNTHETICS/stabilizationsettings.cpp \ - $$UAVOBJECT_SYNTHETICS/stabilizationsettingsbank1.cpp \ - $$UAVOBJECT_SYNTHETICS/stabilizationsettingsbank2.cpp \ - $$UAVOBJECT_SYNTHETICS/stabilizationsettingsbank3.cpp \ - $$UAVOBJECT_SYNTHETICS/stabilizationbank.cpp \ - $$UAVOBJECT_SYNTHETICS/manualcontrolsettings.cpp \ - $$UAVOBJECT_SYNTHETICS/manualcontrolcommand.cpp \ - $$UAVOBJECT_SYNTHETICS/flightmodesettings.cpp \ - $$UAVOBJECT_SYNTHETICS/stabilizationdesired.cpp \ - $$UAVOBJECT_SYNTHETICS/actuatorsettings.cpp \ - $$UAVOBJECT_SYNTHETICS/actuatordesired.cpp \ - $$UAVOBJECT_SYNTHETICS/actuatorcommand.cpp \ - $$UAVOBJECT_SYNTHETICS/gpspositionsensor.cpp \ - $$UAVOBJECT_SYNTHETICS/gpstime.cpp \ - $$UAVOBJECT_SYNTHETICS/gpssatellites.cpp \ - $$UAVOBJECT_SYNTHETICS/gpssettings.cpp \ - $$UAVOBJECT_SYNTHETICS/pathaction.cpp \ - $$UAVOBJECT_SYNTHETICS/pathdesired.cpp \ - $$UAVOBJECT_SYNTHETICS/pathplan.cpp \ - $$UAVOBJECT_SYNTHETICS/pathstatus.cpp \ - $$UAVOBJECT_SYNTHETICS/pathsummary.cpp \ - $$UAVOBJECT_SYNTHETICS/gpsvelocitysensor.cpp \ - $$UAVOBJECT_SYNTHETICS/positionstate.cpp \ - $$UAVOBJECT_SYNTHETICS/flightbatterystate.cpp \ - $$UAVOBJECT_SYNTHETICS/homelocation.cpp \ - $$UAVOBJECT_SYNTHETICS/mixersettings.cpp \ - $$UAVOBJECT_SYNTHETICS/mixerstatus.cpp \ - $$UAVOBJECT_SYNTHETICS/velocitydesired.cpp \ - $$UAVOBJECT_SYNTHETICS/velocitystate.cpp \ - $$UAVOBJECT_SYNTHETICS/groundtruth.cpp \ - $$UAVOBJECT_SYNTHETICS/fixedwingpathfollowersettings.cpp \ - $$UAVOBJECT_SYNTHETICS/fixedwingpathfollowerstatus.cpp \ - $$UAVOBJECT_SYNTHETICS/vtolpathfollowersettings.cpp \ - $$UAVOBJECT_SYNTHETICS/groundpathfollowersettings.cpp \ - $$UAVOBJECT_SYNTHETICS/ratedesired.cpp \ - $$UAVOBJECT_SYNTHETICS/firmwareiapobj.cpp \ - $$UAVOBJECT_SYNTHETICS/i2cstats.cpp \ - $$UAVOBJECT_SYNTHETICS/flightbatterysettings.cpp \ - $$UAVOBJECT_SYNTHETICS/taskinfo.cpp \ - $$UAVOBJECT_SYNTHETICS/callbackinfo.cpp \ - $$UAVOBJECT_SYNTHETICS/flightplanstatus.cpp \ - $$UAVOBJECT_SYNTHETICS/flightplansettings.cpp \ - $$UAVOBJECT_SYNTHETICS/flightplancontrol.cpp \ - $$UAVOBJECT_SYNTHETICS/watchdogstatus.cpp \ - $$UAVOBJECT_SYNTHETICS/nedaccel.cpp \ - $$UAVOBJECT_SYNTHETICS/sonaraltitude.cpp \ - $$UAVOBJECT_SYNTHETICS/uavobjectsinit.cpp \ - $$UAVOBJECT_SYNTHETICS/flightstatus.cpp \ - $$UAVOBJECT_SYNTHETICS/hwsettings.cpp \ - $$UAVOBJECT_SYNTHETICS/gcsreceiver.cpp \ - $$UAVOBJECT_SYNTHETICS/receiveractivity.cpp \ - $$UAVOBJECT_SYNTHETICS/attitudesettings.cpp \ - $$UAVOBJECT_SYNTHETICS/txpidsettings.cpp \ - $$UAVOBJECT_SYNTHETICS/cameradesired.cpp \ - $$UAVOBJECT_SYNTHETICS/faultsettings.cpp \ - $$UAVOBJECT_SYNTHETICS/poilearnsettings.cpp \ - $$UAVOBJECT_SYNTHETICS/poilocation.cpp \ - $$UAVOBJECT_SYNTHETICS/oplinksettings.cpp \ - $$UAVOBJECT_SYNTHETICS/oplinkstatus.cpp \ - $$UAVOBJECT_SYNTHETICS/oplinkreceiver.cpp \ - $$UAVOBJECT_SYNTHETICS/radiocombridgestats.cpp \ - $$UAVOBJECT_SYNTHETICS/osdsettings.cpp \ - $$UAVOBJECT_SYNTHETICS/waypoint.cpp \ - $$UAVOBJECT_SYNTHETICS/waypointactive.cpp \ - $$UAVOBJECT_SYNTHETICS/mpu6000settings.cpp \ - $$UAVOBJECT_SYNTHETICS/takeofflocation.cpp \ - $$UAVOBJECT_SYNTHETICS/auxmagsensor.cpp \ - $$UAVOBJECT_SYNTHETICS/auxmagsettings.cpp \ - $$UAVOBJECT_SYNTHETICS/gpsextendedstatus.cpp \ - $$UAVOBJECT_SYNTHETICS/perfcounter.cpp +CONFIG(debug, debug|release) { + BUILD_CONF = debug +} else { + BUILD_CONF = release +} +win32 { + UAVOBJGENERATOR = ../../../../uavobjgenerator/$${BUILD_CONF}/uavobjgenerator.exe +} else { + UAVOBJGENERATOR = ../../../../uavobjgenerator/uavobjgenerator +} + +# Add in all of the uavobjects +UAVOBJS = \ + $${UAVOBJ_XML_DIR}/statusgrounddrive.xml \ + $${UAVOBJ_XML_DIR}/statusvtolautotakeoff.xml \ + $${UAVOBJ_XML_DIR}/pidstatus.xml \ + $${UAVOBJ_XML_DIR}/statusvtolland.xml \ + $${UAVOBJ_XML_DIR}/vtolselftuningstats.xml \ + $${UAVOBJ_XML_DIR}/accelgyrosettings.xml \ + $${UAVOBJ_XML_DIR}/accessorydesired.xml \ + $${UAVOBJ_XML_DIR}/barosensor.xml \ + $${UAVOBJ_XML_DIR}/airspeedsensor.xml \ + $${UAVOBJ_XML_DIR}/airspeedsettings.xml \ + $${UAVOBJ_XML_DIR}/airspeedstate.xml \ + $${UAVOBJ_XML_DIR}/attitudestate.xml \ + $${UAVOBJ_XML_DIR}/attitudesimulated.xml \ + $${UAVOBJ_XML_DIR}/altitudeholdsettings.xml \ + $${UAVOBJ_XML_DIR}/altitudeholdstatus.xml \ + $${UAVOBJ_XML_DIR}/altitudefiltersettings.xml \ + $${UAVOBJ_XML_DIR}/debuglogsettings.xml \ + $${UAVOBJ_XML_DIR}/debuglogcontrol.xml \ + $${UAVOBJ_XML_DIR}/debuglogstatus.xml \ + $${UAVOBJ_XML_DIR}/debuglogentry.xml \ + $${UAVOBJ_XML_DIR}/ekfconfiguration.xml \ + $${UAVOBJ_XML_DIR}/ekfstatevariance.xml \ + $${UAVOBJ_XML_DIR}/revocalibration.xml \ + $${UAVOBJ_XML_DIR}/revosettings.xml \ + $${UAVOBJ_XML_DIR}/gcstelemetrystats.xml \ + $${UAVOBJ_XML_DIR}/gyrostate.xml \ + $${UAVOBJ_XML_DIR}/gyrosensor.xml \ + $${UAVOBJ_XML_DIR}/accelsensor.xml \ + $${UAVOBJ_XML_DIR}/accelstate.xml \ + $${UAVOBJ_XML_DIR}/magsensor.xml \ + $${UAVOBJ_XML_DIR}/magstate.xml \ + $${UAVOBJ_XML_DIR}/camerastabsettings.xml \ + $${UAVOBJ_XML_DIR}/flighttelemetrystats.xml \ + $${UAVOBJ_XML_DIR}/systemstats.xml \ + $${UAVOBJ_XML_DIR}/systemalarms.xml \ + $${UAVOBJ_XML_DIR}/objectpersistence.xml \ + $${UAVOBJ_XML_DIR}/overosyncstats.xml \ + $${UAVOBJ_XML_DIR}/overosyncsettings.xml \ + $${UAVOBJ_XML_DIR}/systemsettings.xml \ + $${UAVOBJ_XML_DIR}/stabilizationstatus.xml \ + $${UAVOBJ_XML_DIR}/stabilizationsettings.xml \ + $${UAVOBJ_XML_DIR}/stabilizationsettingsbank1.xml \ + $${UAVOBJ_XML_DIR}/stabilizationsettingsbank2.xml \ + $${UAVOBJ_XML_DIR}/stabilizationsettingsbank3.xml \ + $${UAVOBJ_XML_DIR}/stabilizationbank.xml \ + $${UAVOBJ_XML_DIR}/manualcontrolsettings.xml \ + $${UAVOBJ_XML_DIR}/manualcontrolcommand.xml \ + $${UAVOBJ_XML_DIR}/flightmodesettings.xml \ + $${UAVOBJ_XML_DIR}/stabilizationdesired.xml \ + $${UAVOBJ_XML_DIR}/actuatorsettings.xml \ + $${UAVOBJ_XML_DIR}/actuatordesired.xml \ + $${UAVOBJ_XML_DIR}/actuatorcommand.xml \ + $${UAVOBJ_XML_DIR}/gpspositionsensor.xml \ + $${UAVOBJ_XML_DIR}/gpstime.xml \ + $${UAVOBJ_XML_DIR}/gpssatellites.xml \ + $${UAVOBJ_XML_DIR}/gpssettings.xml \ + $${UAVOBJ_XML_DIR}/pathaction.xml \ + $${UAVOBJ_XML_DIR}/pathdesired.xml \ + $${UAVOBJ_XML_DIR}/pathplan.xml \ + $${UAVOBJ_XML_DIR}/pathstatus.xml \ + $${UAVOBJ_XML_DIR}/pathsummary.xml \ + $${UAVOBJ_XML_DIR}/gpsvelocitysensor.xml \ + $${UAVOBJ_XML_DIR}/positionstate.xml \ + $${UAVOBJ_XML_DIR}/flightbatterystate.xml \ + $${UAVOBJ_XML_DIR}/homelocation.xml \ + $${UAVOBJ_XML_DIR}/mixersettings.xml \ + $${UAVOBJ_XML_DIR}/mixerstatus.xml \ + $${UAVOBJ_XML_DIR}/velocitydesired.xml \ + $${UAVOBJ_XML_DIR}/velocitystate.xml \ + $${UAVOBJ_XML_DIR}/groundtruth.xml \ + $${UAVOBJ_XML_DIR}/fixedwingpathfollowersettings.xml \ + $${UAVOBJ_XML_DIR}/fixedwingpathfollowerstatus.xml \ + $${UAVOBJ_XML_DIR}/vtolpathfollowersettings.xml \ + $${UAVOBJ_XML_DIR}/groundpathfollowersettings.xml \ + $${UAVOBJ_XML_DIR}/ratedesired.xml \ + $${UAVOBJ_XML_DIR}/firmwareiapobj.xml \ + $${UAVOBJ_XML_DIR}/i2cstats.xml \ + $${UAVOBJ_XML_DIR}/flightbatterysettings.xml \ + $${UAVOBJ_XML_DIR}/taskinfo.xml \ + $${UAVOBJ_XML_DIR}/callbackinfo.xml \ + $${UAVOBJ_XML_DIR}/flightplanstatus.xml \ + $${UAVOBJ_XML_DIR}/flightplansettings.xml \ + $${UAVOBJ_XML_DIR}/flightplancontrol.xml \ + $${UAVOBJ_XML_DIR}/watchdogstatus.xml \ + $${UAVOBJ_XML_DIR}/nedaccel.xml \ + $${UAVOBJ_XML_DIR}/sonaraltitude.xml \ + $${UAVOBJ_XML_DIR}/flightstatus.xml \ + $${UAVOBJ_XML_DIR}/hwsettings.xml \ + $${UAVOBJ_XML_DIR}/gcsreceiver.xml \ + $${UAVOBJ_XML_DIR}/receiveractivity.xml \ + $${UAVOBJ_XML_DIR}/attitudesettings.xml \ + $${UAVOBJ_XML_DIR}/txpidsettings.xml \ + $${UAVOBJ_XML_DIR}/cameradesired.xml \ + $${UAVOBJ_XML_DIR}/faultsettings.xml \ + $${UAVOBJ_XML_DIR}/poilearnsettings.xml \ + $${UAVOBJ_XML_DIR}/poilocation.xml \ + $${UAVOBJ_XML_DIR}/oplinksettings.xml \ + $${UAVOBJ_XML_DIR}/oplinkstatus.xml \ + $${UAVOBJ_XML_DIR}/oplinkreceiver.xml \ + $${UAVOBJ_XML_DIR}/radiocombridgestats.xml \ + $${UAVOBJ_XML_DIR}/osdsettings.xml \ + $${UAVOBJ_XML_DIR}/waypoint.xml \ + $${UAVOBJ_XML_DIR}/waypointactive.xml \ + $${UAVOBJ_XML_DIR}/mpu6000settings.xml \ + $${UAVOBJ_XML_DIR}/takeofflocation.xml \ + $${UAVOBJ_XML_DIR}/auxmagsensor.xml \ + $${UAVOBJ_XML_DIR}/auxmagsettings.xml \ + $${UAVOBJ_XML_DIR}/gpsextendedstatus.xml \ + $${UAVOBJ_XML_DIR}/perfcounter.xml + +include(uavobjgenerator.pri) diff --git a/ground/openpilotgcs/src/plugins/uavobjects/uavobjects_dependencies.pri b/ground/openpilotgcs/src/plugins/uavobjects/uavobjects_dependencies.pri index 9cf42e484..7f369f632 100644 --- a/ground/openpilotgcs/src/plugins/uavobjects/uavobjects_dependencies.pri +++ b/ground/openpilotgcs/src/plugins/uavobjects/uavobjects_dependencies.pri @@ -1,9 +1,2 @@ include(../../plugins/coreplugin/coreplugin.pri) include(../../libs/utils/utils.pri) - -# Provide the path to the auto-generated uavobject source files for the GCS. -UAVOBJECT_SYNTHETICS=$${GCS_BUILD_TREE}/../uavobject-synthetics/gcs -#message(UAVOBJECT_SYNTHETICS is $$UAVOBJECT_SYNTHETICS) - -# Add the include path to the auto-generated uavobject include files. -INCLUDEPATH += $$UAVOBJECT_SYNTHETICS diff --git a/ground/openpilotgcs/src/plugins/uavobjects/uavobjgenerator.pri b/ground/openpilotgcs/src/plugins/uavobjects/uavobjgenerator.pri new file mode 100644 index 000000000..e1e935c5e --- /dev/null +++ b/ground/openpilotgcs/src/plugins/uavobjects/uavobjgenerator.pri @@ -0,0 +1,39 @@ +UAVOBJ_INIT_CPP = uavobjectsinit.cpp +UAVOBJ_INIT_CPP_TEMPLATE = $${UAVOBJ_INIT_CPP}.template + +uavobjgenerator.input = UAVOBJS +uavobjgenerator.commands = $$shell_path($${UAVOBJGENERATOR}) -gcs $${UAVOBJ_XML_DIR} $${UAVOBJ_ROOT_DIR} ${QMAKE_FILE_BASE} +silent:uavobjgenerator.commands = @echo uavobjgenerator -gcs && $${uavobjgenerator.commands} +uavobjgenerator_header.depends = $${UAVOBJ_INIT_CPP_TEMPLATE} +uavobjgenerator.output = $${UAVOBJ_INIT_CPP} +uavobjgenerator.variable_out = SOURCES +uavobjgenerator.CONFIG += combine + +QMAKE_EXTRA_COMPILERS += uavobjgenerator + +uavobjgenerator_header.input = UAVOBJS +# We don't want any commands here because uavobjgenerator also creates .cpp, but if command is empty no rules are created +uavobjgenerator_header.commands = $$escape_expand(\\n) +uavobjgenerator_header.depends = $${UAVOBJ_INIT_CPP} +uavobjgenerator_header.output = ${QMAKE_FILE_BASE}.h # Actually generated by uavobjgenerator for this depends +uavobjgenerator_header.variable_out = UAVOBJS_HEADERS + +QMAKE_EXTRA_COMPILERS += uavobjgenerator_header + +uavobjgenerator_source.input = UAVOBJS +# We don't want any commands here because uavobjgenerator also creates .cpp, but if command is empty no rules are created +uavobjgenerator_source.commands = $$escape_expand(\\n) +uavobjgenerator_source.depends = $${UAVOBJ_INIT_CPP} +uavobjgenerator_source.output = ${QMAKE_FILE_BASE}.cpp # Actually generated by uavobjgenerator for this depends +uavobjgenerator_source.variable_out = SOURCES + +QMAKE_EXTRA_COMPILERS += uavobjgenerator_source + +# Do our own moc without moc_verify because the files aren't generated when verified +load(moc) +uavobjgenerator_moc.commands = $$moc_header.commands +uavobjgenerator_moc.output = $$moc_header.output +uavobjgenerator_moc.input = UAVOBJS_HEADERS +uavobjgenerator_moc.variable_out = GENERATED_SOURCES + +QMAKE_EXTRA_COMPILERS += uavobjgenerator_moc