diff --git a/CMakeLists.txt b/CMakeLists.txt index ac2541bdb..db7e0321c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -349,7 +349,6 @@ find_package(PkgConfig REQUIRED) find_package(Boost REQUIRED) find_package(FFTW3F REQUIRED) find_package(LibUSB REQUIRED) # used by so many packages -find_package(HIDAPI) # For FCD find_package(OpenCV OPTIONAL_COMPONENTS core highgui imgproc imgcodecs videoio) # channeltx/modatv find_package(LibSigMF) # SigMF recording files support if(NOT WIN32) @@ -449,7 +448,7 @@ if(ENABLE_USRP) find_package(UHD) endif() -if(ENABLE_FUNCUBE AND UNIX AND LIBUSB_FOUND AND HIDAPI_FOUND) +if(ENABLE_FUNCUBE AND UNIX AND LIBUSB_FOUND) add_subdirectory(fcdlib) add_subdirectory(fcdhid) endif() diff --git a/cmake/Modules/FindHIDAPI.cmake b/cmake/Modules/FindHIDAPI.cmake deleted file mode 100644 index 047485ddf..000000000 --- a/cmake/Modules/FindHIDAPI.cmake +++ /dev/null @@ -1,234 +0,0 @@ -#.rst: -# FindHIDAPI -# ---------- -# -# Try to find HIDAPI library, from http://www.signal11.us/oss/hidapi/ -# -# Cache Variables: (probably not for direct use in your scripts) -# HIDAPI_INCLUDE_DIR -# HIDAPI_LIBRARY -# -# Non-cache variables you might use in your CMakeLists.txt: -# HIDAPI_FOUND -# HIDAPI_INCLUDE_DIRS -# HIDAPI_LIBRARIES -# -# COMPONENTS -# ^^^^^^^^^^ -# -# This module respects several COMPONENTS specifying the backend you prefer: -# ``any`` (the default), ``libusb``, and ``hidraw``. -# The availablility of the latter two depends on your platform. -# -# -# IMPORTED Targets -# ^^^^^^^^^^^^^^^^ - -# This module defines :prop_tgt:`IMPORTED` target ``HIDAPI::hidapi`` (in all cases or -# if no components specified), ``HIDAPI::hidapi-libusb`` (if you requested the libusb component), -# and ``HIDAPI::hidapi-hidraw`` (if you requested the hidraw component), -# -# Result Variables -# ^^^^^^^^^^^^^^^^ -# -# ``HIDAPI_FOUND`` -# True if HIDAPI or the requested components (if any) were found. -# -# We recommend using the imported targets instead of the following. -# -# ``HIDAPI_INCLUDE_DIRS`` -# ``HIDAPI_LIBRARIES`` -# -# Original Author: -# 2009-2010, 2019 Ryan Pavlik -# http://academic.cleardefinition.com -# -# Copyright Iowa State University 2009-2010. -# Copyright Collabora, Ltd. 2019. -# Distributed under the Boost Software License, Version 1.0. -# (See accompanying file LICENSE_1_0.txt or copy at -# http://www.boost.org/LICENSE_1_0.txt) - -cmake_policy(SET CMP0045 NEW) -cmake_policy(SET CMP0053 NEW) -cmake_policy(SET CMP0054 NEW) - -set(HIDAPI_ROOT_DIR - "${HIDAPI_ROOT_DIR}" - CACHE PATH "Root to search for HIDAPI") - -# Clean up components -if("${HIDAPI_FIND_COMPONENTS}") - if(WIN32 OR APPLE) - # This makes no sense on Windows or Mac, which have native APIs - list(REMOVE "${HIDAPI_FIND_COMPONENTS}" libusb) - endif() - - if(NOT ${CMAKE_SYSTEM} MATCHES "Linux") - # hidraw is only on linux - list(REMOVE "${HIDAPI_FIND_COMPONENTS}" hidraw) - endif() -endif() -if(NOT "${HIDAPI_FIND_COMPONENTS}") - # Default to any - set("${HIDAPI_FIND_COMPONENTS}" any) -endif() - -# Ask pkg-config for hints -find_package(PkgConfig QUIET) -if(PKG_CONFIG_FOUND) - set(_old_prefix_path "${CMAKE_PREFIX_PATH}") - # So pkg-config uses HIDAPI_ROOT_DIR too. - if(HIDAPI_ROOT_DIR) - list(APPEND CMAKE_PREFIX_PATH ${HIDAPI_ROOT_DIR}) - endif() - pkg_check_modules(PC_HIDAPI_LIBUSB QUIET hidapi-libusb) - pkg_check_modules(PC_HIDAPI_HIDRAW QUIET hidapi-hidraw) - # Restore - set(CMAKE_PREFIX_PATH "${_old_prefix_path}") -endif() - -# Actually search -find_library( - HIDAPI_UNDECORATED_LIBRARY - NAMES hidapi - PATHS "${HIDAPI_ROOT_DIR}" - PATH_SUFFIXES lib) - -find_library( - HIDAPI_LIBUSB_LIBRARY - NAMES hidapi hidapi-libusb - PATHS "${HIDAPI_ROOT_DIR}" - PATH_SUFFIXES lib - HINTS ${PC_HIDAPI_LIBUSB_LIBRARY_DIRS}) - -if(CMAKE_SYSTEM MATCHES "Linux") - find_library( - HIDAPI_HIDRAW_LIBRARY - NAMES hidapi-hidraw - HINTS ${PC_HIDAPI_HIDRAW_LIBRARY_DIRS}) -endif() - -find_path( - HIDAPI_INCLUDE_DIR - NAMES hidapi.h - PATHS "${HIDAPI_ROOT_DIR}" - PATH_SUFFIXES hidapi include include/hidapi - HINTS ${PC_HIDAPI_HIDRAW_INCLUDE_DIRS} ${PC_HIDAPI_LIBUSB_INCLUDE_DIRS}) - -find_package(Threads QUIET) - -### -# Compute the "I don't care which backend" library -### -set(HIDAPI_LIBRARY) - -# First, try to use a preferred backend if supplied -if("${HIDAPI_FIND_COMPONENTS}" MATCHES "libusb" - AND HIDAPI_LIBUSB_LIBRARY - AND NOT HIDAPI_LIBRARY) - set(HIDAPI_LIBRARY ${HIDAPI_LIBUSB_LIBRARY}) -endif() -if("${HIDAPI_FIND_COMPONENTS}" MATCHES "hidraw" - AND HIDAPI_HIDRAW_LIBRARY - AND NOT HIDAPI_LIBRARY) - set(HIDAPI_LIBRARY ${HIDAPI_HIDRAW_LIBRARY}) -endif() - -# Then, if we don't have a preferred one, settle for anything. -if(NOT HIDAPI_LIBRARY) - if(HIDAPI_LIBUSB_LIBRARY) - set(HIDAPI_LIBRARY ${HIDAPI_LIBUSB_LIBRARY}) - elseif(HIDAPI_HIDRAW_LIBRARY) - set(HIDAPI_LIBRARY ${HIDAPI_HIDRAW_LIBRARY}) - elseif(HIDAPI_UNDECORATED_LIBRARY) - set(HIDAPI_LIBRARY ${HIDAPI_UNDECORATED_LIBRARY}) - endif() -endif() - -### -# Determine if the various requested components are found. -### -set(_hidapi_component_required_vars) - -foreach(_comp IN LISTS HIDAPI_FIND_COMPONENTS) - if("${_comp}" STREQUAL "any") - list(APPEND _hidapi_component_required_vars HIDAPI_INCLUDE_DIR - HIDAPI_LIBRARY) - if(HIDAPI_INCLUDE_DIR AND EXISTS "${HIDAPI_LIBRARY}") - set(HIDAPI_any_FOUND TRUE) - mark_as_advanced(HIDAPI_INCLUDE_DIR) - else() - set(HIDAPI_any_FOUND FALSE) - endif() - - elseif("${_comp}" STREQUAL "libusb") - list(APPEND _hidapi_component_required_vars HIDAPI_INCLUDE_DIR - HIDAPI_LIBUSB_LIBRARY) - if(HIDAPI_INCLUDE_DIR AND EXISTS "${HIDAPI_LIBUSB_LIBRARY}") - set(HIDAPI_libusb_FOUND TRUE) - mark_as_advanced(HIDAPI_INCLUDE_DIR HIDAPI_LIBUSB_LIBRARY) - else() - set(HIDAPI_libusb_FOUND FALSE) - endif() - - elseif("${_comp}" STREQUAL "hidraw") - list(APPEND _hidapi_component_required_vars HIDAPI_INCLUDE_DIR - HIDAPI_HIDRAW_LIBRARY) - if(HIDAPI_INCLUDE_DIR AND EXISTS "${HIDAPI_HIDRAW_LIBRARY}") - set(HIDAPI_hidraw_FOUND TRUE) - mark_as_advanced(HIDAPI_INCLUDE_DIR HIDAPI_HIDRAW_LIBRARY) - else() - set(HIDAPI_hidraw_FOUND FALSE) - endif() - - else() - message(WARNING "${_comp} is not a recognized HIDAPI component") - set(HIDAPI_${_comp}_FOUND FALSE) - endif() -endforeach() -unset(_comp) - -### -# FPHSA call -### -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args( - HIDAPI REQUIRED_VARS ${_hidapi_component_required_vars} THREADS_FOUND - HANDLE_COMPONENTS) - -if(HIDAPI_FOUND) - set(HIDAPI_LIBRARIES "${HIDAPI_LIBRARY}") - set(HIDAPI_INCLUDE_DIRS "${HIDAPI_INCLUDE_DIR}") - if(NOT TARGET HIDAPI::hidapi) - add_library(HIDAPI::hidapi UNKNOWN IMPORTED) - set_target_properties( - HIDAPI::hidapi - PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES "C" - IMPORTED_LOCATION ${HIDAPI_LIBRARY}) - set_property( - TARGET HIDAPI::hidapi PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES - Threads::Threads) - endif() -endif() - -if(HIDAPI_libusb_FOUND AND NOT TARGET HIDAPI::hidapi-libusb) - add_library(HIDAPI::hidapi-libusb UNKNOWN IMPORTED) - set_target_properties( - HIDAPI::hidapi-libusb - PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "C" IMPORTED_LOCATION - ${HIDAPI_LIBUSB_LIBRARY}) - set_property(TARGET HIDAPI::hidapi-libusb - PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES Threads::Threads) -endif() - -if(HIDAPI_hidraw_FOUND AND NOT TARGET HIDAPI::hidapi-hidraw) - add_library(HIDAPI::hidapi-hidraw UNKNOWN IMPORTED) - set_target_properties( - HIDAPI::hidapi-hidraw - PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "C" IMPORTED_LOCATION - ${HIDAPI_HIDRAW_LIBRARY}) - set_property(TARGET HIDAPI::hidapi-hidraw - PROPERTY IMPORTED_LINK_INTERFACE_LIBRARIES Threads::Threads) -endif() diff --git a/fcdhid/CMakeLists.txt b/fcdhid/CMakeLists.txt index d808bde54..409a9a445 100644 --- a/fcdhid/CMakeLists.txt +++ b/fcdhid/CMakeLists.txt @@ -11,7 +11,6 @@ set(fcdhid_HEADERS include_directories( ${LIBUSB_INCLUDE_DIR} - ${HIDAPI_INCLUDE_DIRS} ${ICONV_INCLUDE_DIR} ${CUSTOM_APPLE_INCLUDE} ) @@ -22,7 +21,6 @@ add_library(fcdhid SHARED target_link_libraries(fcdhid ${LIBUSB_LIBRARIES} - ${HIDAPI_LIBRARIES} ${ICONV_LIBRARY} ) diff --git a/plugins/samplesource/CMakeLists.txt b/plugins/samplesource/CMakeLists.txt index 0fa6361e4..a903dd4ee 100644 --- a/plugins/samplesource/CMakeLists.txt +++ b/plugins/samplesource/CMakeLists.txt @@ -21,7 +21,7 @@ if(ENABLE_BLADERF AND LIBBLADERF_FOUND) add_subdirectory(bladerf2input) endif() -if(ENABLE_FUNCUBE AND UNIX AND LIBUSB_FOUND AND HIDAPI_FOUND) +if(ENABLE_FUNCUBE AND UNIX AND LIBUSB_FOUND) add_subdirectory(fcdpro) add_subdirectory(fcdproplus) endif() diff --git a/plugins/samplesource/fcdpro/CMakeLists.txt b/plugins/samplesource/fcdpro/CMakeLists.txt index 8c59e5ab1..828eb6647 100644 --- a/plugins/samplesource/fcdpro/CMakeLists.txt +++ b/plugins/samplesource/fcdpro/CMakeLists.txt @@ -17,9 +17,8 @@ set(fcdpro_HEADERS ) include_directories( - ${HIDAPI_INCLUDE_DIRS} - ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client - ${CMAKE_SOURCE_DIR}/fcdhid + ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client + ${CMAKE_SOURCE_DIR}/fcdhid ${CMAKE_SOURCE_DIR}/fcdlib ) @@ -27,6 +26,7 @@ if(NOT SERVER_MODE) set(fcdpro_SOURCES ${fcdpro_SOURCES} fcdprogui.cpp + fcdprogui.ui ) set(fcdpro_HEADERS @@ -50,14 +50,13 @@ add_library(${TARGET_NAME} SHARED ) target_link_libraries(${TARGET_NAME} - ${HIDAPI_LIBRARIES} - Qt5::Core - ${TARGET_LIB} + Qt5::Core + ${TARGET_LIB} sdrbase ${TARGET_LIB_GUI} - swagger - fcdhid - fcdlib + swagger + fcdhid + fcdlib ) install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER}) diff --git a/plugins/samplesource/fcdproplus/CMakeLists.txt b/plugins/samplesource/fcdproplus/CMakeLists.txt index 90fc9ba0f..d6c075964 100644 --- a/plugins/samplesource/fcdproplus/CMakeLists.txt +++ b/plugins/samplesource/fcdproplus/CMakeLists.txt @@ -17,8 +17,7 @@ set(fcdproplus_HEADERS ) include_directories( - ${HIDAPI_INCLUDE_DIRS} - ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client + ${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client ${CMAKE_SOURCE_DIR}/fcdhid ${CMAKE_SOURCE_DIR}/fcdlib ) @@ -27,6 +26,7 @@ if(NOT SERVER_MODE) set(fcdproplus_SOURCES ${fcdproplus_SOURCES} fcdproplusgui.cpp + fcdproplusgui.ui ) set(fcdproplus_HEADERS @@ -50,14 +50,13 @@ add_library(${TARGET_NAME} SHARED ) target_link_libraries(${TARGET_NAME} - ${HIDAPI_LIBRARIES} - Qt5::Core - ${TARGET_LIB} + Qt5::Core + ${TARGET_LIB} sdrbase ${TARGET_LIB_GUI} - swagger - fcdhid - fcdlib + swagger + fcdhid + fcdlib ) install(TARGETS ${TARGET_NAME} DESTINATION ${INSTALL_FOLDER})