Newer
Older
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
include_directories(
.
${CMAKE_CURRENT_BINARY_DIR}
${Qt5Location_PRIVATE_INCLUDE_DIRS}
FlightMap/Widgets
FollowMe
Joystick
PositionManager
qgcunittest
Terrain
ViewWidgets
)
set(EXTRA_SRC)
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
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
)
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(BUILD_TESTING)
list(APPEND QGC_RESOURCES
UnitTest.qrc
)
endif()
add_library(qgc
${QGC_RESOURCES}
${QGC_UI}
${EXTRA_SRC}
FlightMap/Widgets/ValuesWidgetController.cc
FollowMe/FollowMe.cc
Joystick/Joystick.cc
Joystick/JoystickManager.cc
Joystick/JoystickSDL.cc
PositionManager/PositionManager.cpp
PositionManager/SimulatedPosition.cc
Terrain/TerrainQuery.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
# UI
QGCQmlWidgetHolder.ui
)
set_source_files_properties(QGCApplication.cc PROPERTIES COMPILE_DEFINITIONS GIT_VERSION="${git_tag}")
add_subdirectory(AnalyzeView)
add_subdirectory(Airmap)
add_subdirectory(AutoPilotPlugins)
add_subdirectory(FactSystem)
add_subdirectory(FirmwarePlugin)
add_subdirectory(FlightDisplay)
add_subdirectory(MissionManager)
add_subdirectory(QmlControls)
add_subdirectory(QtLocationPlugin)
add_subdirectory(VehicleSetup)
add_subdirectory(VideoStreaming)
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
AutoPilotPlugins
gps
qwt # LinechartWidget
QtLocationPlugin
)
target_include_directories(qgc INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})