mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-09 01:56:05 -05:00
336 lines
7.6 KiB
CMake
336 lines
7.6 KiB
CMake
project (sdrbase)
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
|
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=undefined")
|
|
|
|
set(sdrbase_SOURCES
|
|
audio/audiocompressor.cpp
|
|
audio/audiodevicemanager.cpp
|
|
audio/audiofifo.cpp
|
|
audio/audiofilter.cpp
|
|
audio/audiog722.cpp
|
|
audio/audioopus.cpp
|
|
audio/audiooutput.cpp
|
|
audio/audioinput.cpp
|
|
audio/audionetsink.cpp
|
|
audio/audioresampler.cpp
|
|
|
|
channel/channelsinkapi.cpp
|
|
channel/channelsourceapi.cpp
|
|
channel/remotedataqueue.cpp
|
|
channel/remotedatareadqueue.cpp
|
|
|
|
commands/command.cpp
|
|
|
|
dsp/afsquelch.cpp
|
|
dsp/agc.cpp
|
|
dsp/downchannelizer.cpp
|
|
dsp/upchannelizer.cpp
|
|
dsp/channelmarker.cpp
|
|
dsp/ctcssdetector.cpp
|
|
dsp/cwkeyer.cpp
|
|
dsp/cwkeyersettings.cpp
|
|
dsp/decimatorsif.cpp
|
|
dsp/decimatorsff.cpp
|
|
dsp/decimatorsfi.cpp
|
|
dsp/dspcommands.cpp
|
|
dsp/dspengine.cpp
|
|
dsp/dspdevicesourceengine.cpp
|
|
dsp/dspdevicesinkengine.cpp
|
|
dsp/fftcorr.cpp
|
|
dsp/fftengine.cpp
|
|
dsp/fftfilt.cpp
|
|
dsp/fftwindow.cpp
|
|
dsp/filterrc.cpp
|
|
dsp/filtermbe.cpp
|
|
dsp/filerecord.cpp
|
|
dsp/freqlockcomplex.cpp
|
|
dsp/interpolator.cpp
|
|
dsp/hbfiltertraits.cpp
|
|
dsp/lowpass.cpp
|
|
dsp/nco.cpp
|
|
dsp/ncof.cpp
|
|
dsp/phaselock.cpp
|
|
dsp/phaselockcomplex.cpp
|
|
dsp/projector.cpp
|
|
dsp/samplesinkfifo.cpp
|
|
dsp/samplesourcefifo.cpp
|
|
dsp/samplesinkfifodoublebuffered.cpp
|
|
dsp/basebandsamplesink.cpp
|
|
dsp/basebandsamplesource.cpp
|
|
dsp/nullsink.cpp
|
|
dsp/recursivefilters.cpp
|
|
dsp/threadedbasebandsamplesink.cpp
|
|
dsp/threadedbasebandsamplesource.cpp
|
|
dsp/wfir.cpp
|
|
dsp/devicesamplesource.cpp
|
|
dsp/devicesamplesink.cpp
|
|
|
|
device/devicesourceapi.cpp
|
|
device/devicesinkapi.cpp
|
|
device/deviceenumerator.cpp
|
|
|
|
settings/preferences.cpp
|
|
settings/preset.cpp
|
|
settings/mainsettings.cpp
|
|
|
|
util/CRC64.cpp
|
|
util/db.cpp
|
|
util/fixedtraits.cpp
|
|
util/message.cpp
|
|
util/messagequeue.cpp
|
|
util/prettyprint.cpp
|
|
util/rtpsink.cpp
|
|
util/syncmessenger.cpp
|
|
util/samplesourceserializer.cpp
|
|
util/simpleserializer.cpp
|
|
#util/spinlock.cpp
|
|
util/uid.cpp
|
|
util/timeutil.cpp
|
|
|
|
plugin/plugininterface.cpp
|
|
plugin/pluginapi.cpp
|
|
plugin/pluginmanager.cpp
|
|
|
|
webapi/webapiadapterinterface.cpp
|
|
webapi/webapirequestmapper.cpp
|
|
webapi/webapiserver.cpp
|
|
|
|
mainparser.cpp
|
|
)
|
|
|
|
set(sdrbase_HEADERS
|
|
audio/audiocompressor.h
|
|
audio/audiodevicemanager.h
|
|
audio/audiofifo.h
|
|
audio/audiofilter.h
|
|
audio/audiog722.h
|
|
audio/audiooutput.h
|
|
audio/audioopus.h
|
|
audio/audioinput.h
|
|
audio/audionetsink.h
|
|
audio/audioresampler.h
|
|
|
|
channel/channelsinkapi.h
|
|
channel/channelsourceapi.h
|
|
channel/remotedataqueue.h
|
|
channel/remotedatareadqueue.h
|
|
channel/remotedatablock.h
|
|
|
|
commands/command.h
|
|
|
|
dsp/afsquelch.h
|
|
dsp/autocorrector.h
|
|
dsp/downchannelizer.h
|
|
dsp/upchannelizer.h
|
|
dsp/channelmarker.h
|
|
dsp/complex.h
|
|
dsp/cwkeyer.h
|
|
dsp/cwkeyersettings.h
|
|
dsp/decimators.h
|
|
dsp/decimatorsif.h
|
|
dsp/decimatorsff.h
|
|
dsp/decimatorsfi.h
|
|
dsp/decimatorsu.h
|
|
dsp/interpolators.h
|
|
dsp/dspcommands.h
|
|
dsp/dspengine.h
|
|
dsp/dspdevicesourceengine.h
|
|
dsp/dspdevicesinkengine.h
|
|
dsp/dsptypes.h
|
|
dsp/fftcorr.h
|
|
dsp/fftengine.h
|
|
dsp/fftfilt.h
|
|
dsp/fftwengine.h
|
|
dsp/fftwindow.h
|
|
dsp/filterrc.h
|
|
dsp/filtermbe.h
|
|
dsp/filerecord.h
|
|
dsp/freqlockcomplex.h
|
|
dsp/gfft.h
|
|
dsp/iirfilter.h
|
|
dsp/interpolator.h
|
|
dsp/hbfiltertraits.h
|
|
dsp/inthalfbandfilter.h
|
|
dsp/inthalfbandfilterdb.h
|
|
dsp/inthalfbandfilterdbf.h
|
|
dsp/inthalfbandfiltereo.h
|
|
# dsp/inthalfbandfiltereo1.h
|
|
# dsp/inthalfbandfiltereo1i.h
|
|
# dsp/inthalfbandfiltereo2.h
|
|
dsp/inthalfbandfiltereof.h
|
|
dsp/inthalfbandfilterst.h
|
|
dsp/inthalfbandfiltersti.h
|
|
dsp/kissfft.h
|
|
dsp/kissengine.h
|
|
dsp/lowpass.h
|
|
dsp/misc.h
|
|
dsp/movingaverage.h
|
|
dsp/nco.h
|
|
dsp/ncof.h
|
|
dsp/phasediscri.h
|
|
dsp/phaselock.h
|
|
dsp/phaselockcomplex.h
|
|
dsp/projector.h
|
|
dsp/recursivefilters.h
|
|
dsp/samplesinkfifo.h
|
|
dsp/samplesourcefifo.h
|
|
dsp/samplesinkfifodoublebuffered.h
|
|
dsp/samplesinkfifodecimator.h
|
|
dsp/basebandsamplesink.h
|
|
dsp/basebandsamplesource.h
|
|
dsp/nullsink.h
|
|
dsp/threadedbasebandsamplesink.h
|
|
dsp/threadedbasebandsamplesource.h
|
|
dsp/wfir.h
|
|
dsp/devicesamplesource.h
|
|
dsp/devicesamplesink.h
|
|
|
|
device/devicesourceapi.h
|
|
device/devicesinkapi.h
|
|
device/deviceenumerator.h
|
|
|
|
plugin/plugininstancegui.h
|
|
plugin/plugininterface.h
|
|
plugin/pluginapi.h
|
|
plugin/pluginmanager.h
|
|
|
|
settings/preferences.h
|
|
settings/preset.h
|
|
settings/mainsettings.h
|
|
|
|
util/CRC64.h
|
|
util/db.h
|
|
util/doublebuffer.h
|
|
util/doublebufferfifo.h
|
|
util/fixedtraits.h
|
|
util/message.h
|
|
util/messagequeue.h
|
|
util/movingaverage.h
|
|
util/prettyprint.h
|
|
util/rtpsink.h
|
|
util/syncmessenger.h
|
|
util/samplesourceserializer.h
|
|
util/simpleserializer.h
|
|
#util/spinlock.h
|
|
util/uid.h
|
|
util/timeutil.h
|
|
|
|
webapi/webapiadapterinterface.h
|
|
webapi/webapirequestmapper.h
|
|
webapi/webapiserver
|
|
|
|
mainparser.h
|
|
)
|
|
|
|
set(sdrbase_SOURCES
|
|
${sdrbase_SOURCES}
|
|
${sdrbase_HEADERS}
|
|
)
|
|
|
|
find_package(Opus REQUIRED)
|
|
|
|
if(FFTW3F_FOUND)
|
|
set(sdrbase_SOURCES
|
|
${sdrbase_SOURCES}
|
|
dsp/fftwengine.cpp
|
|
)
|
|
set(sdrbase_HEADERS
|
|
${sdrbase_HEADERS}
|
|
dsp/fftwengine.h
|
|
)
|
|
add_definitions(-DUSE_FFTW)
|
|
include_directories(${FFTW3F_INCLUDE_DIRS})
|
|
else(FFTW3F_FOUND)
|
|
set(sdrbase_SOURCES
|
|
${sdrbase_SOURCES}
|
|
dsp/kissengine.cpp
|
|
dsp/kissfft.h
|
|
)
|
|
set(sdrbase_HEADERS
|
|
${sdrbase_HEADERS}
|
|
dsp/kissengine.h
|
|
)
|
|
add_definitions(-DUSE_KISSFFT)
|
|
endif(FFTW3F_FOUND)
|
|
|
|
if (LIBSERIALDV_FOUND)
|
|
set(sdrbase_SOURCES
|
|
${sdrbase_SOURCES}
|
|
dsp/dvserialworker.cpp
|
|
dsp/dvserialengine.cpp
|
|
)
|
|
set(sdrbase_HEADERS
|
|
${sdrbase_HEADERS}
|
|
dsp/dvserialworker.h
|
|
dsp/dvserialengine.h
|
|
)
|
|
message(STATUS "Will have SerialDV support")
|
|
add_definitions(-DDSD_USE_SERIALDV)
|
|
include_directories(${LIBSERIALDV_INCLUDE_DIR})
|
|
else(LIBSERIALDV_FOUND)
|
|
message(STATUS "No SerialDV support")
|
|
endif(LIBSERIALDV_FOUND)
|
|
|
|
if (BUILD_DEBIAN)
|
|
set(sdrbase_SOURCES
|
|
${sdrbase_SOURCES}
|
|
dsp/dvserialworker.cpp
|
|
dsp/dvserialengine.cpp
|
|
)
|
|
set(sdrbase_HEADERS
|
|
${sdrbase_HEADERS}
|
|
dsp/dvserialworker.h
|
|
dsp/dvserialengine.h
|
|
)
|
|
add_definitions(-DDSD_USE_SERIALDV)
|
|
include_directories(${LIBSERIALDVSRC})
|
|
endif (BUILD_DEBIAN)
|
|
|
|
add_definitions(${QT_DEFINITIONS})
|
|
add_definitions(-DQT_SHARED)
|
|
|
|
add_library(sdrbase SHARED
|
|
${sdrbase_SOURCES}
|
|
${sdrbase_HEADERS_MOC}
|
|
)
|
|
|
|
include_directories(
|
|
${CMAKE_CURRENT_BINARY_DIR}
|
|
.
|
|
${CMAKE_SOURCE_DIR}/exports
|
|
${CMAKE_SOURCE_DIR}/httpserver
|
|
${CMAKE_SOURCE_DIR}/qrtplib
|
|
${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client
|
|
${Boost_INCLUDE_DIRS}
|
|
${OPUS_INCLUDE_DIRS}
|
|
)
|
|
|
|
target_link_libraries(sdrbase
|
|
${QT_LIBRARIES}
|
|
httpserver
|
|
qrtplib
|
|
swagger
|
|
${OPUS_LIBRARIES}
|
|
)
|
|
|
|
if(FFTW3F_FOUND)
|
|
target_link_libraries(sdrbase ${FFTW3F_LIBRARIES})
|
|
endif(FFTW3F_FOUND)
|
|
|
|
if(LIBSERIALDV_FOUND)
|
|
target_link_libraries(sdrbase ${LIBSERIALDV_LIBRARY})
|
|
endif(LIBSERIALDV_FOUND)
|
|
|
|
if (BUILD_DEBIAN)
|
|
target_link_libraries(sdrbase serialdv)
|
|
endif (BUILD_DEBIAN)
|
|
|
|
set_target_properties(sdrbase PROPERTIES DEFINE_SYMBOL "sdrbase_EXPORTS")
|
|
target_compile_features(sdrbase PRIVATE cxx_generalized_initializers) # cmake >= 3.1.0
|
|
|
|
target_link_libraries(sdrbase Qt5::Core Qt5::Multimedia)
|
|
|
|
install(TARGETS sdrbase DESTINATION lib)
|
|
|