From f1be03c43b68d55a817da1aaad4f1ed3c62abc99 Mon Sep 17 00:00:00 2001 From: Daniel Agar Date: Thu, 25 Oct 2018 15:11:39 -0400 Subject: [PATCH] cmake create Joystick library in src/Joystick --- CMakeLists.txt | 33 +++--------------------------- src/Airmap/CMakeLists.txt | 2 +- src/CMakeLists.txt | 17 +++++++--------- src/Joystick/CMakeLists.txt | 40 +++++++++++++++++++++++++++++++++++++ 4 files changed, 51 insertions(+), 41 deletions(-) create mode 100644 src/Joystick/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index b214448487..aa13afedf6 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 9fd61a8da2..6952af9398 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 e826876001..5c157eab02 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 0000000000..7222e5cd91 --- /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() + -- GitLab