mirror of
https://github.com/greatscottgadgets/hackrf.git
synced 2026-03-04 22:46:00 +01:00
Refactor HackRF build system with a more modern CMake style. Install files to allow library users using CMake to find_project(HackRF CONFIG) and obtain HackRF::hackrf and/or HackRF::hackrf_static library targets. Add options ENABLE_STATIC_LIB and ENABLE_SHARED_LIB to allow shared or static library to be disabled. (Default builds both shared and static libraries.) Add option ENABLE_HACKRF_SWEEP, when disabled allows building without FFT library. (Default enabled.) Add option DISABLE_USB_DEVICE_DISCOVERY for a compile definition which could be used to alter libusb usage as needed on Android.
50 lines
1.6 KiB
CMake
50 lines
1.6 KiB
CMake
# http://tim.klingt.org/code/projects/supernova/repository/revisions/d336dd6f400e381bcfd720e96139656de0c53b6a/entry/cmake_modules/FindFFTW3f.cmake
|
|
# Modified to use pkg config and use standard var names
|
|
|
|
# Find single-precision (float) version of FFTW3
|
|
|
|
find_package(PkgConfig)
|
|
pkg_check_modules(PC_FFTW3f "fftw3f >= 3.0")
|
|
|
|
find_path(
|
|
FFTW3f_INCLUDE_DIRS
|
|
NAMES fftw3.h
|
|
HINTS $ENV{FFTW3_DIR}/include ${PC_FFTW3f_INCLUDE_DIRS}
|
|
PATHS /usr/local/include /usr/include)
|
|
|
|
find_library(
|
|
FFTW3f_LIBRARIES
|
|
NAMES fftw3f libfftw3f
|
|
HINTS $ENV{FFTW3_DIR}/lib ${PC_FFTW3f_LIBDIR}
|
|
PATHS /usr/local/lib /usr/lib /usr/lib64)
|
|
|
|
find_library(
|
|
FFTW3f_THREADS_LIBRARIES
|
|
NAMES fftw3f_threads libfftw3f_threads
|
|
HINTS $ENV{FFTW3_DIR}/lib ${PC_FFTW3f_LIBDIR}
|
|
PATHS /usr/local/lib /usr/lib /usr/lib64)
|
|
|
|
include(FindPackageHandleStandardArgs)
|
|
find_package_handle_standard_args(FFTW3f DEFAULT_MSG FFTW3f_LIBRARIES
|
|
FFTW3f_INCLUDE_DIRS)
|
|
mark_as_advanced(FFTW3f_LIBRARIES FFTW3f_INCLUDE_DIRS FFTW3f_THREADS_LIBRARIES)
|
|
|
|
if(FFTW3f_FOUND AND NOT TARGET fftw3f::fftw3f)
|
|
add_library(fftw3f::fftw3f INTERFACE IMPORTED)
|
|
if(NOT WIN32)
|
|
list(APPEND FFTW3f_LIBRARIES m)
|
|
endif()
|
|
set_target_properties(
|
|
fftw3f::fftw3f
|
|
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${FFTW3f_INCLUDE_DIRS}"
|
|
INTERFACE_LINK_LIBRARIES "${FFTW3f_LIBRARIES}")
|
|
if(FFTW3f_THREADS_LIBRARIES)
|
|
set_property(
|
|
TARGET fftw3f::fftw3f
|
|
APPEND
|
|
PROPERTY INTERFACE_LINK_LIBRARIES "${FFTW3f_THREADS_LIBRARIES}")
|
|
set_target_properties(
|
|
fftw3f::fftw3f PROPERTIES INTERFACE_COMPILE_DEFINITIONS "FFTW3F_THREADS")
|
|
endif()
|
|
endif()
|