CMakeLists.txt 3.5 KB
Newer Older
1

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
include_directories(
	.
	${CMAKE_CURRENT_BINARY_DIR}

	${Qt5Location_PRIVATE_INCLUDE_DIRS}
)

set(EXTRA_SRC)

if(MOBILE)
	list(APPEND EXTRA_SRC
		MobileScreenMgr.cc
	)
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()

32
	add_subdirectory(qgcunittest)
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

	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)

	list(APPEND QGC_RESOURCES
		UnitTest.qrc
	)
endif()

add_library(qgc

	${QGC_RESOURCES}

	${EXTRA_SRC}

	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

100 101 102
	# UI
	QGCQmlWidgetHolder.ui

103 104 105 106
)

set_source_files_properties(QGCApplication.cc PROPERTIES COMPILE_DEFINITIONS GIT_VERSION="${git_tag}")

107 108
add_subdirectory(ui)

109
add_subdirectory(Airmap)
110
add_subdirectory(AnalyzeView)
111
add_subdirectory(api)
112
add_subdirectory(Audio)
113
add_subdirectory(AutoPilotPlugins)
114
add_subdirectory(Camera)
115
add_subdirectory(comm)
116
add_subdirectory(FactSystem)
117
add_subdirectory(FirmwarePlugin)
118
add_subdirectory(FlightDisplay)
119
add_subdirectory(FlightMap)
120
add_subdirectory(FollowMe)
121
add_subdirectory(GPS)
122
add_subdirectory(Joystick)
123
add_subdirectory(MissionManager)
124
add_subdirectory(PositionManager)
125
add_subdirectory(QmlControls)
126
add_subdirectory(QtLocationPlugin)
127
add_subdirectory(Settings)
128
add_subdirectory(Terrain)
129
add_subdirectory(uas)
130
add_subdirectory(Vehicle)
131
add_subdirectory(VehicleSetup)
132
add_subdirectory(VideoStreaming)
133
add_subdirectory(ViewWidgets)
134

135
target_link_libraries(qgc
136 137 138

	PUBLIC

139 140 141 142 143 144
	Qt5::Bluetooth
	Qt5::Concurrent
	Qt5::Core
	Qt5::Location
	Qt5::Multimedia
	Qt5::Positioning
145 146
	Qt5::Quick
	Qt5::QuickWidgets
147 148 149 150 151
	Qt5::Sql
	Qt5::Svg
	Qt5::Test
	Qt5::TextToSpeech
	Qt5::Widgets
152
	Qt5::Xml
153

154
	Airmap
155
	AnalyzeView
156
	api
157
	Audio
158
	AutoPilotPlugins
159
	Camera
160
	comm
161
	FactSystem
162
	FirmwarePlugin
163
	FlightDisplay
164
	FlightMap
165
	FollowMe
166
	gps
167
	Joystick
168
	MissionManager
169
	PositionManager
170
	QmlControls
171
	QtLocationPlugin
172
	qwt # LinechartWidget
173
	Settings
174
	Terrain
175
	uas
176
	ui
177
	Vehicle
178
	VehicleSetup
179
	VideoStreaming
180
	ViewWidgets
181 182
)

183 184 185 186
if(BUILD_TESTING)
	target_link_libraries(qgc PUBLIC qgcunittest)
endif()

187 188
target_include_directories(qgc INTERFACE ${CMAKE_CURRENT_SOURCE_DIR})