Files
gcs-nf/Plugins/opmap/mapwidget/MissionManager/CMakeLists.txt
T
hm e7cf44504c feat: Service Registry + Bridge 解耦架构 + 全工程代码清理
## 架构升级:Service Registry + Bridge 模式

- 新增 PluginSDK/IPluginServices.h:10 个纯虚服务接口(IDataProvider/ILinkProvider/...)
- 新增 MavLinkServiceBridge:单 QObject 实现全部服务,隔离 MavLinkNode 依赖
- 升级 PluginManifest:支持 plugin.json 的 provides/consumes 声明式依赖
- 实现 ExtensionHost::autoWire():元对象自省自动连接信号槽
- 集成到 AppController:initModules() 中创建桥接器并注册到 ServiceRegistry
- CockpitPlugin 演示服务发现:initialize() 中通过 PluginContext 查找服务

## 代码清理

- Plugins/opmap:~280 行死代码(waypointsetting 100行注释块/tilematrix 54行/等27个文件)
- Plugins/MavLinkNode:~200 行 GBK 乱码注释翻译为 UTF-8 + 12 行注释死代码
- Plugins/ToolsUI:~222 行死代码(ECU.cpp 82行/INS.cpp 113行/Parse/ToolsUI 等)
- StatusUI/Setting/MissionUI:~65 行注释死代码
- Cockpit/leftladder.cpp:10 处 GBK 乱码翻译为中文
- 清理头文件注释掉的 #include(19 处)、空 if-else 分支、注释变量声明

## 编译验证

- [100%] Built target GCS 零错误
- 运行时 timeout 3s 正常退出,无崩溃
2026-06-01 09:46:36 +08:00

150 lines
3.1 KiB
CMake

set(EXTRA_SRC)
if(BUILD_TESTING)
list(APPEND EXTRA_SRC
CameraCalcTest.cc
CameraCalcTest.h
CameraSectionTest.cc
CameraSectionTest.h
CorridorScanComplexItemTest.cc
CorridorScanComplexItemTest.h
FWLandingPatternTest.cc
FWLandingPatternTest.h
MissionCommandTreeTest.cc
MissionCommandTreeTest.h
MissionControllerManagerTest.cc
MissionControllerManagerTest.h
MissionControllerTest.cc
MissionControllerTest.h
MissionItemTest.cc
MissionItemTest.h
MissionManagerTest.cc
MissionManagerTest.h
MissionSettingsTest.cc
MissionSettingsTest.h
PlanMasterControllerTest.cc
PlanMasterControllerTest.h
QGCMapPolygonTest.cc
QGCMapPolygonTest.h
QGCMapPolylineTest.cc
QGCMapPolylineTest.h
SectionTest.cc
SectionTest.h
SimpleMissionItemTest.cc
SimpleMissionItemTest.h
SpeedSectionTest.cc
SpeedSectionTest.h
StructureScanComplexItemTest.cc
StructureScanComplexItemTest.h
SurveyComplexItemTest.cc
SurveyComplexItemTest.h
TransectStyleComplexItemTest.cc
TransectStyleComplexItemTest.h
VisualMissionItemTest.cc
VisualMissionItemTest.h
)
endif()
add_library(MissionManager
BlankPlanCreator.cc
BlankPlanCreator.h
CameraCalc.cc
CameraCalc.h
CameraSection.cc
CameraSection.h
CameraSpec.cc
CameraSpec.h
ComplexMissionItem.cc
ComplexMissionItem.h
CorridorScanComplexItem.cc
CorridorScanComplexItem.h
CorridorScanPlanCreator.cc
CorridorScanPlanCreator.h
FixedWingLandingComplexItem.cc
FixedWingLandingComplexItem.h
GeoFenceController.cc
GeoFenceController.h
GeoFenceManager.cc
GeoFenceManager.h
KML.cc
KML.h
MissionCommandList.cc
MissionCommandList.h
MissionCommandTree.cc
MissionCommandTree.h
MissionCommandUIInfo.cc
MissionCommandUIInfo.h
MissionController.cc
MissionController.h
MissionItem.cc
MissionItem.h
MissionManager.cc
MissionManager.h
MissionSettingsItem.cc
MissionSettingsItem.h
PlanCreator.cc
PlanCreator.h
PlanElementController.cc
PlanElementController.h
PlanManager.cc
PlanManager.h
PlanMasterController.cc
PlanMasterController.h
QGCFenceCircle.cc
QGCFenceCircle.h
QGCFencePolygon.cc
QGCFencePolygon.h
QGCMapCircle.cc
QGCMapCircle.h
QGCMapPolygon.cc
QGCMapPolygon.h
QGCMapPolyline.cc
QGCMapPolyline.h
RallyPoint.cc
RallyPointController.cc
RallyPointController.h
RallyPoint.h
RallyPointManager.cc
RallyPointManager.h
Section.h
SimpleMissionItem.cc
SimpleMissionItem.h
SpeedSection.cc
SpeedSection.h
StructureScanComplexItem.cc
StructureScanComplexItem.h
StructureScanPlanCreator.cc
StructureScanPlanCreator.h
SurveyComplexItem.cc
SurveyComplexItem.h
SurveyPlanCreator.cc
SurveyPlanCreator.h
TakeoffMissionItem.cc
TakeoffMissionItem.h
TransectStyleComplexItem.cc
TransectStyleComplexItem.h
VisualMissionItem.cc
VisualMissionItem.h
Section.h # shouldn't be listed here, but isn't named properly for AUTOMOC
${EXTRA_SRC}
)
add_custom_Target(MisionManagerQml
SOURCES
QGCMapCircleVisuals.qml
QGCMapPolygonVisuals.qml
QGCMapPolylineVisuals.qml
)
target_link_libraries(MissionManager
PUBLIC
Qt5::Xml
qgc
PRIVATE
qgc
)
target_include_directories(MissionManager INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})