Commit e583e7aa authored by Daniel Agar's avatar Daniel Agar

cmake move all src handling to src/CMakeLists.txt

parent c3743e2b
......@@ -175,589 +175,52 @@ elseif (WIN32)
endif()
set(QGC_SRC)
list(APPEND QGC_SRC
src/AnalyzeView/ExifParser.cc
src/AnalyzeView/GeoTagController.cc
src/AnalyzeView/LogDownloadController.cc
src/AnalyzeView/MavlinkConsoleController.cc
src/AnalyzeView/PX4LogParser.cc
src/AnalyzeView/ULogParser.cc
src/api/QGCCorePlugin.cc
src/api/QGCOptions.cc
src/api/QGCSettings.cc
src/api/QmlComponentInfo.cc
src/Audio/AudioOutput.cc
src/AutoPilotPlugins/APM/APMAirframeComponent.cc
src/AutoPilotPlugins/APM/APMAirframeComponentAirframes.cc
src/AutoPilotPlugins/APM/APMAirframeComponentController.cc
src/AutoPilotPlugins/APM/APMAirframeLoader.cc
src/AutoPilotPlugins/APM/APMAutoPilotPlugin.cc
src/AutoPilotPlugins/APM/APMCameraComponent.cc
src/AutoPilotPlugins/APM/APMCompassCal.cc
src/AutoPilotPlugins/APM/APMFlightModesComponent.cc
src/AutoPilotPlugins/APM/APMFlightModesComponentController.cc
src/AutoPilotPlugins/APM/APMLightsComponent.cc
src/AutoPilotPlugins/APM/APMMotorComponent.cc
src/AutoPilotPlugins/APM/APMPowerComponent.cc
src/AutoPilotPlugins/APM/APMRadioComponent.cc
src/AutoPilotPlugins/APM/APMSafetyComponent.cc
src/AutoPilotPlugins/APM/APMSensorsComponent.cc
src/AutoPilotPlugins/APM/APMSensorsComponentController.cc
src/AutoPilotPlugins/APM/APMSubFrameComponent.cc
src/AutoPilotPlugins/APM/APMTuningComponent.cc
src/AutoPilotPlugins/APM/APMHeliComponent.cc
src/AutoPilotPlugins/Common/ESP8266Component.cc
src/AutoPilotPlugins/Common/ESP8266ComponentController.cc
src/AutoPilotPlugins/Common/MotorComponent.cc
src/AutoPilotPlugins/Common/RadioComponentController.cc
src/AutoPilotPlugins/Common/SyslinkComponent.cc
src/AutoPilotPlugins/Common/SyslinkComponentController.cc
src/AutoPilotPlugins/PX4/AirframeComponent.cc
src/AutoPilotPlugins/PX4/AirframeComponentAirframes.cc
src/AutoPilotPlugins/PX4/AirframeComponentController.cc
src/AutoPilotPlugins/PX4/CameraComponent.cc
src/AutoPilotPlugins/PX4/FlightModesComponent.cc
src/AutoPilotPlugins/PX4/PowerComponent.cc
src/AutoPilotPlugins/PX4/PowerComponentController.cc
src/AutoPilotPlugins/PX4/PX4AdvancedFlightModesController.cc
src/AutoPilotPlugins/PX4/PX4AirframeLoader.cc
src/AutoPilotPlugins/PX4/PX4AutoPilotPlugin.cc
src/AutoPilotPlugins/PX4/PX4RadioComponent.cc
src/AutoPilotPlugins/PX4/PX4SimpleFlightModesController.cc
src/AutoPilotPlugins/PX4/PX4TuningComponent.cc
src/AutoPilotPlugins/PX4/SafetyComponent.cc
src/AutoPilotPlugins/PX4/SensorsComponent.cc
src/AutoPilotPlugins/PX4/SensorsComponentController.cc
src/AutoPilotPlugins/AutoPilotPlugin.cc
src/AutoPilotPlugins/Generic/GenericAutoPilotPlugin.cc
src/Camera/QGCCameraControl.cc
src/Camera/QGCCameraIO.cc
src/Camera/QGCCameraManager.cc
#src/comm/BluetoothLink.cc
src/comm/LinkConfiguration.cc
src/comm/LinkInterface.cc
src/comm/LinkManager.cc
src/comm/LogReplayLink.cc
src/comm/MavlinkMessagesTimer.cc
src/comm/MAVLinkProtocol.cc
src/comm/QGCFlightGearLink.cc
src/comm/QGCJSBSimLink.cc
src/comm/QGCMAVLink.cc
src/comm/QGCSerialPortInfo.cc
src/comm/QGCXPlaneLink.cc
src/comm/SerialLink.cc
src/comm/TCPLink.cc
src/comm/UDPLink.cc
src/FactSystem/Fact.cc
src/FactSystem/FactControls/FactPanelController.cc
src/FactSystem/FactGroup.cc
src/FactSystem/FactMetaData.cc
src/FactSystem/FactSystem.cc
src/FactSystem/FactValueSliderListModel.cc
src/FactSystem/ParameterManager.cc
src/FactSystem/SettingsFact.cc
src/FirmwarePlugin/APM/APMFirmwarePlugin.cc
src/FirmwarePlugin/APM/APMFirmwarePluginFactory.cc
src/FirmwarePlugin/APM/APMParameterMetaData.cc
src/FirmwarePlugin/APM/ArduCopterFirmwarePlugin.cc
src/FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.cc
src/FirmwarePlugin/APM/ArduRoverFirmwarePlugin.cc
src/FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc
src/FirmwarePlugin/CameraMetaData.cc
src/FirmwarePlugin/FirmwarePlugin.cc
src/FirmwarePlugin/FirmwarePluginManager.cc
src/FirmwarePlugin/PX4/PX4FirmwarePlugin.cc
src/FirmwarePlugin/PX4/PX4FirmwarePluginFactory.cc
src/FirmwarePlugin/PX4/PX4ParameterMetaData.cc
src/FlightDisplay/VideoManager.cc
src/FlightMap/Widgets/ValuesWidgetController.cc
src/FollowMe/FollowMe.cc
src/Joystick/Joystick.cc
src/Joystick/JoystickManager.cc
src/Joystick/JoystickSDL.cc
src/MissionManager/CameraCalc.cc
src/MissionManager/CameraSection.cc
src/MissionManager/CameraSpec.cc
src/MissionManager/ComplexMissionItem.cc
src/MissionManager/CorridorScanComplexItem.cc
src/MissionManager/FixedWingLandingComplexItem.cc
src/MissionManager/GeoFenceController.cc
src/MissionManager/GeoFenceManager.cc
src/MissionManager/KML.cc
src/MissionManager/MissionCommandList.cc
src/MissionManager/MissionCommandTree.cc
src/MissionManager/MissionCommandUIInfo.cc
src/MissionManager/MissionController.cc
src/MissionManager/MissionItem.cc
src/MissionManager/MissionManager.cc
src/MissionManager/MissionSettingsItem.cc
src/MissionManager/PlanElementController.cc
src/MissionManager/PlanManager.cc
src/MissionManager/PlanMasterController.cc
src/MissionManager/QGCFenceCircle.cc
src/MissionManager/QGCFencePolygon.cc
src/MissionManager/QGCMapCircle.cc
src/MissionManager/QGCMapPolygon.cc
src/MissionManager/QGCMapPolyline.cc
src/MissionManager/RallyPoint.cc
src/MissionManager/RallyPointController.cc
src/MissionManager/RallyPointManager.cc
src/MissionManager/SimpleMissionItem.cc
src/MissionManager/SpeedSection.cc
src/MissionManager/StructureScanComplexItem.cc
src/MissionManager/SurveyComplexItem.cc
src/MissionManager/TransectStyleComplexItem.cc
src/MissionManager/VisualMissionItem.cc
src/PositionManager/PositionManager.cpp
src/PositionManager/SimulatedPosition.cc
src/QmlControls/AppMessages.cc
src/QmlControls/CoordinateVector.cc
src/QmlControls/EditPositionDialogController.cc
src/QmlControls/ParameterEditorController.cc
src/QmlControls/QGCFileDialogController.cc
src/QmlControls/QGCGeoBoundingCube.cc
src/QmlControls/QGCImageProvider.cc
src/QmlControls/QGroundControlQmlGlobal.cc
src/QmlControls/QmlObjectListModel.cc
src/QmlControls/QmlTestWidget.cc
src/QmlControls/RCChannelMonitorController.cc
src/QmlControls/ScreenToolsController.cc
src/QtLocationPlugin/QGCMapEngine.cpp
src/QtLocationPlugin/QGCMapTileSet.cpp
src/QtLocationPlugin/QGCMapUrlEngine.cpp
src/QtLocationPlugin/QGCTileCacheWorker.cpp
src/QtLocationPlugin/QGeoCodeReplyQGC.cpp
src/QtLocationPlugin/QGeoCodingManagerEngineQGC.cpp
src/QtLocationPlugin/QGeoMapReplyQGC.cpp
src/QtLocationPlugin/QGeoServiceProviderPluginQGC.cpp
src/QtLocationPlugin/QGeoTiledMappingManagerEngineQGC.cpp
src/QtLocationPlugin/QGeoTileFetcherQGC.cpp
src/QtLocationPlugin/QMLControl/QGCMapEngineManager.cc
src/Settings/AppSettings.cc
src/Settings/AutoConnectSettings.cc
src/Settings/BrandImageSettings.cc
src/Settings/FlightMapSettings.cc
src/Settings/GuidedSettings.cc
src/Settings/RTKSettings.cc
src/Settings/SettingsGroup.cc
src/Settings/SettingsManager.cc
src/Settings/UnitsSettings.cc
src/Settings/VideoSettings.cc
src/Terrain/TerrainQuery.cc
src/uas/FileManager.cc
src/uas/UAS.cc
src/uas/UASMessageHandler.cc
src/ui/HILDockWidget.cc
src/ui/linechart/ChartPlot.cc
src/ui/linechart/IncrementalPlot.cc
src/ui/linechart/LinechartPlot.cc
src/ui/linechart/Linecharts.cc
src/ui/linechart/LinechartWidget.cc
src/ui/linechart/Scrollbar.cc
src/ui/linechart/ScrollZoomer.cc
src/ui/MainWindow.cc
src/ui/MAVLinkDecoder.cc
src/ui/MultiVehicleDockWidget.cc
src/ui/QGCHilConfiguration.cc
src/ui/QGCHilFlightGearConfiguration.cc
src/ui/QGCHilJSBSimConfiguration.cc
src/ui/QGCHilXPlaneConfiguration.cc
src/ui/QGCMapRCToParamDialog.cpp
src/ui/QGCMAVLinkInspector.cc
src/ui/QGCMAVLinkLogPlayer.cc
src/ui/QGCPluginHost.cc
src/ui/QGCUASFileView.cc
src/ui/QGCUASFileViewMulti.cc
src/ui/uas/QGCUnconnectedInfoWidget.cc
src/Vehicle/ADSBVehicle.cc
src/Vehicle/GPSRTKFactGroup.cc
src/Vehicle/MAVLinkLogManager.cc
src/Vehicle/MultiVehicleManager.cc
src/Vehicle/Vehicle.cc
src/VehicleSetup/Bootloader.cc
src/VehicleSetup/FirmwareImage.cc
src/VehicleSetup/FirmwareUpgradeController.cc
src/VehicleSetup/JoystickConfigController.cc
src/VehicleSetup/PX4FirmwareUpgradeThread.cc
src/VehicleSetup/VehicleComponent.cc
src/VideoStreaming/VideoItem.cc
src/VideoStreaming/VideoReceiver.cc
src/VideoStreaming/VideoStreaming.cc
src/VideoStreaming/VideoSurface.cc
src/ViewWidgets/CustomCommandWidget.cc
src/ViewWidgets/CustomCommandWidgetController.cc
src/ViewWidgets/ViewWidgetController.cc
src/CmdLineOptParser.cc
src/JsonHelper.cc
src/KMLFileHelper.cc
src/LogCompressor.cc
src/main.cc
src/QGC.cc
src/QGCApplication.cc
src/QGCComboBox.cc
src/QGCDockWidget.cc
src/QGCFileDownload.cc
src/QGCGeo.cc
src/QGCLoggingCategory.cc
src/QGCMapPalette.cc
src/QGCPalette.cc
src/QGCQFileDialog.cc
src/QGCQGeoCoordinate.cc
src/QGCQmlWidgetHolder.cpp
src/QGCQuickWidget.cc
src/QGCTemporaryFile.cc
src/QGCToolbox.cc
src/RunGuard.cc
src/TerrainTile.cc
src/UTM.cpp
# HEADERS
# shouldn't be listed here, but aren't named properly for AUTOMOC
src/comm/QGCFlightGearLink.h
src/comm/QGCHilLink.h
src/comm/QGCJSBSimLink.h
src/MissionManager/Section.h
src/QtLocationPlugin/QGCMapEngineData.h
src/uas/UAS.h
src/uas/UASInterface.h
src/ui/QGCHilFlightGearConfiguration.h
src/ui/QGCHilJSBSimConfiguration.h
)
if(QGC_AIRMAP)
list(APPEND QGC_SRC
src/Airmap/AirMapAdvisoryManager.cc
src/Airmap/AirMapFlightManager.cc
src/Airmap/AirMapFlightPlanManager.cc
src/Airmap/AirMapManager.cc
src/Airmap/AirMapRestrictionManager.cc
src/Airmap/AirMapRulesetsManager.cc
src/Airmap/AirMapSettings.cc
src/Airmap/AirMapSharedState.cc
src/Airmap/AirMapTelemetry.cc
src/Airmap/AirMapTrafficMonitor.cc
src/Airmap/AirMapVehicleManager.cc
src/Airmap/AirMapWeatherInfoManager.cc
src/AirspaceManagement/AirspaceAdvisoryProvider.cc
src/AirspaceManagement/AirspaceFlightPlanProvider.cc
src/AirspaceManagement/AirspaceManager.cc
src/AirspaceManagement/AirspaceRestriction.cc
src/AirspaceManagement/AirspaceRestrictionProvider.cc
src/AirspaceManagement/AirspaceRulesetsProvider.cc
src/AirspaceManagement/AirspaceVehicleManager.cc
src/AirspaceManagement/AirspaceWeatherInfoProvider.cc
)
else()
list(APPEND QGC_SRC
src/Airmap/dummy/AirspaceManager.cc
)
include_directories(src/Airmap/dummy)
endif()
set_source_files_properties(${CMAKE_SOURCE_DIR}/src/QGCApplication.cc PROPERTIES COMPILE_DEFINITIONS GIT_VERSION="${git_tag}")
if(MOBILE)
list(APPEND QGC_SRC
src/MobileScreenMgr.cc
)
if (ANDROID)
list(APPEND QGC_SRC
libs/qtandroidserialport/src/qserialport.cpp
libs/qtandroidserialport/src/qserialport_android.cpp
libs/qtandroidserialport/src/qserialportinfo.cpp
libs/qtandroidserialport/src/qserialportinfo_android.cpp
src/Joystick/JoystickAndroid.cc
)
endif()
endif()
if(BUILD_TESTING)
add_custom_target(check
COMMAND ctest --output-on-failure .
USES_TERMINAL
)
function (add_qgc_test test_name)
add_test(
NAME ${test_name}
COMMAND $<TARGET_FILE:QGroundControl> --unittest:${test_name}
)
add_dependencies(check QGroundControl)
endfunction()
list(APPEND QGC_SRC
src/AnalyzeView/LogDownloadTest.cc
src/Audio/AudioOutputTest.cc
src/comm/MockLink.cc
src/comm/MockLinkFileServer.cc
src/comm/MockLinkMissionItemHandler.cc
src/FactSystem/FactSystemTestBase.cc
src/FactSystem/FactSystemTestGeneric.cc
src/FactSystem/FactSystemTestPX4.cc
src/FactSystem/ParameterManagerTest.cc
src/MissionManager/CameraCalcTest.cc
src/MissionManager/CameraSectionTest.cc
src/MissionManager/CorridorScanComplexItemTest.cc
src/MissionManager/MissionCommandTreeTest.cc
src/MissionManager/MissionControllerManagerTest.cc
src/MissionManager/MissionControllerTest.cc
src/MissionManager/MissionItemTest.cc
src/MissionManager/MissionManagerTest.cc
src/MissionManager/MissionSettingsTest.cc
src/MissionManager/PlanMasterControllerTest.cc
src/MissionManager/QGCMapPolygonTest.cc
src/MissionManager/QGCMapPolylineTest.cc
src/MissionManager/SectionTest.cc
src/MissionManager/SimpleMissionItemTest.cc
src/MissionManager/SpeedSectionTest.cc
src/MissionManager/StructureScanComplexItemTest.cc
src/MissionManager/SurveyComplexItemTest.cc
src/MissionManager/TransectStyleComplexItemTest.cc
src/MissionManager/VisualMissionItemTest.cc
src/qgcunittest/FileDialogTest.cc
src/qgcunittest/FileManagerTest.cc
src/qgcunittest/FlightGearTest.cc
src/qgcunittest/GeoTest.cc
src/qgcunittest/LinkManagerTest.cc
src/qgcunittest/MainWindowTest.cc
src/qgcunittest/MavlinkLogTest.cc
src/qgcunittest/MessageBoxTest.cc
src/qgcunittest/MultiSignalSpy.cc
src/qgcunittest/RadioConfigTest.cc
src/qgcunittest/TCPLinkTest.cc
src/qgcunittest/TCPLoopBackServer.cc
src/qgcunittest/UnitTest.cc
src/qgcunittest/UnitTestList.cc
src/Vehicle/SendMavCommandTest.cc
)
add_qgc_test(AudioOutputTest)
add_qgc_test(CameraCalcTest)
add_qgc_test(CameraSectionTest)
add_qgc_test(CorridorScanComplexItemTest)
add_qgc_test(FactSystemTestGeneric)
add_qgc_test(FactSystemTestPX4)
add_qgc_test(FileDialogTest)
add_qgc_test(FileManagerTest)
add_qgc_test(FlightGearUnitTest)
add_qgc_test(GeoTest)
add_qgc_test(LinkManagerTest)
add_qgc_test(LogDownloadTest)
add_qgc_test(MessageBoxTest)
add_qgc_test(MissionCommandTreeTest)
add_qgc_test(MissionControllerTest)
add_qgc_test(MissionItemTest)
add_qgc_test(MissionManagerTest)
add_qgc_test(MissionSettingsTest)
add_qgc_test(ParameterManagerTest)
add_qgc_test(PlanMasterControllerTest)
add_qgc_test(QGCMapPolygonTest)
add_qgc_test(QGCMapPolylineTest)
add_qgc_test(RadioConfigTest)
add_qgc_test(SendMavCommandTest)
add_qgc_test(SimpleMissionItemTest)
add_qgc_test(SpeedSectionTest)
add_qgc_test(StructureScanComplexItemTest)
add_qgc_test(SurveyComplexItemTest)
add_qgc_test(TCPLinkTest)
add_qgc_test(TransectStyleComplexItemTest)
endif()
if (VIDEO)
list(APPEND QGC_SRC
src/VideoStreaming/gstqtvideosink/delegates/basedelegate.cpp
src/VideoStreaming/gstqtvideosink/delegates/qtquick2videosinkdelegate.cpp
src/VideoStreaming/gstqtvideosink/delegates/qtvideosinkdelegate.cpp
src/VideoStreaming/gstqtvideosink/delegates/qwidgetvideosinkdelegate.cpp
src/VideoStreaming/gstqtvideosink/gstqtglvideosink.cpp
src/VideoStreaming/gstqtvideosink/gstqtglvideosinkbase.cpp
src/VideoStreaming/gstqtvideosink/gstqtquick2videosink.cpp
src/VideoStreaming/gstqtvideosink/gstqtvideosink.cpp
src/VideoStreaming/gstqtvideosink/gstqtvideosinkbase.cpp
src/VideoStreaming/gstqtvideosink/gstqtvideosinkplugin.cpp
src/VideoStreaming/gstqtvideosink/gstqwidgetvideosink.cpp
src/VideoStreaming/gstqtvideosink/painters/genericsurfacepainter.cpp
src/VideoStreaming/gstqtvideosink/painters/openglsurfacepainter.cpp
src/VideoStreaming/gstqtvideosink/painters/videomaterial.cpp
src/VideoStreaming/gstqtvideosink/painters/videonode.cpp
src/VideoStreaming/gstqtvideosink/utils/bufferformat.cpp
src/VideoStreaming/gstqtvideosink/utils/utils.cpp
)
endif()
set(QGC_RESOURCES)
list(APPEND QGC_RESOURCES
#HackAndroidFileDialog.qrc
HackFileDialog.qrc
qgcresources.qrc
qgroundcontrol.qrc
src/FirmwarePlugin/APM/APMResources.qrc
src/FirmwarePlugin/PX4/PX4Resources.qrc
src/Airmap/airmap.qrc
)
if(BUILD_TESTING)
list(APPEND QGC_RESOURCES
UnitTest.qrc
)
endif()
# TODO: get qtquick compiler working
#qtquick_compiler_add_resources(QGC_RESOURCES ${QGC_RESOURCES}
#find_package(Qt5QuickCompiler)
set(QGC_UI)
list(APPEND QGC_UI
#src/ui/Linechart.ui
src/QGCQmlWidgetHolder.ui
src/ui/MainWindow.ui
src/ui/MultiVehicleDockWidget.ui
src/ui/QGCHilConfiguration.ui
src/ui/QGCHilFlightGearConfiguration.ui
src/ui/QGCHilJSBSimConfiguration.ui
src/ui/QGCHilXPlaneConfiguration.ui
src/ui/QGCMapRCToParamDialog.ui
src/ui/QGCMAVLinkInspector.ui
src/ui/QGCMAVLinkLogPlayer.ui
src/ui/QGCPluginHost.ui
src/ui/QGCUASFileView.ui
src/ui/QGCUASFileViewMulti.ui
src/ui/QMap3D.ui
src/ui/uas/QGCUnconnectedInfoWidget.ui
)
include_directories(
src/QtLocationPlugin/QMLControl
${Qt5Location_PRIVATE_INCLUDE_DIRS}
libs/eigen
libs/mavlink/include/mavlink/v2.0
libs/mavlink/include/mavlink/v2.0/ardupilotmega
libs/mavlink/include/mavlink/v2.0/common
src
src/AnalyzeView
src/api
src/Audio
src/AutoPilotPlugins
src/AutoPilotPlugins/APM
src/AutoPilotPlugins/Common
src/AutoPilotPlugins/PX4
src/Camera
src/comm
src/FactSystem
src/FactSystem/FactControls
src/FirmwarePlugin
src/FirmwarePlugin/APM
src/FlightDisplay
src/FlightMap/Widgets
src/FollowMe
src/Joystick
src/MissionManager
src/PositionManager
src/qgcunittest
src/QmlControls
src/QtLocationPlugin
src/Settings
src/Terrain
src/uas
src/ui
src/ui/linechart
src/Vehicle
src/VehicleSetup
src/VideoStreaming
src/ViewWidgets
)
add_subdirectory(libs)
add_subdirectory(src)
if(ANDROID)
add_library(QGroundControl SHARED ${QGC_SRC} ${QGC_RESOURCES} ${QGC_UI})
add_library(QGroundControl SHARED)
else()
add_executable(QGroundControl ${QGC_SRC} ${QGC_RESOURCES} ${QGC_UI})
add_executable(QGroundControl
#HackAndroidFileDialog.qrc
HackFileDialog.qrc
qgcresources.qrc
qgroundcontrol.qrc
)
endif()
target_link_libraries(QGroundControl
Qt5::Bluetooth
Qt5::Concurrent
Qt5::Core
Qt5::Quick
Qt5::QuickWidgets
Qt5::Location
Qt5::Multimedia
Qt5::Positioning
Qt5::Sql
Qt5::Svg
Qt5::Test
Qt5::TextToSpeech
Qt5::Xml
Qt5::Widgets
)
PUBLIC
qgc
target_link_libraries(QGroundControl
AnalyzeView
gps
qwt
)
if(NOT QT_MKSPEC MATCHES "winrt")
target_link_libraries(QGroundControl
PUBLIC
Qt5::SerialPort
)
endif()
if(LINUX)
target_link_libraries(QGroundControl ${SDL2_LIBRARIES})
target_link_libraries(QGroundControl PRIVATE ${SDL2_LIBRARIES})
elseif(APPLE)
target_link_libraries(QGroundControl -F${CMAKE_SOURCE_DIR}/libs/lib/Frameworks "-framework SDL2")
target_link_libraries(QGroundControl PRIVATE -F${CMAKE_SOURCE_DIR}/libs/lib/Frameworks "-framework SDL2")
set_target_properties(${PROJECT_NAME} PROPERTIES
MACOSX_BUNDLE YES
......
set(EXTRA_SRC)
if(BUILD_TESTING)
list(APPEND EXTRA_SRC
LogDownloadTest.cc
)
endif()
add_library(AnalyzeView
ExifParser.cc
GeoTagController.cc
LogDownloadController.cc
MavlinkConsoleController.cc
PX4LogParser.cc
ULogParser.cc
${EXTRA_SRC}
)
target_link_libraries(AnalyzeView
PUBLIC
Qt5::Location
Qt5::SerialPort
Qt5::TextToSpeech
Qt5::Widgets
qgc
)
target_include_directories(AnalyzeView INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
include_directories(
.
${CMAKE_CURRENT_BINARY_DIR}
QtLocationPlugin/QMLControl
${Qt5Location_PRIVATE_INCLUDE_DIRS}
AnalyzeView
api
Audio
AutoPilotPlugins
AutoPilotPlugins/APM
AutoPilotPlugins/Common
AutoPilotPlugins/PX4
Camera
comm
FactSystem
FactSystem/FactControls
FirmwarePlugin
FirmwarePlugin/APM
FlightDisplay
FlightMap/Widgets
FollowMe
Joystick
MissionManager
PositionManager
qgcunittest
QmlControls
QtLocationPlugin
Settings
Terrain
uas
ui
ui/linechart
Vehicle
VehicleSetup
VideoStreaming
ViewWidgets
)
set(EXTRA_SRC)
if(QGC_AIRMAP)
list(APPEND EXTRA_SRC
Airmap/AirMapAdvisoryManager.cc
Airmap/AirMapFlightManager.cc
Airmap/AirMapFlightPlanManager.cc
Airmap/AirMapManager.cc
Airmap/AirMapRestrictionManager.cc
Airmap/AirMapRulesetsManager.cc
Airmap/AirMapSettings.cc
Airmap/AirMapSharedState.cc
Airmap/AirMapTelemetry.cc
Airmap/AirMapTrafficMonitor.cc
Airmap/AirMapVehicleManager.cc
Airmap/AirMapWeatherInfoManager.cc
AirspaceManagement/AirspaceAdvisoryProvider.cc
AirspaceManagement/AirspaceFlightPlanProvider.cc
AirspaceManagement/AirspaceManager.cc
AirspaceManagement/AirspaceRestriction.cc
AirspaceManagement/AirspaceRestrictionProvider.cc
AirspaceManagement/AirspaceRulesetsProvider.cc
AirspaceManagement/AirspaceVehicleManager.cc
AirspaceManagement/AirspaceWeatherInfoProvider.cc
)
else()
list(APPEND EXTRA_SRC
Airmap/dummy/AirspaceManager.cc
)
include_directories(Airmap/dummy)
endif()
if(MOBILE)
list(APPEND EXTRA_SRC
MobileScreenMgr.cc
)
if (ANDROID)
list(APPEND EXTRA_SRC
libs/qtandroidserialport/src/qserialport.cpp
libs/qtandroidserialport/src/qserialport_android.cpp
libs/qtandroidserialport/src/qserialportinfo.cpp
libs/qtandroidserialport/src/qserialportinfo_android.cpp
Joystick/JoystickAndroid.cc
)
endif()
endif()
if(BUILD_TESTING)
add_custom_target(check
COMMAND ctest --output-on-failure .
USES_TERMINAL
)
function (add_qgc_test test_name)
add_test(
NAME ${test_name}
COMMAND $<TARGET_FILE:QGroundControl> --unittest:${test_name}
)
add_dependencies(check QGroundControl)
endfunction()
list(APPEND QGC_SRC
Audio/AudioOutputTest.cc
comm/MockLink.cc
comm/MockLinkFileServer.cc
comm/MockLinkMissionItemHandler.cc
FactSystem/FactSystemTestBase.cc
FactSystem/FactSystemTestGeneric.cc
FactSystem/FactSystemTestPX4.cc
FactSystem/ParameterManagerTest.cc
MissionManager/CameraCalcTest.cc
MissionManager/CameraSectionTest.cc
MissionManager/CorridorScanComplexItemTest.cc
MissionManager/MissionCommandTreeTest.cc
MissionManager/MissionControllerManagerTest.cc
MissionManager/MissionControllerTest.cc
MissionManager/MissionItemTest.cc
MissionManager/MissionManagerTest.cc
MissionManager/MissionSettingsTest.cc
MissionManager/PlanMasterControllerTest.cc
MissionManager/QGCMapPolygonTest.cc
MissionManager/QGCMapPolylineTest.cc
MissionManager/SectionTest.cc
MissionManager/SimpleMissionItemTest.cc
MissionManager/SpeedSectionTest.cc
MissionManager/StructureScanComplexItemTest.cc
MissionManager/SurveyComplexItemTest.cc
MissionManager/TransectStyleComplexItemTest.cc
MissionManager/VisualMissionItemTest.cc
qgcunittest/FileDialogTest.cc
qgcunittest/FileManagerTest.cc
qgcunittest/FlightGearTest.cc
qgcunittest/GeoTest.cc
qgcunittest/LinkManagerTest.cc
qgcunittest/MainWindowTest.cc
qgcunittest/MavlinkLogTest.cc
qgcunittest/MessageBoxTest.cc
qgcunittest/MultiSignalSpy.cc
qgcunittest/RadioConfigTest.cc
qgcunittest/TCPLinkTest.cc
qgcunittest/TCPLoopBackServer.cc
qgcunittest/UnitTest.cc
qgcunittest/UnitTestList.cc
Vehicle/SendMavCommandTest.cc
)
add_qgc_test(AudioOutputTest)
add_qgc_test(CameraCalcTest)
add_qgc_test(CameraSectionTest)
add_qgc_test(CorridorScanComplexItemTest)
add_qgc_test(FactSystemTestGeneric)
add_qgc_test(FactSystemTestPX4)
add_qgc_test(FileDialogTest)
add_qgc_test(FileManagerTest)
add_qgc_test(FlightGearUnitTest)
add_qgc_test(GeoTest)
add_qgc_test(LinkManagerTest)
add_qgc_test(LogDownloadTest)
add_qgc_test(MessageBoxTest)
add_qgc_test(MissionCommandTreeTest)
add_qgc_test(MissionControllerTest)
add_qgc_test(MissionItemTest)
add_qgc_test(MissionManagerTest)
add_qgc_test(MissionSettingsTest)
add_qgc_test(ParameterManagerTest)
add_qgc_test(PlanMasterControllerTest)
add_qgc_test(QGCMapPolygonTest)
add_qgc_test(QGCMapPolylineTest)
add_qgc_test(RadioConfigTest)
add_qgc_test(SendMavCommandTest)
add_qgc_test(SimpleMissionItemTest)
add_qgc_test(SpeedSectionTest)
add_qgc_test(StructureScanComplexItemTest)
add_qgc_test(SurveyComplexItemTest)
add_qgc_test(TCPLinkTest)
add_qgc_test(TransectStyleComplexItemTest)
endif()
if (VIDEO)
list(APPEND QGC_SRC
VideoStreaming/gstqtvideosink/delegates/basedelegate.cpp
VideoStreaming/gstqtvideosink/delegates/qtquick2videosinkdelegate.cpp
VideoStreaming/gstqtvideosink/delegates/qtvideosinkdelegate.cpp
VideoStreaming/gstqtvideosink/delegates/qwidgetvideosinkdelegate.cpp
VideoStreaming/gstqtvideosink/gstqtglvideosink.cpp
VideoStreaming/gstqtvideosink/gstqtglvideosinkbase.cpp
VideoStreaming/gstqtvideosink/gstqtquick2videosink.cpp
VideoStreaming/gstqtvideosink/gstqtvideosink.cpp
VideoStreaming/gstqtvideosink/gstqtvideosinkbase.cpp
VideoStreaming/gstqtvideosink/gstqtvideosinkplugin.cpp
VideoStreaming/gstqtvideosink/gstqwidgetvideosink.cpp
VideoStreaming/gstqtvideosink/painters/genericsurfacepainter.cpp
VideoStreaming/gstqtvideosink/painters/openglsurfacepainter.cpp
VideoStreaming/gstqtvideosink/painters/videomaterial.cpp
VideoStreaming/gstqtvideosink/painters/videonode.cpp
VideoStreaming/gstqtvideosink/utils/bufferformat.cpp
VideoStreaming/gstqtvideosink/utils/utils.cpp
)
endif()
set(QGC_RESOURCES)
list(APPEND QGC_RESOURCES
FirmwarePlugin/APM/APMResources.qrc
FirmwarePlugin/PX4/PX4Resources.qrc
Airmap/airmap.qrc
)
if(BUILD_TESTING)
list(APPEND QGC_RESOURCES
UnitTest.qrc
)
endif()
set(QGC_UI)
list(APPEND QGC_UI
#src/ui/Linechart.ui
QGCQmlWidgetHolder.ui
ui/MainWindow.ui
ui/MultiVehicleDockWidget.ui
ui/QGCHilConfiguration.ui
ui/QGCHilFlightGearConfiguration.ui
ui/QGCHilJSBSimConfiguration.ui
ui/QGCHilXPlaneConfiguration.ui
ui/QGCMapRCToParamDialog.ui
ui/QGCMAVLinkInspector.ui
ui/QGCMAVLinkLogPlayer.ui
ui/QGCPluginHost.ui
ui/QGCUASFileView.ui
ui/QGCUASFileViewMulti.ui
ui/QMap3D.ui
ui/uas/QGCUnconnectedInfoWidget.ui
)
add_library(qgc
${QGC_RESOURCES}
${QGC_UI}
${EXTRA_SRC}
api/QGCCorePlugin.cc
api/QGCOptions.cc
api/QGCSettings.cc
api/QmlComponentInfo.cc
Audio/AudioOutput.cc
AutoPilotPlugins/APM/APMAirframeComponent.cc
AutoPilotPlugins/APM/APMAirframeComponentAirframes.cc
AutoPilotPlugins/APM/APMAirframeComponentController.cc
AutoPilotPlugins/APM/APMAirframeLoader.cc
AutoPilotPlugins/APM/APMAutoPilotPlugin.cc
AutoPilotPlugins/APM/APMCameraComponent.cc
AutoPilotPlugins/APM/APMCompassCal.cc
AutoPilotPlugins/APM/APMFlightModesComponent.cc
AutoPilotPlugins/APM/APMFlightModesComponentController.cc
AutoPilotPlugins/APM/APMLightsComponent.cc
AutoPilotPlugins/APM/APMPowerComponent.cc
AutoPilotPlugins/APM/APMRadioComponent.cc
AutoPilotPlugins/APM/APMSafetyComponent.cc
AutoPilotPlugins/APM/APMSensorsComponent.cc
AutoPilotPlugins/APM/APMSensorsComponentController.cc
AutoPilotPlugins/APM/APMSubFrameComponent.cc
AutoPilotPlugins/APM/APMTuningComponent.cc
AutoPilotPlugins/APM/APMHeliComponent.cc
AutoPilotPlugins/Common/ESP8266Component.cc
AutoPilotPlugins/Common/ESP8266ComponentController.cc
AutoPilotPlugins/Common/MotorComponent.cc
AutoPilotPlugins/Common/RadioComponentController.cc
AutoPilotPlugins/Common/SyslinkComponent.cc
AutoPilotPlugins/Common/SyslinkComponentController.cc
AutoPilotPlugins/PX4/AirframeComponent.cc
AutoPilotPlugins/PX4/AirframeComponentAirframes.cc
AutoPilotPlugins/PX4/AirframeComponentController.cc
AutoPilotPlugins/PX4/CameraComponent.cc
AutoPilotPlugins/PX4/FlightModesComponent.cc
AutoPilotPlugins/PX4/PowerComponent.cc
AutoPilotPlugins/PX4/PowerComponentController.cc
AutoPilotPlugins/PX4/PX4AdvancedFlightModesController.cc
AutoPilotPlugins/PX4/PX4AirframeLoader.cc
AutoPilotPlugins/PX4/PX4AutoPilotPlugin.cc
AutoPilotPlugins/PX4/PX4RadioComponent.cc
AutoPilotPlugins/PX4/PX4SimpleFlightModesController.cc
AutoPilotPlugins/PX4/PX4TuningComponent.cc
AutoPilotPlugins/PX4/SafetyComponent.cc
AutoPilotPlugins/PX4/SensorsComponent.cc
AutoPilotPlugins/PX4/SensorsComponentController.cc
AutoPilotPlugins/AutoPilotPlugin.cc
AutoPilotPlugins/Generic/GenericAutoPilotPlugin.cc
Camera/QGCCameraControl.cc
Camera/QGCCameraIO.cc
Camera/QGCCameraManager.cc
#src/comm/BluetoothLink.cc
comm/LinkConfiguration.cc
comm/LinkInterface.cc
comm/LinkManager.cc
comm/LogReplayLink.cc
comm/MavlinkMessagesTimer.cc
comm/MAVLinkProtocol.cc
comm/QGCFlightGearLink.cc
comm/QGCJSBSimLink.cc
comm/QGCMAVLink.cc
comm/QGCSerialPortInfo.cc
comm/QGCXPlaneLink.cc
comm/SerialLink.cc
comm/TCPLink.cc
comm/UDPLink.cc
FactSystem/Fact.cc
FactSystem/FactControls/FactPanelController.cc
FactSystem/FactGroup.cc
FactSystem/FactMetaData.cc
FactSystem/FactSystem.cc
FactSystem/FactValueSliderListModel.cc
FactSystem/ParameterManager.cc
FactSystem/SettingsFact.cc
FirmwarePlugin/APM/APMFirmwarePlugin.cc
FirmwarePlugin/APM/APMFirmwarePluginFactory.cc
FirmwarePlugin/APM/APMParameterMetaData.cc
FirmwarePlugin/APM/ArduCopterFirmwarePlugin.cc
FirmwarePlugin/APM/ArduPlaneFirmwarePlugin.cc
FirmwarePlugin/APM/ArduRoverFirmwarePlugin.cc
FirmwarePlugin/APM/ArduSubFirmwarePlugin.cc
FirmwarePlugin/CameraMetaData.cc
FirmwarePlugin/FirmwarePlugin.cc
FirmwarePlugin/FirmwarePluginManager.cc
FirmwarePlugin/PX4/PX4FirmwarePlugin.cc
FirmwarePlugin/PX4/PX4FirmwarePluginFactory.cc
FirmwarePlugin/PX4/PX4ParameterMetaData.cc
FlightDisplay/VideoManager.cc
FlightMap/Widgets/ValuesWidgetController.cc
FollowMe/FollowMe.cc
Joystick/Joystick.cc
Joystick/JoystickManager.cc
Joystick/JoystickSDL.cc
MissionManager/CameraCalc.cc
MissionManager/CameraSection.cc
MissionManager/CameraSpec.cc
MissionManager/ComplexMissionItem.cc
MissionManager/CorridorScanComplexItem.cc
MissionManager/FixedWingLandingComplexItem.cc
MissionManager/GeoFenceController.cc
MissionManager/GeoFenceManager.cc
MissionManager/KML.cc
MissionManager/MissionCommandList.cc
MissionManager/MissionCommandTree.cc
MissionManager/MissionCommandUIInfo.cc
MissionManager/MissionController.cc
MissionManager/MissionItem.cc
MissionManager/MissionManager.cc
MissionManager/MissionSettingsItem.cc
MissionManager/PlanElementController.cc
MissionManager/PlanManager.cc
MissionManager/PlanMasterController.cc
MissionManager/QGCFenceCircle.cc
MissionManager/QGCFencePolygon.cc
MissionManager/QGCMapCircle.cc
MissionManager/QGCMapPolygon.cc
MissionManager/QGCMapPolyline.cc
MissionManager/RallyPoint.cc
MissionManager/RallyPointController.cc
MissionManager/RallyPointManager.cc
MissionManager/SimpleMissionItem.cc
MissionManager/SpeedSection.cc
MissionManager/StructureScanComplexItem.cc
MissionManager/SurveyComplexItem.cc
MissionManager/TransectStyleComplexItem.cc
MissionManager/VisualMissionItem.cc
PositionManager/PositionManager.cpp
PositionManager/SimulatedPosition.cc
QmlControls/AppMessages.cc
QmlControls/CoordinateVector.cc
QmlControls/EditPositionDialogController.cc
QmlControls/ParameterEditorController.cc
QmlControls/QGCFileDialogController.cc
QmlControls/QGCGeoBoundingCube.cc
QmlControls/QGCImageProvider.cc
QmlControls/QGroundControlQmlGlobal.cc
QmlControls/QmlObjectListModel.cc
QmlControls/QmlTestWidget.cc
QmlControls/RCChannelMonitorController.cc
QmlControls/ScreenToolsController.cc
QtLocationPlugin/QGCMapEngine.cpp
QtLocationPlugin/QGCMapTileSet.cpp
QtLocationPlugin/QGCMapUrlEngine.cpp
QtLocationPlugin/QGCTileCacheWorker.cpp
QtLocationPlugin/QGeoCodeReplyQGC.cpp
QtLocationPlugin/QGeoCodingManagerEngineQGC.cpp
QtLocationPlugin/QGeoMapReplyQGC.cpp
QtLocationPlugin/QGeoServiceProviderPluginQGC.cpp
QtLocationPlugin/QGeoTiledMappingManagerEngineQGC.cpp
QtLocationPlugin/QGeoTileFetcherQGC.cpp
QtLocationPlugin/QMLControl/QGCMapEngineManager.cc
Settings/AppSettings.cc
Settings/AutoConnectSettings.cc
Settings/BrandImageSettings.cc
Settings/FlightMapSettings.cc
Settings/GuidedSettings.cc
Settings/RTKSettings.cc
Settings/SettingsGroup.cc
Settings/SettingsManager.cc
Settings/UnitsSettings.cc
Settings/VideoSettings.cc
Terrain/TerrainQuery.cc
uas/FileManager.cc
uas/UAS.cc
uas/UASMessageHandler.cc
ui/HILDockWidget.cc
ui/linechart/ChartPlot.cc
ui/linechart/IncrementalPlot.cc
ui/linechart/LinechartPlot.cc
ui/linechart/Linecharts.cc
ui/linechart/LinechartWidget.cc
ui/linechart/Scrollbar.cc
ui/linechart/ScrollZoomer.cc
ui/MainWindow.cc
ui/MAVLinkDecoder.cc
ui/MultiVehicleDockWidget.cc
ui/QGCHilConfiguration.cc
ui/QGCHilFlightGearConfiguration.cc
ui/QGCHilJSBSimConfiguration.cc
ui/QGCHilXPlaneConfiguration.cc
ui/QGCMapRCToParamDialog.cpp
ui/QGCMAVLinkInspector.cc
ui/QGCMAVLinkLogPlayer.cc
ui/QGCPluginHost.cc
ui/QGCUASFileView.cc
ui/QGCUASFileViewMulti.cc
ui/uas/QGCUnconnectedInfoWidget.cc
Vehicle/ADSBVehicle.cc
Vehicle/GPSRTKFactGroup.cc
Vehicle/MAVLinkLogManager.cc
Vehicle/MultiVehicleManager.cc
Vehicle/Vehicle.cc
VehicleSetup/Bootloader.cc
VehicleSetup/FirmwareImage.cc
VehicleSetup/FirmwareUpgradeController.cc
VehicleSetup/JoystickConfigController.cc
VehicleSetup/PX4FirmwareUpgradeThread.cc
VehicleSetup/VehicleComponent.cc
VideoStreaming/VideoItem.cc
VideoStreaming/VideoReceiver.cc
VideoStreaming/VideoStreaming.cc
VideoStreaming/VideoSurface.cc
ViewWidgets/CustomCommandWidget.cc
ViewWidgets/CustomCommandWidgetController.cc
ViewWidgets/ViewWidgetController.cc
CmdLineOptParser.cc
JsonHelper.cc
KMLFileHelper.cc
LogCompressor.cc
QGC.cc
QGCApplication.cc
QGCComboBox.cc
QGCDockWidget.cc
QGCFileDownload.cc
QGCGeo.cc
QGCLoggingCategory.cc
QGCMapPalette.cc
QGCPalette.cc
QGCQFileDialog.cc
QGCQGeoCoordinate.cc
QGCQmlWidgetHolder.cpp
QGCQuickWidget.cc
QGCTemporaryFile.cc
QGCToolbox.cc
RunGuard.cc
TerrainTile.cc
UTM.cpp
main.cc
# HEADERS
# shouldn't be listed here, but aren't named properly for AUTOMOC
comm/QGCFlightGearLink.h
comm/QGCHilLink.h
comm/QGCJSBSimLink.h
MissionManager/Section.h
QtLocationPlugin/QGCMapEngineData.h
uas/UAS.h
uas/UASInterface.h
ui/QGCHilFlightGearConfiguration.h
ui/QGCHilJSBSimConfiguration.h
)
set_source_files_properties(QGCApplication.cc PROPERTIES COMPILE_DEFINITIONS GIT_VERSION="${git_tag}")
target_link_libraries(qgc
Qt5::Bluetooth
Qt5::Concurrent
Qt5::Core
Qt5::Quick
Qt5::QuickWidgets
Qt5::Location
Qt5::Multimedia
Qt5::Positioning
Qt5::Sql
Qt5::Svg
Qt5::Test
Qt5::TextToSpeech
Qt5::Xml
Qt5::Widgets
gps
qwt # LinechartWidget
)
target_include_directories(qgc INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})
add_subdirectory(AnalyzeView)
add_subdirectory(GPS)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment