2013-12-31 20:07:11 +01:00
|
|
|
# CMake definitions for SoftFM
|
|
|
|
|
|
|
|
cmake_minimum_required(VERSION 2.4)
|
|
|
|
project(SoftFM)
|
|
|
|
|
2015-06-02 20:45:37 +02:00
|
|
|
find_package(Threads)
|
2013-12-31 20:07:11 +01:00
|
|
|
find_package(PkgConfig)
|
|
|
|
find_package(ALSA REQUIRED)
|
|
|
|
|
|
|
|
# Find RTL-SDR library (for linking).
|
|
|
|
pkg_check_modules(PKG_RTLSDR librtlsdr)
|
|
|
|
find_path(RTLSDR_INCLUDE_DIR rtl-sdr.h
|
|
|
|
HINT ${PKG_RTLSDR_INCLUDE_DIRS})
|
|
|
|
find_library(RTLSDR_LIBRARY librtlsdr.a
|
|
|
|
HINT ${PKG_RTLSDR_LIBRARY_DIRS})
|
|
|
|
|
|
|
|
# Find libusb
|
|
|
|
pkg_check_modules(PKG_LIBUSB libusb-1.0)
|
|
|
|
find_path(LIBUSB_INCLUDE_DIR libusb.h
|
|
|
|
HINT ${PKG_LIBUSB_INCLUDE_DIRS}
|
|
|
|
PATH_SUFFIXES libusb-1.0)
|
|
|
|
find_library(LIBUSB_LIBRARY usb-1.0
|
|
|
|
HINT ${PKG_LIBUSB_LIBRARY_DIRS})
|
|
|
|
|
|
|
|
if(RTLSDR_INCLUDE_DIR AND RTLSDR_LIBRARY)
|
|
|
|
message(STATUS "Found librtlsdr: ${RTLSDR_INCLUDE_DIR}, ${RTLSDR_LIBRARY}")
|
|
|
|
else()
|
|
|
|
message(WARNING "Can not find Osmocom RTL-SDR library")
|
|
|
|
message("Try again with environment variable PKG_CONFIG_PATH")
|
|
|
|
message("or with -DRTLSDR_INCLUDE_DIR=/path/rtlsdr/include")
|
|
|
|
message(" -DRTLSDR_LIBRARY=/path/rtlsdr/lib/librtlsdr.a")
|
|
|
|
endif()
|
|
|
|
|
|
|
|
set(RTLSDR_INCLUDE_DIRS ${RTLSDR_INCLUDE_DIR} ${LIBUSB_INCLUDE_DIR})
|
|
|
|
set(RTLSDR_LIBRARIES ${RTLSDR_LIBRARY} ${LIBUSB_LIBRARY})
|
|
|
|
|
|
|
|
# Compiler flags.
|
|
|
|
set(CMAKE_CXX_FLAGS "-Wall -std=c++11 -O2 -ffast-math -ftree-vectorize ${EXTRA_FLAGS}")
|
|
|
|
|
|
|
|
add_executable(softfm
|
|
|
|
main.cc
|
|
|
|
RtlSdrSource.cc
|
|
|
|
Filter.cc
|
|
|
|
FmDecode.cc
|
|
|
|
AudioOutput.cc )
|
|
|
|
|
|
|
|
include_directories(
|
|
|
|
${RTLSDR_INCLUDE_DIRS}
|
|
|
|
${ALSA_INCLUDE_DIRS}
|
|
|
|
${EXTRA_INCLUDES} )
|
|
|
|
|
|
|
|
target_link_libraries(softfm
|
2015-06-02 20:45:37 +02:00
|
|
|
${CMAKE_THREAD_LIBS_INIT}
|
2013-12-31 20:07:11 +01:00
|
|
|
${RTLSDR_LIBRARIES}
|
|
|
|
${ALSA_LIBRARIES}
|
|
|
|
${EXTRA_LIBS} )
|
|
|
|
|
|
|
|
install(TARGETS softfm DESTINATION bin)
|
|
|
|
|