diff --git a/CMakeLists.txt b/CMakeLists.txt index b2144484876ba9360592d9715e34d2e84c58ef67..aa13afedf6a543e349bb212e4d30a06a5e871736 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -130,16 +130,6 @@ if(${CMAKE_BUILD_TYPE} MATCHES "Debug") add_definitions(-DUNITTEST_BUILD) endif() -if(LINUX) - find_package(SDL2 REQUIRED) - include_directories(${SDL2_INCLUDE_DIRS}) - string(STRIP ${SDL2_LIBRARIES} SDL2_LIBRARIES) # work around for cmake warning -elseif(APPLE) - include_directories(libs/lib/Frameworks/SDL2.framework/Headers) -elseif(WIN32) - include_directories(libs/lib/sdl2/msvc/include) -endif() - if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") # clang and AppleClang add_compile_options( @@ -204,12 +194,8 @@ endif() target_link_libraries(QGroundControl PUBLIC qgc - - AnalyzeView - gps - qwt ) - + if(NOT QT_MKSPEC MATCHES "winrt") target_link_libraries(QGroundControl PUBLIC @@ -218,10 +204,8 @@ if(NOT QT_MKSPEC MATCHES "winrt") endif() if(LINUX) - target_link_libraries(QGroundControl PRIVATE ${SDL2_LIBRARIES}) -elseif(APPLE) - target_link_libraries(QGroundControl PRIVATE -F${CMAKE_SOURCE_DIR}/libs/lib/Frameworks "-framework SDL2") - + +elseif(APPLE) set_target_properties(${PROJECT_NAME} PROPERTIES MACOSX_BUNDLE YES ) @@ -239,17 +223,6 @@ elseif(WIN32) ) endif() - # Support both 32 and 64 bit builds - if (${CMAKE_SIZEOF_VOID_P} MATCHES 8) - set(SDL2_LIBRARIES "${CMAKE_SOURCE_DIR}/libs/lib/sdl2/msvc/lib/x64/SDL2.lib;${CMAKE_SOURCE_DIR}/libs/lib/sdl2/msvc/lib/x64/SDL2main.lib") - else () - set(SDL2_LIBRARIES "${CMAKE_SOURCE_DIR}/libs/lib/sdl2/msvc/lib/x86/SDL2.lib;${CMAKE_SOURCE_DIR}/libs/lib/sdl2/msvc/lib/x86/SDL2main.lib") - endif () - - string(STRIP "${SDL2_LIBRARIES}" SDL2_LIBRARIES) - - target_link_libraries(QGroundControl ${SDL2_LIBRARIES}) - # deploy include(Windeployqt) windeployqt(QGroundControl "QGroundControl-installer.exe") diff --git a/src/Airmap/CMakeLists.txt b/src/Airmap/CMakeLists.txt index 9fd61a8da2121db6397487856f8d8521bf162a88..6952af9398d8654ca0cd3c14b252f1982040f5e7 100644 --- a/src/Airmap/CMakeLists.txt +++ b/src/Airmap/CMakeLists.txt @@ -33,5 +33,5 @@ target_link_libraries(Airmap qgc ) -target_include_directories(AnalyzeView INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) +target_include_directories(Airmap INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e82687600126886a63bef1f0ae373e25c747f92b..5c157eab02da81a7a6850e933e35a4792b1dab62 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -8,7 +8,6 @@ include_directories( FlightMap/Widgets FollowMe - Joystick PositionManager qgcunittest Terrain @@ -117,10 +116,6 @@ add_library(qgc FollowMe/FollowMe.cc - Joystick/Joystick.cc - Joystick/JoystickManager.cc - Joystick/JoystickSDL.cc - PositionManager/PositionManager.cpp PositionManager/SimulatedPosition.cc @@ -163,8 +158,8 @@ set_source_files_properties(QGCApplication.cc PROPERTIES COMPILE_DEFINITIONS GIT add_subdirectory(ui) -add_subdirectory(AnalyzeView) add_subdirectory(Airmap) +add_subdirectory(AnalyzeView) add_subdirectory(api) add_subdirectory(Audio) add_subdirectory(AutoPilotPlugins) @@ -174,6 +169,7 @@ add_subdirectory(FactSystem) add_subdirectory(FirmwarePlugin) add_subdirectory(FlightDisplay) add_subdirectory(GPS) +add_subdirectory(Joystick) add_subdirectory(MissionManager) add_subdirectory(QmlControls) add_subdirectory(QtLocationPlugin) @@ -190,17 +186,17 @@ target_link_libraries(qgc Qt5::Bluetooth Qt5::Concurrent Qt5::Core - Qt5::Quick - Qt5::QuickWidgets Qt5::Location Qt5::Multimedia Qt5::Positioning + Qt5::Quick + Qt5::QuickWidgets Qt5::Sql Qt5::Svg Qt5::Test Qt5::TextToSpeech - Qt5::Xml Qt5::Widgets + Qt5::Xml Airmap AnalyzeView @@ -213,10 +209,11 @@ target_link_libraries(qgc FirmwarePlugin FlightDisplay gps - qwt # LinechartWidget + Joystick MissionManager QmlControls QtLocationPlugin + qwt # LinechartWidget Settings uas ui diff --git a/src/Joystick/CMakeLists.txt b/src/Joystick/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..7222e5cd91588bf48fc4931281b12f0826261e67 --- /dev/null +++ b/src/Joystick/CMakeLists.txt @@ -0,0 +1,40 @@ + +add_library(Joystick + Joystick.cc + JoystickManager.cc + JoystickSDL.cc +) + +target_link_libraries(Joystick + PUBLIC + qgc +) + +target_include_directories(Joystick PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) + +if(LINUX) + find_package(SDL2 REQUIRED) + include_directories(${SDL2_INCLUDE_DIRS}) + string(STRIP ${SDL2_LIBRARIES} SDL2_LIBRARIES) # work around for cmake warning + target_link_libraries(Joystick PRIVATE ${SDL2_LIBRARIES}) +elseif(APPLE) + include_directories(libs/lib/Frameworks/SDL2.framework/Headers) + target_link_libraries(Joystick PRIVATE -F${CMAKE_SOURCE_DIR}/libs/lib/Frameworks "-framework SDL2") + + set_target_properties(${PROJECT_NAME} PROPERTIES + MACOSX_BUNDLE YES + ) +elseif(WIN32) + include_directories(libs/lib/sdl2/msvc/include) + # Support both 32 and 64 bit builds + if (${CMAKE_SIZEOF_VOID_P} MATCHES 8) + set(SDL2_LIBRARIES "${CMAKE_SOURCE_DIR}/libs/lib/sdl2/msvc/lib/x64/SDL2.lib;${CMAKE_SOURCE_DIR}/libs/lib/sdl2/msvc/lib/x64/SDL2main.lib") + else () + set(SDL2_LIBRARIES "${CMAKE_SOURCE_DIR}/libs/lib/sdl2/msvc/lib/x86/SDL2.lib;${CMAKE_SOURCE_DIR}/libs/lib/sdl2/msvc/lib/x86/SDL2main.lib") + endif () + + string(STRIP "${SDL2_LIBRARIES}" SDL2_LIBRARIES) + + target_link_libraries(Joystick ${SDL2_LIBRARIES}) +endif() +