Add FindLibUSB

This commit is contained in:
Christian W. Zuckschwerdt 2018-12-30 13:16:24 +00:00
parent fe024a2c41
commit cab0a4e96a
3 changed files with 79 additions and 28 deletions

View file

@ -69,9 +69,11 @@ endif()
########################################################################
find_package(PkgConfig)
find_package(LibRTLSDR)
if(LIBRTLSDR_FOUND)
include_directories(${LIBRTLSDR_INCLUDE_DIRS})
list(APPEND SDR_LIBRARIES ${LIBRTLSDR_LIBRARIES})
find_package(LibUSB)
if(LIBRTLSDR_FOUND AND LIBUSB_FOUND)
message(STATUS "RTL-SDR device input will be compiled.")
include_directories(${LIBRTLSDR_INCLUDE_DIRS} ${LIBUSB_INCLUDE_DIRS})
list(APPEND SDR_LIBRARIES ${LIBRTLSDR_LIBRARIES} ${LIBUSB_LIBRARIES})
ADD_DEFINITIONS(-DRTLSDR)
else()
message(STATUS "RTL-SDR development files not found, RTL-SDR device input won't be possible.")
@ -79,11 +81,12 @@ endif()
find_package(SoapySDR "0.6" NO_MODULE)
if(SoapySDR_FOUND)
message(STATUS "SoapySDR device input will be compiled.")
include_directories(${SoapySDR_INCLUDE_DIRS})
list(APPEND SDR_LIBRARIES ${SoapySDR_LIBRARIES})
ADD_DEFINITIONS(-DSOAPYSDR)
else()
message(STATUS "Soapy SDR development files not found, Soapy SDR device input won't be possible.")
message(STATUS "SoapySDR development files not found, SoapySDR device input won't be possible.")
endif()
# cmake -DCMAKE_BUILD_TYPE=Profile ..

View file

@ -1,28 +1,33 @@
INCLUDE(FindPkgConfig)
if(NOT LIBRTLSDR_FOUND)
pkg_check_modules (LIBRTLSDR_PKG librtlsdr)
find_path(LIBRTLSDR_INCLUDE_DIRS NAMES rtl-sdr.h
PATHS
${LIBRTLSDR_PKG_INCLUDE_DIRS}
/usr/include
/usr/local/include
)
# - Try to find LibRTLSDR
# Once done this will define
# LIBRTLSDR_FOUND - System has LibRTLSDR
# LIBRTLSDR_INCLUDE_DIRS - The LibRTLSDR include directories
# LIBRTLSDR_LIBRARIES - The libraries needed to use LibRTLSDR
# LIBRTLSDR_DEFINITIONS - Compiler switches required for using LibRTLSDR
find_library(LIBRTLSDR_LIBRARIES NAMES rtlsdr
PATHS
${LIBRTLSDR_PKG_LIBRARY_DIRS}
/usr/lib
/usr/local/lib
)
find_package(PkgConfig)
pkg_check_modules(LIBRTLSDR_PKG QUIET librtlsdr)
set(LIBRTLSDR_DEFINITIONS ${LIBRTLSDR_PKG_CFLAGS_OTHER})
if(LIBRTLSDR_INCLUDE_DIRS AND LIBRTLSDR_LIBRARIES)
set(LIBRTLSDR_FOUND TRUE CACHE INTERNAL "librtlsdr found")
message(STATUS "Found librtlsdr: ${LIBRTLSDR_INCLUDE_DIRS}, ${LIBRTLSDR_LIBRARIES}")
else(LIBRTLSDR_INCLUDE_DIRS AND LIBRTLSDR_LIBRARIES)
set(LIBRTLSDR_FOUND FALSE CACHE INTERNAL "librtlsdr found")
message(STATUS "librtlsdr not found.")
endif(LIBRTLSDR_INCLUDE_DIRS AND LIBRTLSDR_LIBRARIES)
find_path(LIBRTLSDR_INCLUDE_DIR NAMES rtl-sdr.h
HINTS ${LIBRTLSDR_PKG_INCLUDE_DIRS}
PATHS
/usr/include
/usr/local/include )
mark_as_advanced(LIBRTLSDR_LIBRARIES LIBRTLSDR_INCLUDE_DIRS)
find_library(LIBRTLSDR_LIBRARY NAMES rtlsdr
HINTS ${LIBRTLSDR_PKG_LIBRARY_DIRS}
PATHS
/usr/lib
/usr/local/lib )
endif(NOT LIBRTLSDR_FOUND)
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set LIBRTLSDR_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(LibRTLSDR DEFAULT_MSG
LIBRTLSDR_LIBRARY LIBRTLSDR_INCLUDE_DIR)
mark_as_advanced(LIBRTLSDR_LIBRARY LIBRTLSDR_INCLUDE_DIR)
set(LIBRTLSDR_LIBRARIES ${LIBRTLSDR_LIBRARY} )
set(LIBRTLSDR_INCLUDE_DIRS ${LIBRTLSDR_INCLUDE_DIR} )

View file

@ -0,0 +1,43 @@
# - Try to find LibUSB
# Once done this will define
# LIBUSB_FOUND - System has LibUSB
# LIBUSB_INCLUDE_DIRS - The LibUSB include directories
# LIBUSB_LIBRARIES - The libraries needed to use LibUSB
# LIBUSB_DEFINITIONS - Compiler switches required for using LibUSB
find_package(PkgConfig)
pkg_check_modules(LIBUSB_PKG QUIET libusb-1.0)
set(LIBUSB_DEFINITIONS ${LIBUSB_PKG_CFLAGS_OTHER})
find_path(LIBUSB_INCLUDE_DIR NAMES libusb.h
HINTS ${LIBUSB_PKG_INCLUDE_DIRS}
PATHS
/usr/include/libusb-1.0
/usr/include
/usr/local/include )
#standard library name for libusb-1.0
set(libusb1_library_names usb-1.0)
#libusb-1.0 compatible library on freebsd
if((CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") OR (CMAKE_SYSTEM_NAME STREQUAL "kFreeBSD"))
list(APPEND libusb1_library_names usb)
endif()
find_library(LIBUSB_LIBRARY
NAMES ${libusb1_library_names}
HINTS ${LIBUSB_PKG_LIBRARY_DIRS}
PATHS
/usr/lib
/usr/local/lib )
include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set LIBUSB_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(LibUSB DEFAULT_MSG
LIBUSB_LIBRARY LIBUSB_INCLUDE_DIR)
mark_as_advanced(LIBUSB_LIBRARY LIBUSB_INCLUDE_DIR)
set(LIBUSB_LIBRARIES ${LIBUSB_LIBRARY} )
set(LIBUSB_INCLUDE_DIRS ${LIBUSB_INCLUDE_DIR} )