Soften the HID dependency, so we can build
without HID if the necessary 3rdparty libs are not found.
This commit is contained in:
parent
db8985fc76
commit
396d9e4c3b
2 changed files with 26 additions and 16 deletions
26
3rdparty/hidapi/CMakeLists.txt
vendored
26
3rdparty/hidapi/CMakeLists.txt
vendored
|
@ -1,4 +1,5 @@
|
||||||
|
|
||||||
|
|
||||||
set(HIDAPI_SOURCES
|
set(HIDAPI_SOURCES
|
||||||
hidapi/hidapi.h
|
hidapi/hidapi.h
|
||||||
hidapi/hidparse.h
|
hidapi/hidparse.h
|
||||||
|
@ -17,26 +18,27 @@ endif(WIN32)
|
||||||
#add_definitions( -DHAVE_CONFIG_H ) # to use fgfs config.h to get FG version, if needed
|
#add_definitions( -DHAVE_CONFIG_H ) # to use fgfs config.h to get FG version, if needed
|
||||||
#add_definitions( -DLIBVER="SVN 261" ) # add an iaxclient_lib version string
|
#add_definitions( -DLIBVER="SVN 261" ) # add an iaxclient_lib version string
|
||||||
|
|
||||||
add_library(hidapi STATIC
|
add_library(hidapi STATIC
|
||||||
${HIDAPI_SOURCES}
|
${HIDAPI_SOURCES}
|
||||||
)
|
)
|
||||||
|
|
||||||
# only needed for Linux, but doesn't do any harm here
|
|
||||||
target_link_libraries(hidapi ${UDEV_LIBRARIES})
|
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
find_library(SETUP_API_LIB Setupapi)
|
find_library(SETUP_API_LIB Setupapi)
|
||||||
if (NOT SETUP_API_LIB)
|
if (NOT SETUP_API_LIB)
|
||||||
message(WARNING "Failed to find Setupapi.lib")
|
message(FATAL_ERROR "Failed to find Setupapi.lib")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(hidapi ${SETUP_API_LIB})
|
target_link_libraries(hidapi ${SETUP_API_LIB})
|
||||||
endif()
|
elseif(APPLE)
|
||||||
|
|
||||||
|
|
||||||
if(APPLE)
|
|
||||||
find_library(IOKIT_FRAMEWORK IOKit)
|
find_library(IOKIT_FRAMEWORK IOKit)
|
||||||
target_link_libraries(hidapi ${IOKIT_FRAMEWORK})
|
target_link_libraries(hidapi ${IOKIT_FRAMEWORK})
|
||||||
|
else()
|
||||||
|
# Linux-y things
|
||||||
|
find_package(UDev)
|
||||||
|
if (UDEV_FOUND)
|
||||||
|
target_link_libraries(hidapi ${UDEV_LIBRARIES})
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "Failed to find UDev")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_include_directories(hidapi PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/hidapi)
|
target_include_directories(hidapi PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/hidapi)
|
||||||
|
|
|
@ -123,7 +123,10 @@ IF(APPLE)
|
||||||
find_library(COCOA_LIBRARY Cocoa)
|
find_library(COCOA_LIBRARY Cocoa)
|
||||||
list(APPEND PLATFORM_LIBS ${COCOA_LIBRARY} ${CORESERVICES_LIBRARY})
|
list(APPEND PLATFORM_LIBS ${COCOA_LIBRARY} ${CORESERVICES_LIBRARY})
|
||||||
elseif(WIN32)
|
elseif(WIN32)
|
||||||
set(EVENT_INPUT_DEFAULT 1)
|
find_library(SETUP_API_LIB Setupapi)
|
||||||
|
if (SETUP_API_LIB)
|
||||||
|
set(EVENT_INPUT_DEFAULT 1)
|
||||||
|
endif()
|
||||||
|
|
||||||
list(APPEND PLATFORM_LIBS "Shlwapi.lib")
|
list(APPEND PLATFORM_LIBS "Shlwapi.lib")
|
||||||
|
|
||||||
|
@ -197,12 +200,11 @@ option(ENABLE_JS_DEMO "Set to ON to build the js_demo application (default)"
|
||||||
option(ENABLE_METAR "Set to ON to build the metar application (default)" ON)
|
option(ENABLE_METAR "Set to ON to build the metar application (default)" ON)
|
||||||
option(ENABLE_STGMERGE "Set to ON to build the stgmerge application (default)" OFF)
|
option(ENABLE_STGMERGE "Set to ON to build the stgmerge application (default)" OFF)
|
||||||
option(ENABLE_FGCOM "Set to ON to build the FGCom application (default)" ON)
|
option(ENABLE_FGCOM "Set to ON to build the FGCom application (default)" ON)
|
||||||
option(ENABLE_FLITE "Set to ON to build the Flite text-to-speech module" ON)
|
|
||||||
option(ENABLE_QT "Set to ON to build the internal Qt launcher" ON)
|
option(ENABLE_QT "Set to ON to build the internal Qt launcher" ON)
|
||||||
option(ENABLE_TRAFFIC "Set to ON to build the external traffic generator modules" ON)
|
option(ENABLE_TRAFFIC "Set to ON to build the external traffic generator modules" ON)
|
||||||
option(ENABLE_FGQCANVAS "Set to ON to build the Qt-based remote canvas application" OFF)
|
option(ENABLE_FGQCANVAS "Set to ON to build the Qt-based remote canvas application" OFF)
|
||||||
option(ENABLE_DEMCONVERT "Set to ON to build the dem conversion tool (default)" ON)
|
option(ENABLE_DEMCONVERT "Set to ON to build the dem conversion tool (default)" ON)
|
||||||
option(ENABLE_HID_INPUT "Set to ON to build HID-based input code" ON)
|
option(ENABLE_HID_INPUT "Set to ON to build HID-based input code" ${EVENT_INPUT_DEFAULT})
|
||||||
option(ENABLE_PLIB_JOYSTICK "Set to ON to enable legacy joystick code (default)" ON)
|
option(ENABLE_PLIB_JOYSTICK "Set to ON to enable legacy joystick code (default)" ON)
|
||||||
option(ENABLE_COMPOSITOR "Set to ON to enable the Compositor-based Viewer" OFF)
|
option(ENABLE_COMPOSITOR "Set to ON to enable the Compositor-based Viewer" OFF)
|
||||||
option(ENABLE_SWIFT "Set to ON to build the swift module" ON)
|
option(ENABLE_SWIFT "Set to ON to build the swift module" ON)
|
||||||
|
@ -259,7 +261,13 @@ if(EVENT_INPUT)
|
||||||
endif()
|
endif()
|
||||||
else()
|
else()
|
||||||
# Windows
|
# Windows
|
||||||
add_definitions(-DWITH_EVENTINPUT)
|
if (NOT SETUP_API_LIB)
|
||||||
|
message(WARNING "Setupapi.lib not found, HID/event input is disabled")
|
||||||
|
set(ENABLE_HID_INPUT 0)
|
||||||
|
set(EVENT_INPUT 0)
|
||||||
|
else()
|
||||||
|
add_definitions(-DWITH_EVENTINPUT)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (ENABLE_HID_INPUT)
|
if (ENABLE_HID_INPUT)
|
||||||
|
|
Loading…
Reference in a new issue