122 lines
3.4 KiB
CMake
122 lines
3.4 KiB
CMake
cmake_minimum_required (VERSION 2.6)
|
|
|
|
project (piScan_backend)
|
|
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall")
|
|
set(CMAKE_BUILD_TYPE Debug)
|
|
|
|
add_executable(piScan_backend piScan_backend.cpp)
|
|
|
|
MACRO(use_included_rtaudio)
|
|
SET (cubicsdr_sources
|
|
${cubicsdr_sources}
|
|
external/rtaudio/RtAudio.cpp
|
|
)
|
|
SET (cubicsdr_headers
|
|
${cubicsdr_headers}
|
|
external/rtaudio/RtAudio.h
|
|
)
|
|
SOURCE_GROUP("_ext-RTAudio" REGULAR_EXPRESSION "external/rtaudio/.*${REG_EXT}")
|
|
include_directories(${PROJECT_SOURCE_DIR}/external/rtaudio)
|
|
ENDMACRO(use_included_rtaudio)
|
|
|
|
IF (UNIX AND NOT APPLE)
|
|
set(BUILD_DEB OFF CACHE BOOL "Build DEB")
|
|
|
|
SET(USE_SYSTEM_RTAUDIO OFF CACHE BOOL "Use the system RtAudio which in turn provides OSS, ALSA, JACK, PulseAudio support depending on how it was compiled")
|
|
|
|
SET(LIQUID_LIB liquid)
|
|
SET(OTHER_LIBRARIES ${OTHER_LIBRARIES} dl stdc++fs)
|
|
|
|
IF(USE_SYSTEM_RTAUDIO)
|
|
find_package(RtAudio)
|
|
SET(OTHER_LIBRARIES ${OTHER_LIBRARIES} ${RTAUDIO_LIBRARIES})
|
|
ADD_DEFINITIONS(${RTAUDIO_DEFINITIONS})
|
|
include_directories(${RTAUDIO_INCLUDE_DIR})
|
|
ELSE(USE_SYSTEM_RTAUDIO)
|
|
use_included_rtaudio()
|
|
|
|
SET(USE_AUDIO_PULSE ON CACHE BOOL "Use Pulse Audio")
|
|
SET(USE_AUDIO_JACK OFF CACHE BOOL "Use Jack Audio")
|
|
SET(USE_AUDIO_ALSA OFF CACHE BOOL "Use ALSA Audio")
|
|
SET(USE_AUDIO_OSS OFF CACHE BOOL "Use OSS Audio")
|
|
|
|
IF(USE_AUDIO_PULSE)
|
|
SET (OTHER_LIBRARIES ${OTHER_LIBRARIES} pulse-simple pulse)
|
|
ADD_DEFINITIONS(
|
|
-D__LINUX_PULSE__
|
|
)
|
|
ENDIF(USE_AUDIO_PULSE)
|
|
|
|
IF(USE_AUDIO_JACK)
|
|
find_package(Jack)
|
|
SET (OTHER_LIBRARIES ${OTHER_LIBRARIES} ${JACK_LIBRARIES})
|
|
ADD_DEFINITIONS(
|
|
-D__UNIX_JACK__
|
|
)
|
|
include_directories(${JACK_INCLUDE_DIRS})
|
|
ENDIF(USE_AUDIO_JACK)
|
|
|
|
IF(USE_AUDIO_ALSA)
|
|
SET (OTHER_LIBRARIES ${OTHER_LIBRARIES} asound)
|
|
set(ALSA_INCLUDE_DIR "/usr/include" CACHE FILEPATH "ALSA include path")
|
|
include_directories(${ALSA_INCLUDE_DIR})
|
|
set(ALSA_LIB_DIR "/usr/lib" CACHE FILEPATH "ALSA lib path")
|
|
link_directories(${ALSA_LIB_DIR})
|
|
ADD_DEFINITIONS(
|
|
-D__LINUX_ALSA__
|
|
)
|
|
ENDIF(USE_AUDIO_ALSA)
|
|
|
|
IF(USE_AUDIO_OSS)
|
|
SET (OTHER_LIBRARIES ${OTHER_LIBRARIES} oss)
|
|
ADD_DEFINITIONS(
|
|
-D__LINUX_OSS__
|
|
)
|
|
ENDIF(USE_AUDIO_OSS)
|
|
ENDIF(USE_SYSTEM_RTAUDIO)
|
|
ELSE(UNIX AND NOT APPLE)
|
|
use_included_rtaudio()
|
|
ENDIF(UNIX AND NOT APPLE)
|
|
|
|
|
|
include_directories(
|
|
core
|
|
cubic
|
|
external
|
|
scan
|
|
server
|
|
sigproc
|
|
external/PiScan-protobuf
|
|
external/loguru
|
|
external/tinyxml
|
|
cubic/sdr
|
|
cubic/demod
|
|
cubic/modules
|
|
cubic/modules/modem
|
|
cubic/modules/modem/analog
|
|
cubic/audio
|
|
cubic/util
|
|
)
|
|
|
|
add_subdirectory(core)
|
|
add_subdirectory(cubic)
|
|
add_subdirectory(external)
|
|
add_subdirectory(scan)
|
|
add_subdirectory(server)
|
|
add_subdirectory(sigproc)
|
|
add_subdirectory(tests)
|
|
|
|
find_package(SoapySDR "0.4.0" NO_MODULE REQUIRED)
|
|
include_directories(${SOAPY_SDR_INCLUDE_DIR})
|
|
SET(OTHER_LIBRARIES ${SOAPY_SDR_LIBRARY} ${OTHER_LIBRARIES})
|
|
ADD_DEFINITIONS(
|
|
-DUSE_SOAPY_SDR=1
|
|
)
|
|
|
|
target_link_libraries(piScan_backend core cubic external scan server sigproc
|
|
pthread rtlsdr boost_system protobuf liquid ${OTHER_LIBRARIES})
|
|
|
|
|