gnss-sdr/src/algorithms/signal_source/libs/CMakeLists.txt

126 lines
3.5 KiB
CMake
Raw Normal View History

# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
2015-05-10 12:57:43 +00:00
# This file is part of GNSS-SDR.
#
# SPDX-FileCopyrightText: 2010-2020 C. Fernandez-Prades cfernandez(at)cttc.es
# SPDX-License-Identifier: BSD-3-Clause
2015-05-10 12:57:43 +00:00
set(OPT_SIGNAL_SOURCE_LIB_SOURCES "")
set(OPT_SIGNAL_SOURCE_LIB_HEADERS "")
2019-10-10 08:40:37 +00:00
if(ENABLE_FMCOMMS2 OR ENABLE_AD9361)
set(OPT_SIGNAL_SOURCE_LIB_SOURCES ad9361_manager.cc)
set(OPT_SIGNAL_SOURCE_LIB_HEADERS ad9361_manager.h)
2018-11-24 17:40:34 +00:00
endif()
if(ENABLE_FPGA OR ENABLE_AD9361)
set(OPT_SIGNAL_SOURCE_LIB_SOURCES ${OPT_SIGNAL_SOURCE_LIB_SOURCES} fpga_switch.cc)
set(OPT_SIGNAL_SOURCE_LIB_HEADERS ${OPT_SIGNAL_SOURCE_LIB_HEADERS} fpga_switch.h)
set(OPT_SIGNAL_SOURCE_LIB_SOURCES ${OPT_SIGNAL_SOURCE_LIB_SOURCES} fpga_dynamic_bit_selection.cc)
set(OPT_SIGNAL_SOURCE_LIB_HEADERS ${OPT_SIGNAL_SOURCE_LIB_HEADERS} fpga_dynamic_bit_selection.h)
set(OPT_SIGNAL_SOURCE_LIB_SOURCES ${OPT_SIGNAL_SOURCE_LIB_SOURCES} fpga_buffer_monitor.cc)
2021-02-14 12:40:52 +00:00
set(OPT_SIGNAL_SOURCE_LIB_HEADERS ${OPT_SIGNAL_SOURCE_LIB_HEADERS} fpga_buffer_monitor.h)
set(OPT_SIGNAL_SOURCE_LIB_SOURCES ${OPT_SIGNAL_SOURCE_LIB_SOURCES} fpga_dma.cc)
2022-04-29 10:45:35 +00:00
set(OPT_SIGNAL_SOURCE_LIB_HEADERS ${OPT_SIGNAL_SOURCE_LIB_HEADERS} fpga_dma.h)
2018-11-24 17:40:34 +00:00
endif()
2018-05-01 06:33:41 +00:00
set(SIGNAL_SOURCE_LIB_SOURCES
rtl_tcp_commands.cc
rtl_tcp_dongle_info.cc
2019-02-10 00:13:02 +00:00
gnss_sdr_valve.cc
gnss_sdr_timestamp.cc
${OPT_SIGNAL_SOURCE_LIB_SOURCES}
)
2018-11-18 20:24:54 +00:00
2018-05-01 06:33:41 +00:00
set(SIGNAL_SOURCE_LIB_HEADERS
rtl_tcp_commands.h
rtl_tcp_dongle_info.h
2019-02-10 00:13:02 +00:00
gnss_sdr_valve.h
${OPT_SIGNAL_SOURCE_LIB_HEADERS}
)
list(SORT SIGNAL_SOURCE_LIB_HEADERS)
list(SORT SIGNAL_SOURCE_LIB_SOURCES)
if(USE_CMAKE_TARGET_SOURCES)
add_library(signal_source_libs STATIC)
target_sources(signal_source_libs
PRIVATE
${SIGNAL_SOURCE_LIB_SOURCES}
PUBLIC
${SIGNAL_SOURCE_LIB_HEADERS}
)
else()
source_group(Headers FILES ${SIGNAL_SOURCE_LIB_HEADERS})
add_library(signal_source_libs
${SIGNAL_SOURCE_LIB_SOURCES}
${SIGNAL_SOURCE_LIB_HEADERS}
)
endif()
2019-02-04 21:44:45 +00:00
target_link_libraries(signal_source_libs
2019-02-03 18:24:44 +00:00
PUBLIC
Boost::headers
2019-02-10 00:13:02 +00:00
Gnuradio::runtime
2019-02-03 18:24:44 +00:00
PRIVATE
2019-02-04 21:44:45 +00:00
Gflags::gflags
2019-02-03 18:24:44 +00:00
Glog::glog
core_libs
)
target_include_directories(signal_source_libs
PUBLIC
${GNSSSDR_SOURCE_DIR}/src/core/receiver
${GNSSSDR_SOURCE_DIR}/src/core/interfaces
${GNSSSDR_SOURCE_DIR}/src/algorithms/libs
2019-02-03 18:24:44 +00:00
)
if(GNURADIO_USES_STD_POINTERS)
target_compile_definitions(signal_source_libs
PUBLIC -DGNURADIO_USES_STD_POINTERS=1
)
endif()
if(GNURADIO_USES_SPDLOG)
target_link_libraries(signal_source_libs
PUBLIC
fmt::fmt
spdlog::spdlog
)
endif()
if(ENABLE_FMCOMMS2 OR ENABLE_AD9361)
target_link_libraries(signal_source_libs
PUBLIC
Iio::iio
2019-10-10 08:40:37 +00:00
PRIVATE
Iio::ad9361
2019-10-09 20:55:20 +00:00
)
2019-10-09 20:08:08 +00:00
if(LIBAD9361_VERSION)
if(LIBAD9361_VERSION VERSION_GREATER 0.1)
target_compile_definitions(signal_source_libs
2019-10-09 20:24:29 +00:00
PRIVATE -DLIBAD9361_VERSION_GREATER_THAN_01=1
2019-10-09 20:08:08 +00:00
)
endif()
endif()
endif()
2019-02-03 18:24:44 +00:00
if(ENABLE_FPGA OR ENABLE_AD9361)
target_link_libraries(signal_source_libs
PUBLIC
algorithms_libs
)
endif()
if(ENABLE_CLANG_TIDY)
if(CLANG_TIDY_EXE)
set_target_properties(signal_source_libs
PROPERTIES
CXX_CLANG_TIDY "${DO_CLANG_TIDY}"
)
endif()
endif()
set_property(TARGET signal_source_libs APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES
2019-02-03 18:24:44 +00:00
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
)