From 7e11e615f6f189cd8a447e45e7de32164517495b Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Sat, 10 Nov 2018 16:16:12 -0500 Subject: [PATCH] cmake cleanup dependency handling --- CMakeLists.txt | 2 +- src/AnalyzeView/CMakeLists.txt | 7 +-- src/Audio/CMakeLists.txt | 12 ++--- src/AutoPilotPlugins/CMakeLists.txt | 9 ++-- src/CMakeLists.txt | 79 ++++++++++++----------------- src/FactSystem/CMakeLists.txt | 7 +-- src/FlightDisplay/CMakeLists.txt | 2 +- src/FlightMap/CMakeLists.txt | 2 +- src/MissionManager/CMakeLists.txt | 10 ++-- src/QmlControls/CMakeLists.txt | 11 ++-- src/QtLocationPlugin/CMakeLists.txt | 5 +- src/Terrain/CMakeLists.txt | 2 +- src/Vehicle/CMakeLists.txt | 3 +- src/VehicleSetup/CMakeLists.txt | 3 +- src/VideoStreaming/CMakeLists.txt | 5 +- src/ViewWidgets/CMakeLists.txt | 3 +- src/comm/CMakeLists.txt | 7 +-- src/qgcunittest/CMakeLists.txt | 2 +- src/uas/CMakeLists.txt | 4 +- src/ui/CMakeLists.txt | 3 +- 20 files changed, 82 insertions(+), 96 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fe31ca886..2e2a936d1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -204,7 +204,7 @@ else() add_executable(QGroundControl ${QGC_RESOURCES}) endif() -target_link_libraries(QGroundControl PUBLIC qgc) +target_link_libraries(QGroundControl PRIVATE qgc) if(NOT QT_MKSPEC MATCHES "winrt") target_link_libraries(QGroundControl diff --git a/src/AnalyzeView/CMakeLists.txt b/src/AnalyzeView/CMakeLists.txt index ce9d5d0f6..02640f620 100644 --- a/src/AnalyzeView/CMakeLists.txt +++ b/src/AnalyzeView/CMakeLists.txt @@ -17,14 +17,15 @@ add_library(AnalyzeView ) target_link_libraries(AnalyzeView + PRIVATE + qgc + PUBLIC Qt5::Location Qt5::SerialPort Qt5::TextToSpeech Qt5::Widgets - - qgc ) -target_include_directories(AnalyzeView PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +target_include_directories(AnalyzeView INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/Audio/CMakeLists.txt b/src/Audio/CMakeLists.txt index 973b1c9b4..11203d238 100644 --- a/src/Audio/CMakeLists.txt +++ b/src/Audio/CMakeLists.txt @@ -12,13 +12,13 @@ add_library(Audio ) target_link_libraries(Audio + PRIVATE + qgc PUBLIC - Qt5::Core - Qt5::Qml - Qt5::TextToSpeech - Qt5::Widgets - - qgc + Qt5::Core + Qt5::Qml + Qt5::TextToSpeech + Qt5::Widgets ) target_include_directories(Audio PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/AutoPilotPlugins/CMakeLists.txt b/src/AutoPilotPlugins/CMakeLists.txt index 15b5d7c4c..d8a171865 100644 --- a/src/AutoPilotPlugins/CMakeLists.txt +++ b/src/AutoPilotPlugins/CMakeLists.txt @@ -27,6 +27,8 @@ add_library(AutoPilotPlugins Common/SyslinkComponent.cc Common/SyslinkComponentController.cc + Generic/GenericAutoPilotPlugin.cc + PX4/AirframeComponent.cc PX4/AirframeComponentAirframes.cc PX4/AirframeComponentController.cc @@ -45,19 +47,18 @@ add_library(AutoPilotPlugins PX4/SensorsComponentController.cc AutoPilotPlugin.cc - Generic/GenericAutoPilotPlugin.cc ) target_link_libraries(AutoPilotPlugins - PUBLIC + PRIVATE qgc ) target_include_directories(AutoPilotPlugins - PUBLIC + INTERFACE ${CMAKE_CURRENT_SOURCE_DIR} + PUBLIC APM Common PX4 ) - diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 19c808bbd..fb9665127 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -73,6 +73,7 @@ add_library(qgc JsonHelper.cc KMLFileHelper.cc LogCompressor.cc + main.cc QGC.cc QGCApplication.cc QGCComboBox.cc @@ -91,7 +92,6 @@ add_library(qgc RunGuard.cc TerrainTile.cc UTM.cpp - main.cc # UI QGCQmlWidgetHolder.ui @@ -100,8 +100,6 @@ add_library(qgc set_source_files_properties(QGCApplication.cc PROPERTIES COMPILE_DEFINITIONS GIT_VERSION="${git_tag}") -add_subdirectory(ui) - add_subdirectory(Airmap) add_subdirectory(AnalyzeView) add_subdirectory(api) @@ -123,57 +121,45 @@ add_subdirectory(QtLocationPlugin) add_subdirectory(Settings) add_subdirectory(Terrain) add_subdirectory(uas) +add_subdirectory(ui) add_subdirectory(Vehicle) add_subdirectory(VehicleSetup) add_subdirectory(VideoStreaming) add_subdirectory(ViewWidgets) target_link_libraries(qgc + PRIVATE PUBLIC - - Qt5::Bluetooth - Qt5::Concurrent - Qt5::Core - Qt5::Location - Qt5::Multimedia - Qt5::Positioning - Qt5::Quick - Qt5::QuickWidgets - Qt5::Sql - Qt5::Svg - Qt5::Test - Qt5::TextToSpeech - Qt5::Widgets - Qt5::Xml - - Airmap - AnalyzeView - api - Audio - AutoPilotPlugins - Camera - comm - FactSystem - FirmwarePlugin - FlightDisplay - FlightMap - FollowMe - gps - Joystick - MissionManager - PositionManager - QmlControls - QtLocationPlugin - qwt # LinechartWidget - Settings - Terrain - uas - ui - Vehicle - VehicleSetup - VideoStreaming - ViewWidgets + Qt5::QuickWidgets + Qt5::Widgets + + Airmap + AnalyzeView + api + Audio + AutoPilotPlugins + Camera + comm + FactSystem + FirmwarePlugin + FlightDisplay + FlightMap + FollowMe + gps + Joystick + MissionManager + PositionManager + QmlControls + QtLocationPlugin + Settings + Terrain + uas + ui + Vehicle + VehicleSetup + VideoStreaming + ViewWidgets ) if(BUILD_TESTING) @@ -181,4 +167,3 @@ if(BUILD_TESTING) endif() target_include_directories(qgc INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) - diff --git a/src/FactSystem/CMakeLists.txt b/src/FactSystem/CMakeLists.txt index f8d3cace3..6b7f1999b 100644 --- a/src/FactSystem/CMakeLists.txt +++ b/src/FactSystem/CMakeLists.txt @@ -18,17 +18,18 @@ add_library(FactSystem FactValueSliderListModel.cc ParameterManager.cc SettingsFact.cc + ${EXTRA_SRC} ) target_link_libraries(FactSystem - PUBLIC + PRIVATE qgc ) target_include_directories(FactSystem - PUBLIC + INTERFACE ${CMAKE_CURRENT_SOURCE_DIR} + PUBLIC FactControls ) - diff --git a/src/FlightDisplay/CMakeLists.txt b/src/FlightDisplay/CMakeLists.txt index f433488a8..2a9262693 100644 --- a/src/FlightDisplay/CMakeLists.txt +++ b/src/FlightDisplay/CMakeLists.txt @@ -4,7 +4,7 @@ add_library(FlightDisplay ) target_link_libraries(FlightDisplay - PUBLIC + PRIVATE qgc ) diff --git a/src/FlightMap/CMakeLists.txt b/src/FlightMap/CMakeLists.txt index 09bd927df..ba631e46a 100644 --- a/src/FlightMap/CMakeLists.txt +++ b/src/FlightMap/CMakeLists.txt @@ -4,7 +4,7 @@ add_library(FlightMap ) target_link_libraries(FlightMap - PUBLIC + PRIVATE qgc ) diff --git a/src/MissionManager/CMakeLists.txt b/src/MissionManager/CMakeLists.txt index 99ca3f6b0..23831d0ac 100644 --- a/src/MissionManager/CMakeLists.txt +++ b/src/MissionManager/CMakeLists.txt @@ -66,13 +66,11 @@ add_library(MissionManager target_link_libraries(MissionManager PUBLIC - qgc + Qt5::Xml + PRIVATE + qgc ui ) -target_include_directories(MissionManager - PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR} - ) - +target_include_directories(MissionManager INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/QmlControls/CMakeLists.txt b/src/QmlControls/CMakeLists.txt index 9c58f8494..ba393670b 100644 --- a/src/QmlControls/CMakeLists.txt +++ b/src/QmlControls/CMakeLists.txt @@ -15,16 +15,17 @@ add_library(QmlControls ) target_link_libraries(QmlControls + PRIVATE + qgc + + FactSystem PUBLIC + Qt5::Concurrent Qt5::Location Qt5::SerialPort Qt5::TextToSpeech Qt5::Widgets - - qgc - - FactSystem ) -target_include_directories(QmlControls PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +target_include_directories(QmlControls INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/QtLocationPlugin/CMakeLists.txt b/src/QtLocationPlugin/CMakeLists.txt index 9d9b88701..6b7e47788 100644 --- a/src/QtLocationPlugin/CMakeLists.txt +++ b/src/QtLocationPlugin/CMakeLists.txt @@ -21,14 +21,13 @@ add_library(QtLocationPlugin target_link_libraries(QtLocationPlugin PUBLIC Qt5::Location + Qt5::Sql qgc ) target_include_directories(QtLocationPlugin - PUBLIC - ${CMAKE_CURRENT_SOURCE_DIR} INTERFACE + ${CMAKE_CURRENT_SOURCE_DIR} QMLControl ) - diff --git a/src/Terrain/CMakeLists.txt b/src/Terrain/CMakeLists.txt index 9ffc9ef0e..e04f7af89 100644 --- a/src/Terrain/CMakeLists.txt +++ b/src/Terrain/CMakeLists.txt @@ -4,7 +4,7 @@ add_library(Terrain ) target_link_libraries(Terrain - PUBLIC + PRIVATE qgc ) diff --git a/src/Vehicle/CMakeLists.txt b/src/Vehicle/CMakeLists.txt index 7a25dcb5e..da275c1c3 100644 --- a/src/Vehicle/CMakeLists.txt +++ b/src/Vehicle/CMakeLists.txt @@ -20,5 +20,4 @@ target_link_libraries(Vehicle qgc ) -target_include_directories(Vehicle PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) - +target_include_directories(Vehicle INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/VehicleSetup/CMakeLists.txt b/src/VehicleSetup/CMakeLists.txt index 249b95f28..6969fd5bb 100644 --- a/src/VehicleSetup/CMakeLists.txt +++ b/src/VehicleSetup/CMakeLists.txt @@ -13,5 +13,4 @@ target_link_libraries(VehicleSetup qgc ) -target_include_directories(VehicleSetup PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) - +target_include_directories(VehicleSetup INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/VideoStreaming/CMakeLists.txt b/src/VideoStreaming/CMakeLists.txt index 57028a9d9..9024b35bb 100644 --- a/src/VideoStreaming/CMakeLists.txt +++ b/src/VideoStreaming/CMakeLists.txt @@ -33,7 +33,8 @@ add_library(VideoStreaming target_link_libraries(VideoStreaming PUBLIC qgc -) -target_include_directories(VideoStreaming PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + Qt5::Multimedia +) +target_include_directories(VideoStreaming INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/ViewWidgets/CMakeLists.txt b/src/ViewWidgets/CMakeLists.txt index ff2dca485..d48b0f9bc 100644 --- a/src/ViewWidgets/CMakeLists.txt +++ b/src/ViewWidgets/CMakeLists.txt @@ -10,5 +10,4 @@ target_link_libraries(ViewWidgets qgc ) -target_include_directories(ViewWidgets PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) - +target_include_directories(ViewWidgets INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/comm/CMakeLists.txt b/src/comm/CMakeLists.txt index cad538613..315774cc9 100644 --- a/src/comm/CMakeLists.txt +++ b/src/comm/CMakeLists.txt @@ -35,14 +35,15 @@ add_library(comm ) target_link_libraries(comm + PRIVATE + qgc PUBLIC Qt5::Location Qt5::SerialPort + Qt5::Test Qt5::TextToSpeech Qt5::Widgets - - qgc ) -target_include_directories(comm PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +target_include_directories(comm INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/qgcunittest/CMakeLists.txt b/src/qgcunittest/CMakeLists.txt index cd1533f1a..b9066a6ca 100644 --- a/src/qgcunittest/CMakeLists.txt +++ b/src/qgcunittest/CMakeLists.txt @@ -17,7 +17,7 @@ add_library(qgcunittest ) target_link_libraries(qgcunittest - PUBLIC + PRIVATE qgc ) diff --git a/src/uas/CMakeLists.txt b/src/uas/CMakeLists.txt index d3d0886d9..edb9b2d30 100644 --- a/src/uas/CMakeLists.txt +++ b/src/uas/CMakeLists.txt @@ -11,9 +11,9 @@ add_library(uas ) target_link_libraries(uas - PUBLIC + PRIVATE qgc ) -target_include_directories(uas PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) +target_include_directories(uas INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt index d3ce56cff..17216dc3b 100644 --- a/src/ui/CMakeLists.txt +++ b/src/ui/CMakeLists.txt @@ -50,8 +50,9 @@ add_library(ui ) target_link_libraries(ui - PUBLIC + PRIVATE qgc + qwt ) target_include_directories(ui -- 2.22.0