aboutsummaryrefslogtreecommitdiffstats
path: root/cmake/Modules/FindLibHackRF.cmake
blob: 260d6ba41b77e107e7f97db866de0c968bd28628 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
INCLUDE(FindPkgConfig)
PKG_CHECK_MODULES(PC_LIBHACKRF libhackrf)

FIND_PATH(
    LIBHACKRF_INCLUDE_DIRS
    NAMES libhackrf/hackrf.h
    HINTS $ENV{LIBHACKRF_DIR}/include
        ${PC_LIBHACKRF_INCLUDEDIR}
    PATHS /usr/local/include
          /usr/include
)

FIND_LIBRARY(
    LIBHACKRF_LIBRARIES
    NAMES hackrf
    HINTS $ENV{LIBHACKRF_DIR}/lib
        ${PC_LIBHACKRF_LIBDIR}
    PATHS /usr/local/lib
          /usr/lib
)

INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBHACKRF DEFAULT_MSG LIBHACKRF_LIBRARIES LIBHACKRF_INCLUDE_DIRS)
MARK_AS_ADVANCED(LIBHACKRF_LIBRARIES LIBHACKRF_INCLUDE_DIRS)

INCLUDE(CheckFunctionExists)
set(CMAKE_REQUIRED_LIBRARIES ${LIBHACKRF_LIBRARIES})
CHECK_FUNCTION_EXISTS(hackrf_device_list LIBHACKRF_HAVE_DEVICE_LIST)

if(LIBHACKRF_HAVE_DEVICE_LIST)
    message(STATUS "HackRF multiple device support enabled")
endif(LIBHACKRF_HAVE_DEVICE_LIST)