Browse Source

cmake create Joystick library in src/Joystick

QGC4.4
Daniel Agar 6 years ago
parent
commit
f1be03c43b
  1. 33
      CMakeLists.txt
  2. 2
      src/Airmap/CMakeLists.txt
  3. 17
      src/CMakeLists.txt
  4. 40
      src/Joystick/CMakeLists.txt

33
CMakeLists.txt

@ -130,16 +130,6 @@ if(${CMAKE_BUILD_TYPE} MATCHES "Debug") @@ -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() @@ -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") @@ -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) @@ -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")

2
src/Airmap/CMakeLists.txt

@ -33,5 +33,5 @@ target_link_libraries(Airmap @@ -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})

17
src/CMakeLists.txt

@ -8,7 +8,6 @@ include_directories( @@ -8,7 +8,6 @@ include_directories(
FlightMap/Widgets
FollowMe
Joystick
PositionManager
qgcunittest
Terrain
@ -117,10 +116,6 @@ add_library(qgc @@ -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 @@ -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) @@ -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 @@ -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 @@ -213,10 +209,11 @@ target_link_libraries(qgc
FirmwarePlugin
FlightDisplay
gps
qwt # LinechartWidget
Joystick
MissionManager
QmlControls
QtLocationPlugin
qwt # LinechartWidget
Settings
uas
ui

40
src/Joystick/CMakeLists.txt

@ -0,0 +1,40 @@ @@ -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()
Loading…
Cancel
Save