From cc38d6bc080004fb40b0492b70c442b6b6bd4412 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Tue, 23 Nov 2021 13:30:48 +0100 Subject: [PATCH 1/4] Fixes for building against GNU Radio master Log4cpp has been replaced by spdlog --- CMakeLists.txt | 13 ++++++------- cmake/Modules/FindGNURADIO.cmake | 17 +++++++++++++++++ .../input_filter/gnuradio_blocks/CMakeLists.txt | 8 +++++++- .../gnuradio_blocks/labsat23_source.cc | 2 +- src/utils/rinex-tools/obsdiff.cc | 1 + 5 files changed, 32 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4014e7d73..99d5c7274 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -609,13 +609,12 @@ endif() ################################################################################ # Log4cpp - http://log4cpp.sourceforge.net/ ################################################################################ -find_package(LOG4CPP) -set_package_properties(LOG4CPP PROPERTIES - PURPOSE "Required by GNU Radio." - TYPE REQUIRED -) -if(NOT LOG4CPP_FOUND) - message(FATAL_ERROR "*** Log4cpp is required to build gnss-sdr") +if(GNURADIO_USES_LOG4CPP) + find_package(LOG4CPP) + set_package_properties(LOG4CPP PROPERTIES + PURPOSE "Required by GNU Radio." + TYPE OPTIONAL + ) endif() diff --git a/cmake/Modules/FindGNURADIO.cmake b/cmake/Modules/FindGNURADIO.cmake index 4ea557a19..39b0d2997 100644 --- a/cmake/Modules/FindGNURADIO.cmake +++ b/cmake/Modules/FindGNURADIO.cmake @@ -392,6 +392,23 @@ if(GNURADIO_PMT_INCLUDE_DIRS) endif() endif() +# Check if GNU Radio uses log4cpp or spdlog +if(GNURADIO_RUNTIME_INCLUDE_DIRS) + if(EXISTS "${GNURADIO_RUNTIME_INCLUDE_DIRS}/gnuradio/logger.h") + file(STRINGS ${GNURADIO_RUNTIME_INCLUDE_DIRS}/gnuradio/logger.h _logger_content) + set(_uses_log4cpp FALSE) + foreach(_loop_var IN LISTS _logger_content) + string(STRIP "${_loop_var}" _file_line) + if("#include " STREQUAL "${_file_line}") + set(_uses_log4cpp TRUE) + endif() + endforeach() + if(${_uses_log4cpp}) + set(GNURADIO_USES_LOG4CPP TRUE) + endif() + endif() +endif() + set_package_properties(GNURADIO PROPERTIES URL "https://www.gnuradio.org/" ) diff --git a/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt b/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt index f6b8ee7ca..72942522c 100644 --- a/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt @@ -46,9 +46,15 @@ target_link_libraries(input_filter_gr_blocks algorithms_libs PRIVATE Volk::volk - Log4cpp::log4cpp ) +if(LOG4CPP_FOUND) + target_link_libraries(input_filter_gr_blocks + PRIVATE + Log4cpp::log4cpp + ) +endif() + target_include_directories(input_filter_gr_blocks PUBLIC ${CMAKE_SOURCE_DIR}/src/core/interfaces diff --git a/src/algorithms/signal_source/gnuradio_blocks/labsat23_source.cc b/src/algorithms/signal_source/gnuradio_blocks/labsat23_source.cc index ddd2cc000..331141428 100644 --- a/src/algorithms/signal_source/gnuradio_blocks/labsat23_source.cc +++ b/src/algorithms/signal_source/gnuradio_blocks/labsat23_source.cc @@ -21,12 +21,12 @@ #include "INIReader.h" #include "command_event.h" #include "gnss_sdr_make_unique.h" -#include #include #include #include #include #include +#include #include #include #include diff --git a/src/utils/rinex-tools/obsdiff.cc b/src/utils/rinex-tools/obsdiff.cc index 489b88e6a..16c753f03 100644 --- a/src/utils/rinex-tools/obsdiff.cc +++ b/src/utils/rinex-tools/obsdiff.cc @@ -53,6 +53,7 @@ #include #include #include +#include #include #include #include From bcec8331e6bf320d0740c0691ddf08ef33cd9d7d Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Tue, 23 Nov 2021 16:38:50 +0100 Subject: [PATCH 2/4] Fixes for building against GNU Radio master Log4cpp has been replaced by spdlog and fmt --- CMakeLists.txt | 29 ++++++- cmake/Modules/FindFMT.cmake | 76 +++++++++++++++++ cmake/Modules/FindGNURADIO.cmake | 7 ++ cmake/Modules/FindSPDLOG.cmake | 84 +++++++++++++++++++ src/algorithms/PVT/adapters/CMakeLists.txt | 8 ++ src/algorithms/channel/libs/CMakeLists.txt | 8 ++ .../conditioner/adapters/CMakeLists.txt | 8 ++ .../gnuradio_blocks/CMakeLists.txt | 8 ++ .../gnuradio_blocks/CMakeLists.txt | 8 ++ src/algorithms/libs/CMakeLists.txt | 8 ++ .../gnuradio_blocks/CMakeLists.txt | 8 ++ .../resampler/gnuradio_blocks/CMakeLists.txt | 8 ++ .../signal_generator/adapters/CMakeLists.txt | 8 ++ .../signal_source/libs/CMakeLists.txt | 8 ++ .../telemetry_decoder/adapters/CMakeLists.txt | 8 ++ src/core/monitor/CMakeLists.txt | 8 ++ src/tests/system-tests/position_test.cc | 2 + src/tests/system-tests/ttff.cc | 2 + .../libs/CMakeLists.txt | 8 ++ 19 files changed, 303 insertions(+), 1 deletion(-) create mode 100644 cmake/Modules/FindFMT.cmake create mode 100644 cmake/Modules/FindSPDLOG.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 99d5c7274..8bc9b9c91 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -613,7 +613,33 @@ if(GNURADIO_USES_LOG4CPP) find_package(LOG4CPP) set_package_properties(LOG4CPP PROPERTIES PURPOSE "Required by GNU Radio." - TYPE OPTIONAL + TYPE REQUIRED + ) +endif() + + + +################################################################################ +# spdlog - https://github.com/gabime/spdlog +################################################################################ +if(GNURADIO_USES_SPDLOG) + find_package(SPDLOG REQUIRED) + set_package_properties(SPDLOG PROPERTIES + PURPOSE "Required by GNU Radio." + TYPE REQUIRED + ) +endif() + + + +################################################################################ +# fmt - https://github.com/fmtlib/fmt +################################################################################ +if(GNURADIO_USES_SPDLOG) + find_package(FMT REQUIRED) + set_package_properties(FMT PROPERTIES + PURPOSE "Required by GNU Radio." + TYPE REQUIRED ) endif() @@ -665,6 +691,7 @@ if((NOT PMT_USES_BOOST_ANY) AND (CMAKE_CXX_STANDARD VERSION_LESS 17)) endif() + ################################################################################ # Boost - https://www.boost.org ################################################################################ diff --git a/cmake/Modules/FindFMT.cmake b/cmake/Modules/FindFMT.cmake new file mode 100644 index 000000000..49d091d8a --- /dev/null +++ b/cmake/Modules/FindFMT.cmake @@ -0,0 +1,76 @@ +# GNSS-SDR is a Global Navigation Satellite System software-defined receiver. +# This file is part of GNSS-SDR. +# +# SPDX-FileCopyrightText: 2021 C. Fernandez-Prades cfernandez(at)cttc.es +# SPDX-License-Identifier: BSD-3-Clause + +if(NOT COMMAND feature_summary) + include(FeatureSummary) +endif() + +# Locate header +find_path(FMT_INCLUDE_DIR fmt/core.h + HINTS ${FMT_ROOT_DIR}/include + PATHS + /usr/include + /usr/local/include + /opt/local/include +) + +# Locate library +find_library(FMT_LIBRARY NAMES fmt + HINTS ${FMT_ROOT_DIR}/lib ${FMT_ROOT_DIR}/lib64 + PATHS + /usr/lib + /usr/lib64 + /usr/lib/x86_64-linux-gnu + /usr/lib/i386-linux-gnu + /usr/lib/arm-linux-gnueabihf + /usr/lib/arm-linux-gnueabi + /usr/lib/aarch64-linux-gnu + /usr/lib/mipsel-linux-gnu + /usr/lib/mips-linux-gnu + /usr/lib/mips64el-linux-gnuabi64 + /usr/lib/powerpc-linux-gnu + /usr/lib/powerpc64-linux-gnu + /usr/lib/powerpc64le-linux-gnu + /usr/lib/powerpc-linux-gnuspe + /usr/lib/hppa-linux-gnu + /usr/lib/s390x-linux-gnu + /usr/lib/i386-gnu + /usr/lib/hppa-linux-gnu + /usr/lib/x86_64-kfreebsd-gnu + /usr/lib/i386-kfreebsd-gnu + /usr/lib/m68k-linux-gnu + /usr/lib/sh4-linux-gnu + /usr/lib/sparc64-linux-gnu + /usr/lib/x86_64-linux-gnux32 + /usr/lib/alpha-linux-gnu + /usr/lib/riscv64-linux-gnu + /usr/local/lib + /usr/local/lib64 + /opt/local/lib +) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(FMT DEFAULT_MSG FMT_INCLUDE_DIR FMT_LIBRARY) + +set_package_properties(FMT PROPERTIES + URL "https://github.com/fmtlib/fmt" + DESCRIPTION "An open-source formatting library" +) + +# Add imported target. +if(FMT_FOUND) + set(FMT_INCLUDE_DIRS "${FMT_INCLUDE_DIR}") + + if(NOT TARGET fmt::fmt) + add_library(fmt::fmt UNKNOWN IMPORTED) + set_target_properties(fmt::fmt PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${FMT_INCLUDE_DIRS}" + ) + set_property(TARGET fmt::fmt APPEND PROPERTY + IMPORTED_LOCATION "${FMT_LIBRARY}" + ) + endif() +endif() diff --git a/cmake/Modules/FindGNURADIO.cmake b/cmake/Modules/FindGNURADIO.cmake index 39b0d2997..93e6082cd 100644 --- a/cmake/Modules/FindGNURADIO.cmake +++ b/cmake/Modules/FindGNURADIO.cmake @@ -397,15 +397,22 @@ if(GNURADIO_RUNTIME_INCLUDE_DIRS) if(EXISTS "${GNURADIO_RUNTIME_INCLUDE_DIRS}/gnuradio/logger.h") file(STRINGS ${GNURADIO_RUNTIME_INCLUDE_DIRS}/gnuradio/logger.h _logger_content) set(_uses_log4cpp FALSE) + set(_uses_spdlog FALSE) foreach(_loop_var IN LISTS _logger_content) string(STRIP "${_loop_var}" _file_line) if("#include " STREQUAL "${_file_line}") set(_uses_log4cpp TRUE) endif() + if("#include " STREQUAL "${_file_line}") + set(_uses_spdlog TRUE) + endif() endforeach() if(${_uses_log4cpp}) set(GNURADIO_USES_LOG4CPP TRUE) endif() + if(${_uses_spdlog}) + set(GNURADIO_USES_SPDLOG TRUE) + endif() endif() endif() diff --git a/cmake/Modules/FindSPDLOG.cmake b/cmake/Modules/FindSPDLOG.cmake new file mode 100644 index 000000000..ac53fc870 --- /dev/null +++ b/cmake/Modules/FindSPDLOG.cmake @@ -0,0 +1,84 @@ +# GNSS-SDR is a Global Navigation Satellite System software-defined receiver. +# This file is part of GNSS-SDR. +# +# SPDX-FileCopyrightText: 2021 C. Fernandez-Prades cfernandez(at)cttc.es +# SPDX-License-Identifier: BSD-3-Clause + +if(NOT COMMAND feature_summary) + include(FeatureSummary) +endif() + +# Locate header +find_path(SPDLOG_INCLUDE_DIR spdlog/spdlog.h + HINTS ${SPDLOG_ROOT_DIR}/include + PATHS + /usr/include + /usr/local/include + /opt/local/include +) + +# Locate library +find_library(SPDLOG_LIBRARY NAMES spdlog spdlogd + HINTS ${SPDLOG_ROOT_DIR}/lib ${SPDLOG_ROOT_DIR}/lib64 + PATHS + /usr/lib + /usr/lib64 + /usr/lib/x86_64-linux-gnu + /usr/lib/i386-linux-gnu + /usr/lib/arm-linux-gnueabihf + /usr/lib/arm-linux-gnueabi + /usr/lib/aarch64-linux-gnu + /usr/lib/mipsel-linux-gnu + /usr/lib/mips-linux-gnu + /usr/lib/mips64el-linux-gnuabi64 + /usr/lib/powerpc-linux-gnu + /usr/lib/powerpc64-linux-gnu + /usr/lib/powerpc64le-linux-gnu + /usr/lib/powerpc-linux-gnuspe + /usr/lib/hppa-linux-gnu + /usr/lib/s390x-linux-gnu + /usr/lib/i386-gnu + /usr/lib/hppa-linux-gnu + /usr/lib/x86_64-kfreebsd-gnu + /usr/lib/i386-kfreebsd-gnu + /usr/lib/m68k-linux-gnu + /usr/lib/sh4-linux-gnu + /usr/lib/sparc64-linux-gnu + /usr/lib/x86_64-linux-gnux32 + /usr/lib/alpha-linux-gnu + /usr/lib/riscv64-linux-gnu + /usr/local/lib + /usr/local/lib64 + /opt/local/lib +) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(SPDLOG DEFAULT_MSG SPDLOG_INCLUDE_DIR SPDLOG_LIBRARY) + +set_package_properties(SPDLOG PROPERTIES + URL "https://github.com/gabime/spdlog" + DESCRIPTION "Very fast, header-only/compiled, C++ logging library" +) + +# Add imported target. +if(SPDLOG_FOUND) + set(SPDLOG_INCLUDE_DIRS "${SPDLOG_INCLUDE_DIR}") + + if(NOT TARGET spdlog::spdlog) + add_library(spdlog::spdlog UNKNOWN IMPORTED) + set_target_properties(spdlog::spdlog PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${SPDLOG_INCLUDE_DIRS}" + ) + set_property(TARGET spdlog::spdlog APPEND PROPERTY + IMPORTED_LOCATION "${SPDLOG_LIBRARY}" + ) + endif() + + if(CMAKE_VERSION VERSION_GREATER 3.11.0) + target_compile_definitions(spdlog::spdlog INTERFACE -DSPDLOG_FMT_EXTERNAL=1) + else() + set_property(TARGET spdlog::spdlog APPEND PROPERTY + INTERFACE_COMPILE_DEFINITIONS SPDLOG_FMT_EXTERNAL=1 + ) + endif() +endif() diff --git a/src/algorithms/PVT/adapters/CMakeLists.txt b/src/algorithms/PVT/adapters/CMakeLists.txt index 023ffce27..57ab83031 100644 --- a/src/algorithms/PVT/adapters/CMakeLists.txt +++ b/src/algorithms/PVT/adapters/CMakeLists.txt @@ -39,6 +39,14 @@ if(USE_OLD_BOOST_MATH_COMMON_FACTOR) ) endif() +if(GNURADIO_USES_SPDLOG) + target_link_libraries(pvt_adapters + PUBLIC + fmt::fmt + spdlog::spdlog + ) +endif() + if(ENABLE_CLANG_TIDY) if(CLANG_TIDY_EXE) set_target_properties(pvt_adapters diff --git a/src/algorithms/channel/libs/CMakeLists.txt b/src/algorithms/channel/libs/CMakeLists.txt index 5d65ca047..1454d9d7c 100644 --- a/src/algorithms/channel/libs/CMakeLists.txt +++ b/src/algorithms/channel/libs/CMakeLists.txt @@ -54,6 +54,14 @@ if(GNURADIO_USES_STD_POINTERS) ) endif() +if(GNURADIO_USES_SPDLOG) + target_link_libraries(channel_libs + PUBLIC + fmt::fmt + spdlog::spdlog + ) +endif() + if(USE_GENERIC_LAMBDAS) set(has_generic_lambdas HAS_GENERIC_LAMBDA=1) set(no_has_generic_lambdas HAS_GENERIC_LAMBDA=0) diff --git a/src/algorithms/conditioner/adapters/CMakeLists.txt b/src/algorithms/conditioner/adapters/CMakeLists.txt index d8683e4de..cb4db5424 100644 --- a/src/algorithms/conditioner/adapters/CMakeLists.txt +++ b/src/algorithms/conditioner/adapters/CMakeLists.txt @@ -42,6 +42,14 @@ target_link_libraries(conditioner_adapters Glog::glog ) +if(GNURADIO_USES_SPDLOG) + target_link_libraries(conditioner_adapters + PUBLIC + fmt::fmt + spdlog::spdlog + ) +endif() + target_include_directories(conditioner_adapters PUBLIC ${CMAKE_SOURCE_DIR}/src/core/interfaces diff --git a/src/algorithms/data_type_adapter/gnuradio_blocks/CMakeLists.txt b/src/algorithms/data_type_adapter/gnuradio_blocks/CMakeLists.txt index d7be7b5f5..56c821b01 100644 --- a/src/algorithms/data_type_adapter/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/data_type_adapter/gnuradio_blocks/CMakeLists.txt @@ -55,6 +55,14 @@ if(GNURADIO_USES_STD_POINTERS) ) endif() +if(GNURADIO_USES_SPDLOG) + target_link_libraries(data_type_gr_blocks + PUBLIC + fmt::fmt + spdlog::spdlog + ) +endif() + set_property(TARGET data_type_gr_blocks APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $ diff --git a/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt b/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt index 72942522c..a6a22a351 100644 --- a/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt @@ -55,6 +55,14 @@ if(LOG4CPP_FOUND) ) endif() +if(GNURADIO_USES_SPDLOG) + target_link_libraries(input_filter_gr_blocks + PUBLIC + fmt::fmt + spdlog::spdlog + ) +endif() + target_include_directories(input_filter_gr_blocks PUBLIC ${CMAKE_SOURCE_DIR}/src/core/interfaces diff --git a/src/algorithms/libs/CMakeLists.txt b/src/algorithms/libs/CMakeLists.txt index 7eb20fa87..57e614b34 100644 --- a/src/algorithms/libs/CMakeLists.txt +++ b/src/algorithms/libs/CMakeLists.txt @@ -117,6 +117,14 @@ if(GNURADIO_USES_STD_POINTERS) ) endif() +if(GNURADIO_USES_SPDLOG) + target_link_libraries(algorithms_libs + PUBLIC + fmt::fmt + spdlog::spdlog + ) +endif() + if(FILESYSTEM_FOUND) target_compile_definitions(algorithms_libs PUBLIC -DHAS_STD_FILESYSTEM=1) if(find_experimental) diff --git a/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt b/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt index 5035ab2ee..192e307c9 100644 --- a/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt @@ -36,6 +36,14 @@ target_link_libraries(obs_gr_blocks Matio::matio ) +if(GNURADIO_USES_SPDLOG) + target_link_libraries(obs_gr_blocks + PUBLIC + fmt::fmt + spdlog::spdlog + ) +endif() + target_include_directories(obs_gr_blocks PUBLIC ${CMAKE_SOURCE_DIR}/src/core/interfaces diff --git a/src/algorithms/resampler/gnuradio_blocks/CMakeLists.txt b/src/algorithms/resampler/gnuradio_blocks/CMakeLists.txt index 8e182b23a..0a27cf6d8 100644 --- a/src/algorithms/resampler/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/resampler/gnuradio_blocks/CMakeLists.txt @@ -50,6 +50,14 @@ if(GNURADIO_USES_STD_POINTERS) ) endif() +if(NOT GNURADIO_USES_LOG4CPP) + target_link_libraries(resampler_gr_blocks + PUBLIC + fmt::fmt + spdlog::spdlog + ) +endif() + target_include_directories(resampler_gr_blocks PUBLIC ${CMAKE_SOURCE_DIR}/src/core/interfaces diff --git a/src/algorithms/signal_generator/adapters/CMakeLists.txt b/src/algorithms/signal_generator/adapters/CMakeLists.txt index 2b08f3c44..aa3d3d9fc 100644 --- a/src/algorithms/signal_generator/adapters/CMakeLists.txt +++ b/src/algorithms/signal_generator/adapters/CMakeLists.txt @@ -44,6 +44,14 @@ if(GNURADIO_USES_STD_POINTERS) ) endif() +if(GNURADIO_USES_SPDLOG) + target_link_libraries(signal_generator_adapters + PUBLIC + fmt::fmt + spdlog::spdlog + ) +endif() + if(ENABLE_CLANG_TIDY) if(CLANG_TIDY_EXE) set_target_properties(signal_generator_adapters diff --git a/src/algorithms/signal_source/libs/CMakeLists.txt b/src/algorithms/signal_source/libs/CMakeLists.txt index 30bb8f5d8..fbb1f2911 100644 --- a/src/algorithms/signal_source/libs/CMakeLists.txt +++ b/src/algorithms/signal_source/libs/CMakeLists.txt @@ -76,6 +76,14 @@ if(GNURADIO_USES_STD_POINTERS) ) 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 diff --git a/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt b/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt index a374f25d0..12c3e8a25 100644 --- a/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt +++ b/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt @@ -64,6 +64,14 @@ target_link_libraries(telemetry_decoder_adapters Gnuradio::runtime ) +if(GNURADIO_USES_SPDLOG) + target_link_libraries(telemetry_decoder_adapters + PUBLIC + fmt::fmt + spdlog::spdlog + ) +endif() + target_include_directories(telemetry_decoder_adapters PUBLIC ${CMAKE_SOURCE_DIR}/src/core/interfaces diff --git a/src/core/monitor/CMakeLists.txt b/src/core/monitor/CMakeLists.txt index 9d067c909..fe8743c05 100644 --- a/src/core/monitor/CMakeLists.txt +++ b/src/core/monitor/CMakeLists.txt @@ -73,6 +73,14 @@ if(GNURADIO_USES_STD_POINTERS) ) endif() +if(GNURADIO_USES_SPDLOG) + target_link_libraries(core_monitor + PUBLIC + fmt::fmt + spdlog::spdlog + ) +endif() + if(USE_BOOST_ASIO_IO_CONTEXT) target_compile_definitions(core_monitor PUBLIC diff --git a/src/tests/system-tests/position_test.cc b/src/tests/system-tests/position_test.cc index 29fc4b2e0..f3f96c0da 100644 --- a/src/tests/system-tests/position_test.cc +++ b/src/tests/system-tests/position_test.cc @@ -36,6 +36,8 @@ #include "test_flags.h" #include "tracking_tests_flags.h" // acquisition resampler #include +#include +#include #include #include #include diff --git a/src/tests/system-tests/ttff.cc b/src/tests/system-tests/ttff.cc index 0816e0ad2..55f0698cf 100644 --- a/src/tests/system-tests/ttff.cc +++ b/src/tests/system-tests/ttff.cc @@ -24,6 +24,8 @@ #include "gps_acq_assist.h" #include "in_memory_configuration.h" #include +#include +#include #include #include #include diff --git a/src/tests/unit-tests/signal-processing-blocks/libs/CMakeLists.txt b/src/tests/unit-tests/signal-processing-blocks/libs/CMakeLists.txt index 8b9096c68..f5da39a39 100644 --- a/src/tests/unit-tests/signal-processing-blocks/libs/CMakeLists.txt +++ b/src/tests/unit-tests/signal-processing-blocks/libs/CMakeLists.txt @@ -53,6 +53,14 @@ target_include_directories(signal_processing_testing_lib ${CMAKE_SOURCE_DIR}/src/tests/common-files ) +if(GNURADIO_USES_SPDLOG) + target_link_libraries(signal_processing_testing_lib + PUBLIC + fmt::fmt + spdlog::spdlog + ) +endif() + if(USE_GENERIC_LAMBDAS) set(has_generic_lambdas HAS_GENERIC_LAMBDA=1) set(no_has_generic_lambdas HAS_GENERIC_LAMBDA=0) From 6a625bdba6d6b7de0c7182f28755ed476cb1e55b Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Tue, 23 Nov 2021 17:13:58 +0100 Subject: [PATCH 3/4] Fix linking against GNU Radio master --- src/algorithms/telemetry_decoder/adapters/CMakeLists.txt | 8 -------- .../telemetry_decoder/gnuradio_blocks/CMakeLists.txt | 8 ++++++++ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt b/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt index 12c3e8a25..a374f25d0 100644 --- a/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt +++ b/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt @@ -64,14 +64,6 @@ target_link_libraries(telemetry_decoder_adapters Gnuradio::runtime ) -if(GNURADIO_USES_SPDLOG) - target_link_libraries(telemetry_decoder_adapters - PUBLIC - fmt::fmt - spdlog::spdlog - ) -endif() - target_include_directories(telemetry_decoder_adapters PUBLIC ${CMAKE_SOURCE_DIR}/src/core/interfaces diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/CMakeLists.txt b/src/algorithms/telemetry_decoder/gnuradio_blocks/CMakeLists.txt index d1858d7ef..b47f56187 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/CMakeLists.txt @@ -67,6 +67,14 @@ if(GNURADIO_USES_STD_POINTERS) ) endif() +if(GNURADIO_USES_SPDLOG) + target_link_libraries(telemetry_decoder_gr_blocks + PUBLIC + fmt::fmt + spdlog::spdlog + ) +endif() + target_include_directories(telemetry_decoder_gr_blocks PUBLIC ${CMAKE_SOURCE_DIR}/src/core/interfaces From 3ff534bb4c3025a3bca7908c9c91f14f35c794f1 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Tue, 23 Nov 2021 18:53:56 +0100 Subject: [PATCH 4/4] Fix selection of C++ standard --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8bc9b9c91..a501d2d0a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -655,7 +655,7 @@ if(NOT ENABLE_OWN_GPSTK) PURPOSE "Used in some Extra Tests." ) endif() -if(NOT (GNURADIO_VERSION VERSION_LESS 3.8) AND LOG4CPP_READY_FOR_CXX17) +if(NOT (GNURADIO_VERSION VERSION_LESS 3.8) AND (LOG4CPP_READY_FOR_CXX17 OR GNURADIO_USES_SPDLOG)) # Check if we have std::filesystem if(NOT (CMAKE_VERSION VERSION_LESS 3.8)) if(NOT GPSTK_FOUND OR NOT (GPSTK_FOUND AND GPSTK_OLDER_THAN_8)) # Fix for GPSTk < 8.0.0