diff --git a/host/hackrf-tools/CMakeLists.txt b/host/hackrf-tools/CMakeLists.txt index c970f1c4..130d2369 100644 --- a/host/hackrf-tools/CMakeLists.txt +++ b/host/hackrf-tools/CMakeLists.txt @@ -1,4 +1,5 @@ # Copyright 2012 Jared Boone +# Copyright 2013 Benjamin Vernoux # # This file is part of HackRF. # @@ -37,7 +38,8 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++98") find_package(USB1 REQUIRED) include_directories(${LIBUSB_INCLUDE_DIR}) -include_directories(${CMAKE_SOURCE_DIR}/../libhackrf/src) -link_directories(${CMAKE_SOURCE_DIR}/../libhackrf/src) +find_package(LIBHACKRF REQUIRED) +include_directories(${LIBHACKRF_INCLUDE_DIR}) +link_directories(${LIBHACKRF_LIBRARIES} ${CMAKE_SOURCE_DIR}/../libhackrf/src) add_subdirectory(src) diff --git a/host/hackrf-tools/FindLIBHACKRF.cmake b/host/hackrf-tools/FindLIBHACKRF.cmake new file mode 100644 index 00000000..af5cfebe --- /dev/null +++ b/host/hackrf-tools/FindLIBHACKRF.cmake @@ -0,0 +1,36 @@ +# - Try to find the libhackrf library +# Once done this defines +# +# LIBHACKRF_FOUND - system has libhackrf +# LIBHACKRF_INCLUDE_DIR - the libhackrf include directory +# LIBHACKRF_LIBRARIES - Link these to use libhackrf + +# Copyright (c) 2013 Benjamin Vernoux +# + + +if (LIBHACKRF_INCLUDE_DIR AND LIBHACKRF_LIBRARIES) + + # in cache already + set(LIBHACKRF_FOUND TRUE) + +else (LIBHACKRF_INCLUDE_DIR AND LIBHACKRF_LIBRARIES) + IF (NOT WIN32) + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + find_package(PkgConfig) + pkg_check_modules(PC_LIBHACKRF libhackrf) + ENDIF(NOT WIN32) + + FIND_PATH(LIBHACKRF_INCLUDE_DIR hackrf.h + PATHS ${PC_LIBHACKRF_INCLUDEDIR} ${PC_LIBHACKRF_INCLUDE_DIRS} ${CMAKE_SOURCE_DIR}/../libhackrf/src) + + FIND_LIBRARY(LIBHACKRF_LIBRARIES NAMES libhackrf + PATHS ${PC_LIBHACKRF_LIBDIR} ${PC_LIBHACKRF_LIBRARY_DIRS} ${CMAKE_SOURCE_DIR}/../libhackrf/src) + + include(FindPackageHandleStandardArgs) + FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBHACKRF DEFAULT_MSG LIBHACKRF_LIBRARIES LIBHACKRF_INCLUDE_DIR) + + MARK_AS_ADVANCED(LIBHACKRF_INCLUDE_DIR LIBHACKRF_LIBRARIES) + +endif (LIBHACKRF_INCLUDE_DIR AND LIBHACKRF_LIBRARIES) \ No newline at end of file