From f3eef2f513068f476b4ef3dc90b71037e9ac2e34 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Thu, 31 Jan 2019 12:12:04 +0100 Subject: [PATCH 01/19] Add modern CMake targets for volk_gnsssdr --- CMakeLists.txt | 4 +- .../volk_gnsssdr/CMakeLists.txt | 8 +- .../cmake/Modules/VolkGnsssdrConfig.cmake.in | 33 +----- .../volk_gnsssdr/lib/CMakeLists.txt | 104 +++++++++--------- 4 files changed, 62 insertions(+), 87 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a24768c62..f6ae9b685 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,7 +23,7 @@ if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR}) message(WARNING "In-tree build is bad practice. Try 'cd build && cmake ../' ") endif() -cmake_minimum_required(VERSION 2.8) +cmake_minimum_required(VERSION 2.8.12) project(gnss-sdr CXX C) list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules) file(RELATIVE_PATH RELATIVE_CMAKE_CALL ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) @@ -324,7 +324,7 @@ endif() ################################################################################ # Minimum required versions ################################################################################ -set(GNSSSDR_CMAKE_MIN_VERSION "2.8.8") +set(GNSSSDR_CMAKE_MIN_VERSION "2.8.12") set(GNSSSDR_GCC_MIN_VERSION "4.7.2") set(GNSSSDR_CLANG_MIN_VERSION "3.4.0") set(GNSSSDR_APPLECLANG_MIN_VERSION "500") diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/CMakeLists.txt b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/CMakeLists.txt index 59a8d1ff7..79e64245e 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/CMakeLists.txt +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/CMakeLists.txt @@ -20,7 +20,7 @@ ######################################################################## # Project setup ######################################################################## -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 2.8.12) set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "Choose build type: None Debug Release RelWithDebInfo MinSizeRel") project(volk_gnsssdr) enable_language(CXX) @@ -135,7 +135,7 @@ message(STATUS "Build type set to ${CMAKE_BUILD_TYPE}.") set(VERSION_INFO_MAJOR_VERSION 0) set(VERSION_INFO_MINOR_VERSION 0) -set(VERSION_INFO_MAINT_VERSION 10) +set(VERSION_INFO_MAINT_VERSION 10.git) include(VolkVersion) #setup version info @@ -369,6 +369,10 @@ install( COMPONENT "volk_gnsssdr_devel" ) +install(EXPORT VOLK_GNSSSDR-export FILE VolkGnsssdrTargets.cmake + NAMESPACE VolkGnsssdr:: DESTINATION ${CMAKE_MODULES_DIR}/volk_gnsssdr +) + ######################################################################## # Option to enable QA testing, on by default ######################################################################## diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Modules/VolkGnsssdrConfig.cmake.in b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Modules/VolkGnsssdrConfig.cmake.in index af9e75169..ef8dce6e6 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Modules/VolkGnsssdrConfig.cmake.in +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/cmake/Modules/VolkGnsssdrConfig.cmake.in @@ -15,33 +15,8 @@ # You should have received a copy of the GNU General Public License # along with GNSS-SDR. If not, see . -include(FindPkgConfig) -pkg_check_modules(PC_VOLK_GNSSSDR volk_gnsssdr) +get_filename_component(VOLK_GNSSSDR_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) -find_path( - VOLK_GNSSSDR_INCLUDE_DIRS - NAMES volk_gnsssdr/volk_gnsssdr.h - HINTS $ENV{VOLK_DIR}/include - ${PC_VOLK_INCLUDEDIR} - PATHS /usr/local/include - /usr/include - /opt/local/include - "@CMAKE_INSTALL_PREFIX@/include" -) - -find_library( - VOLK_GNSSSDR_LIBRARIES - NAMES volk_gnsssdr - HINTS $ENV{VOLK_DIR}/lib - ${PC_VOLK_LIBDIR} - PATHS /usr/local/lib - /usr/local/lib64 - /usr/lib - /usr/lib64 - /opt/local/lib - "@CMAKE_INSTALL_PREFIX@/lib" -) - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(VOLKGNSSSDR DEFAULT_MSG VOLK_GNSSSDR_LIBRARIES VOLK_GNSSSDR_INCLUDE_DIRS) -mark_as_advanced(VOLK_GNSSSDR_LIBRARIES VOLK_GNSSSDR_INCLUDE_DIRS) +if(NOT TARGET VolkGnsssdr::volkgnsssdr) + include("${VOLK_GNSSSDR_CMAKE_DIR}/VolkGnsssdrTargets.cmake") +endif() diff --git a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/lib/CMakeLists.txt b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/lib/CMakeLists.txt index 983f3c374..5211c1cf5 100644 --- a/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/lib/CMakeLists.txt +++ b/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/lib/CMakeLists.txt @@ -569,71 +569,67 @@ if(MSVC) set_source_files_properties(${volk_gnsssdr_sources} PROPERTIES LANGUAGE CXX) endif() -#Use object library for faster overall build in newer versions of cmake -if(CMAKE_VERSION VERSION_GREATER "2.8.7") - #Create a volk_gnsssdr object library (requires cmake >= 2.8.8) - add_library(volk_gnsssdr_obj OBJECT ${volk_gnsssdr_sources}) +#Create a volk_gnsssdr object library +add_library(volk_gnsssdr_obj OBJECT ${volk_gnsssdr_sources}) +target_include_directories(volk_gnsssdr_obj + PUBLIC $ + PUBLIC $ + PUBLIC $ + PRIVATE ${PROJECT_SOURCE_DIR}/kernels + PRIVATE ${CMAKE_CURRENT_BINARY_DIR} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} +) - #Add dynamic library - add_library(volk_gnsssdr SHARED $) - target_link_libraries(volk_gnsssdr ${volk_gnsssdr_libraries} ${Boost_LIBRARIES}) +#Add dynamic library +add_library(volk_gnsssdr SHARED $) +target_link_libraries(volk_gnsssdr ${volk_gnsssdr_libraries} m) +target_include_directories(volk_gnsssdr + PUBLIC $ + PUBLIC $ + PUBLIC $ + PRIVATE ${PROJECT_SOURCE_DIR}/kernels + PRIVATE ${CMAKE_CURRENT_BINARY_DIR} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} +) - #Configure target properties - set_target_properties(volk_gnsssdr_obj PROPERTIES COMPILE_FLAGS "-fPIC") - set_target_properties(volk_gnsssdr PROPERTIES SOVERSION ${LIBVER}) - set_target_properties(volk_gnsssdr PROPERTIES DEFINE_SYMBOL "volk_gnsssdr_EXPORTS") +#Configure target properties +set_target_properties(volk_gnsssdr_obj PROPERTIES COMPILE_FLAGS "-fPIC") +set_target_properties(volk_gnsssdr PROPERTIES SOVERSION ${LIBVER}) +set_target_properties(volk_gnsssdr PROPERTIES DEFINE_SYMBOL "volk_gnsssdr_EXPORTS") - #Install locations - install(TARGETS volk_gnsssdr - LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT "volk_gnsssdr_runtime" # .so file - ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT "volk_gnsssdr_devel" # .lib file - RUNTIME DESTINATION bin COMPONENT "volk_gnsssdr_runtime" # .dll file +#Install locations +install(TARGETS volk_gnsssdr + EXPORT VOLK_GNSSSDR-export + LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT "volk_gnsssdr_runtime" # .so file + ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT "volk_gnsssdr_devel" # .lib file + RUNTIME DESTINATION bin COMPONENT "volk_gnsssdr_runtime" # .dll file +) + +#Configure static library +if(ENABLE_STATIC_LIBS) + add_library(volk_gnsssdr_static STATIC $) + target_link_libraries(volk_gnsssdr_static ${volk_gnsssdr_libraries} pthread m) + target_include_directories(volk_gnsssdr_static + PUBLIC $ + PUBLIC $ + PUBLIC $ + PRIVATE ${PROJECT_SOURCE_DIR}/kernels + PRIVATE ${CMAKE_CURRENT_BINARY_DIR} + PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ) - #Configure static library - if(ENABLE_STATIC_LIBS) - add_library(volk_gnsssdr_static STATIC $) - - set_target_properties(volk_gnsssdr_static PROPERTIES OUTPUT_NAME volk_gnsssdr) - - install(TARGETS volk_gnsssdr_static - ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT "volk_gnsssdr_devel" - ) - endif() - -#Older cmake versions (slower to build when building dynamic/static libs) -else() - #create the volk_gnsssdr runtime library - add_library(volk_gnsssdr SHARED ${volk_gnsssdr_sources}) - target_link_libraries(volk_gnsssdr ${volk_gnsssdr_libraries}) - set_target_properties(volk_gnsssdr PROPERTIES SOVERSION ${LIBVER}) - set_target_properties(volk_gnsssdr PROPERTIES DEFINE_SYMBOL "volk_gnsssdr_EXPORTS") - - install(TARGETS volk_gnsssdr - LIBRARY DESTINATION lib${LIB_SUFFIX} COMPONENT "volk_gnsssdr_runtime" # .so file - ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT "volk_gnsssdr_devel" # .lib file - RUNTIME DESTINATION bin COMPONENT "volk_gnsssdr_runtime" # .dll file + install(TARGETS volk_gnsssdr_static + EXPORT VOLK_GNSSSDR-export + ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT "volk_gnsssdr_devel" ) - if(ENABLE_STATIC_LIBS) - add_library(volk_gnsssdr_static STATIC ${volk_gnsssdr_sources}) - - if(NOT WIN32) - set_target_properties(volk_gnsssdr_static - PROPERTIES OUTPUT_NAME volk_gnsssdr) - endif() - - install(TARGETS volk_gnsssdr_static - ARCHIVE DESTINATION lib${LIB_SUFFIX} COMPONENT "volk_gnsssdr_devel" # .lib file - ) - endif() + set_target_properties(volk_gnsssdr_static PROPERTIES OUTPUT_NAME volk_gnsssdr) endif() ######################################################################## # Build the QA test application ######################################################################## if(ENABLE_TESTING) - #include Boost headers include_directories(${Boost_INCLUDE_DIRS}) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/.unittest) @@ -647,11 +643,11 @@ if(ENABLE_TESTING) SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/testqa.cc ${CMAKE_CURRENT_SOURCE_DIR}/qa_utils.cc TARGET_DEPS volk_gnsssdr - ) + ) + foreach(kernel ${h_files}) get_filename_component(kernel ${kernel} NAME) string(REPLACE ".h" "" kernel ${kernel}) volk_add_test(${kernel} "volk_gnsssdr_test_all") endforeach() - endif() From 8ae72fe45891fa7d39e672f994c1a7cb6dc99cf1 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sun, 3 Feb 2019 19:24:44 +0100 Subject: [PATCH 02/19] Update to modern CMake usage --- CMakeLists.txt | 263 ++++++++++++-- cmake/Modules/FindGFLAGS.cmake | 19 +- cmake/Modules/FindGLOG.cmake | 15 +- cmake/Modules/FindGPSTK.cmake | 24 +- cmake/Modules/FindMATIO.cmake | 15 +- cmake/Modules/FindPUGIXML.cmake | 16 +- cmake/Modules/FindVOLK.cmake | 17 +- cmake/Modules/FindVOLKGNSSSDR.cmake | 19 +- docs/changelog | 4 + src/algorithms/PVT/adapters/CMakeLists.txt | 43 +-- .../PVT/gnuradio_blocks/CMakeLists.txt | 53 +-- src/algorithms/PVT/libs/CMakeLists.txt | 64 ++-- src/algorithms/PVT/libs/nmea_printer.h | 1 + src/algorithms/PVT/libs/rinex_printer.cc | 1 - src/algorithms/PVT/libs/rtcm_printer.h | 4 +- .../acquisition/adapters/CMakeLists.txt | 46 ++- .../adapters/beidou_b1i_pcps_acquisition.h | 1 - .../gnuradio_blocks/CMakeLists.txt | 63 ++-- .../acquisition/libs/CMakeLists.txt | 33 +- .../channel/adapters/CMakeLists.txt | 31 +- src/algorithms/channel/libs/CMakeLists.txt | 28 +- .../conditioner/adapters/CMakeLists.txt | 28 +- .../data_type_adapter/adapters/CMakeLists.txt | 38 +- .../gnuradio_blocks/CMakeLists.txt | 21 +- .../input_filter/adapters/CMakeLists.txt | 45 ++- .../gnuradio_blocks/CMakeLists.txt | 32 +- src/algorithms/libs/CMakeLists.txt | 75 ++-- src/algorithms/libs/rtklib/CMakeLists.txt | 37 +- src/algorithms/libs/rtklib/rtklib_ionex.cc | 1 + src/algorithms/libs/rtklib/rtklib_lambda.cc | 1 + src/algorithms/libs/rtklib/rtklib_pntpos.cc | 1 + src/algorithms/libs/rtklib/rtklib_ppp.cc | 1 + src/algorithms/libs/rtklib/rtklib_preceph.cc | 1 + src/algorithms/libs/rtklib/rtklib_rtcm3.cc | 1 + src/algorithms/libs/rtklib/rtklib_rtkcmn.cc | 1 + src/algorithms/libs/rtklib/rtklib_rtkcmn.h | 2 +- src/algorithms/libs/rtklib/rtklib_rtkpos.cc | 1 + src/algorithms/libs/rtklib/rtklib_rtksvr.cc | 1 + src/algorithms/libs/rtklib/rtklib_sbas.cc | 1 + src/algorithms/libs/rtklib/rtklib_solution.cc | 1 + src/algorithms/libs/rtklib/rtklib_stream.cc | 1 + .../observables/adapters/CMakeLists.txt | 33 +- .../gnuradio_blocks/CMakeLists.txt | 50 +-- .../resampler/adapters/CMakeLists.txt | 35 +- .../resampler/gnuradio_blocks/CMakeLists.txt | 26 +- .../signal_generator/adapters/CMakeLists.txt | 32 +- .../gnuradio_blocks/CMakeLists.txt | 41 ++- .../signal_source/adapters/CMakeLists.txt | 44 +-- .../gnuradio_blocks/CMakeLists.txt | 30 +- .../gnuradio_blocks/unpack_2bit_samples.h | 2 +- .../signal_source/libs/CMakeLists.txt | 26 +- .../telemetry_decoder/adapters/CMakeLists.txt | 32 +- .../gnuradio_blocks/CMakeLists.txt | 37 +- .../telemetry_decoder/libs/CMakeLists.txt | 25 +- .../libs/libswiftcnav/CMakeLists.txt | 11 +- .../tracking/adapters/CMakeLists.txt | 32 +- .../tracking/gnuradio_blocks/CMakeLists.txt | 57 +-- src/algorithms/tracking/libs/CMakeLists.txt | 34 +- src/core/libs/CMakeLists.txt | 42 +-- src/core/libs/supl/CMakeLists.txt | 33 +- src/core/monitor/CMakeLists.txt | 25 +- src/core/receiver/CMakeLists.txt | 239 ++++++------ src/core/receiver/gnss_flowgraph.cc | 3 +- src/core/system_parameters/CMakeLists.txt | 28 +- .../beidou_dnav_navigation_message.cc | 2 +- src/main/CMakeLists.txt | 64 ++-- src/tests/CMakeLists.txt | 343 ++++++++---------- src/tests/system-tests/libs/CMakeLists.txt | 32 +- .../libs/CMakeLists.txt | 32 +- .../tracking/tracking_pull-in_test_fpga.cc | 54 +-- src/utils/front-end-cal/CMakeLists.txt | 98 ++--- src/utils/rinex2assist/CMakeLists.txt | 53 ++- 72 files changed, 1387 insertions(+), 1258 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f6ae9b685..a94195ddc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2010-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -503,6 +503,70 @@ if(NOT Boost_FOUND) message(FATAL_ERROR "Fatal error: Boost (version >=${GNSSSDR_BOOST_MIN_VERSION}) required.") endif() +if(CMAKE_VERSION VERSION_LESS 3.5) + if(NOT TARGET Boost::boost) + add_library(Boost::boost SHARED IMPORTED) # Trick for CMake 2.8.12 + set_property(TARGET Boost::boost PROPERTY + INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR}) + set_property(TARGET Boost::boost PROPERTY + IMPORTED_LOCATION ${Boost_DATE_TIME_LIBRARIES}) + endif() + if(NOT TARGET Boost::date_time) + add_library(Boost::date_time SHARED IMPORTED) + set_property(TARGET Boost::date_time PROPERTY + INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR}) + set_property(TARGET Boost::date_time PROPERTY + INTERFACE_LINK_LIBRARIES ${Boost_DATE_TIME_LIBRARIES}) + set_property(TARGET Boost::date_time PROPERTY + IMPORTED_LOCATION ${Boost_DATE_TIME_LIBRARIES}) + endif() + if(NOT TARGET Boost::system) + add_library(Boost::system SHARED IMPORTED) + set_property(TARGET Boost::system PROPERTY + INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR}) + set_property(TARGET Boost::system PROPERTY + INTERFACE_LINK_LIBRARIES ${Boost_SYSTEM_LIBRARIES}) + set_property(TARGET Boost::system PROPERTY + IMPORTED_LOCATION ${Boost_SYSTEM_LIBRARIES}) + endif() + if(NOT TARGET Boost::filesystem) + add_library(Boost::filesystem SHARED IMPORTED) + set_property(TARGET Boost::filesystem PROPERTY + INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR}) + set_property(TARGET Boost::filesystem PROPERTY + INTERFACE_LINK_LIBRARIES ${Boost_FILESYSTEM_LIBRARIES}) + set_property(TARGET Boost::filesystem PROPERTY + IMPORTED_LOCATION ${Boost_FILESYSTEM_LIBRARIES}) + endif() + if(NOT TARGET Boost::thread) + add_library(Boost::thread SHARED IMPORTED) + set_property(TARGET Boost::thread PROPERTY + INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR}) + set_property(TARGET Boost::thread PROPERTY + INTERFACE_LINK_LIBRARIES ${Boost_THREAD_LIBRARIES}) + set_property(TARGET Boost::thread PROPERTY + IMPORTED_LOCATION ${Boost_THREAD_LIBRARIES}) + endif() + if(NOT TARGET Boost::serialization) + add_library(Boost::serialization SHARED IMPORTED) + set_property(TARGET Boost::serialization PROPERTY + INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR}) + set_property(TARGET Boost::serialization PROPERTY + INTERFACE_LINK_LIBRARIES ${Boost_SERIALIZATION_LIBRARIES}) + set_property(TARGET Boost::serialization PROPERTY + IMPORTED_LOCATION ${Boost_SERIALIZATION_LIBRARIES}) + endif() + if(NOT TARGET Boost::chrono) + add_library(Boost::chrono SHARED IMPORTED) + set_property(TARGET Boost::chrono PROPERTY + INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR}) + set_property(TARGET Boost::chrono PROPERTY + INTERFACE_LINK_LIBRARIES ${Boost_CHRONO_LIBRARIES}) + set_property(TARGET Boost::chrono PROPERTY + IMPORTED_LOCATION ${Boost_CHRONO_LIBRARIES}) + endif() +endif() + ################################################################################ @@ -530,22 +594,98 @@ if(NOT GNURADIO_RUNTIME_FOUND) message(" brew install gnuradio") message(FATAL_ERROR "GNU Radio ${GNSSSDR_GNURADIO_MIN_VERSION} or later is required to build gnss-sdr") endif() +else() + if(NOT TARGET Gnuradio::runtime) + add_library(Gnuradio::runtime SHARED IMPORTED) + list(GET GNURADIO_RUNTIME_LIBRARIES 0 FIRST_DIR) + get_filename_component(GNURADIO_RUNTIME_DIR ${FIRST_DIR} ABSOLUTE) + set_target_properties(Gnuradio::runtime PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${GNURADIO_RUNTIME_DIR}" + INTERFACE_INCLUDE_DIRECTORIES "${GNURADIO_RUNTIME_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${GNURADIO_RUNTIME_LIBRARIES}" + ) + endif() endif() if(NOT GNURADIO_ANALOG_FOUND) message(FATAL_ERROR "*** The gnuradio-analog library v${GNSSSDR_GNURADIO_MIN_VERSION} or later is required to build gnss-sdr") +else() + if(NOT TARGET Gnuradio::analog) + add_library(Gnuradio::analog SHARED IMPORTED) + list(GET GNURADIO_ANALOG_LIBRARIES 0 FIRST_DIR) + get_filename_component(GNURADIO_ANALOG_DIR ${FIRST_DIR} ABSOLUTE) + set_target_properties(Gnuradio::analog PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${GNURADIO_ANALOG_DIR}" + INTERFACE_INCLUDE_DIRECTORIES "${GNURADIO_ANALOG_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${GNURADIO_ANALOG_LIBRARIES}" + ) + endif() endif() + if(NOT GNURADIO_BLOCKS_FOUND) message(FATAL_ERROR "*** The gnuradio-blocks library v${GNSSSDR_GNURADIO_MIN_VERSION} or later is required to build gnss-sdr") +else() + if(NOT TARGET Gnuradio::blocks) + add_library(Gnuradio::blocks SHARED IMPORTED) + list(GET GNURADIO_BLOCKS_LIBRARIES 0 FIRST_DIR) + get_filename_component(GNURADIO_BLOCKS_DIR ${FIRST_DIR} ABSOLUTE) + set_target_properties(Gnuradio::blocks PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${GNURADIO_BLOCKS_DIR}" + INTERFACE_INCLUDE_DIRECTORIES "${GNURADIO_BLOCKS_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${GNURADIO_BLOCKS_LIBRARIES}" + ) + endif() endif() + if(NOT GNURADIO_FILTER_FOUND) message(FATAL_ERROR "*** The gnuradio-filter library v${GNSSSDR_GNURADIO_MIN_VERSION} or later is required to build gnss-sdr") +else() + if(NOT TARGET Gnuradio::filter) + add_library(Gnuradio::filter SHARED IMPORTED) + list(GET GNURADIO_FILTER_LIBRARIES 0 FIRST_DIR) + get_filename_component(GNURADIO_FILTER_DIR ${FIRST_DIR} ABSOLUTE) + set_target_properties(Gnuradio::filter PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${GNURADIO_FILTER_DIR}" + INTERFACE_INCLUDE_DIRECTORIES "${GNURADIO_FILTER_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${GNURADIO_FILTER_LIBRARIES}" + ) + endif() endif() + if(NOT GNURADIO_FFT_FOUND) message(FATAL_ERROR "*** The gnuradio-fft library v${GNSSSDR_GNURADIO_MIN_VERSION} or later is required to build gnss-sdr") +else() + if(NOT TARGET Gnuradio::fft) + add_library(Gnuradio::fft SHARED IMPORTED) + list(GET GNURADIO_FFT_LIBRARIES 0 FIRST_DIR) + get_filename_component(GNURADIO_FFT_DIR ${FIRST_DIR} ABSOLUTE) + set_target_properties(Gnuradio::fft PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${GNURADIO_FFT_DIR}" + INTERFACE_INCLUDE_DIRECTORIES "${GNURADIO_FFT_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${GNURADIO_FFT_LIBRARIES}" + ) + endif() endif() + if(NOT GNURADIO_PMT_FOUND) message(FATAL_ERROR "*** The gnuradio-pmt library v${GNSSSDR_GNURADIO_MIN_VERSION} or later is required to build gnss-sdr") +else() + if(NOT TARGET Gnuradio::pmt) + add_library(Gnuradio::pmt SHARED IMPORTED) + list(GET GNURADIO_PMT_LIBRARIES 0 FIRST_DIR) + get_filename_component(GNURADIO_PMT_DIR ${FIRST_DIR} ABSOLUTE) + set_target_properties(Gnuradio::pmt PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${GNURADIO_PMT_DIR}" + INTERFACE_INCLUDE_DIRECTORIES "${GNURADIO_PMT_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${GNURADIO_PMT_LIBRARIES}" + ) + endif() endif() @@ -695,6 +835,19 @@ if(NOT VOLKGNSSSDR_FOUND) set(VOLK_GNSSSDR_INCLUDE_DIRS "${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module/build/include/;${CMAKE_CURRENT_SOURCE_DIR}/src/algorithms/libs/volk_gnsssdr_module/volk_gnsssdr/include;${ORC_INCLUDE_DIRS}") set(VOLK_GNSSSDR_LIBRARIES volk_gnsssdr ${ORC_LIBRARIES}) + if(NOT TARGET Volkgnsssdr::volkgnsssdr) + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module/build/include) + add_library(Volkgnsssdr::volkgnsssdr STATIC IMPORTED) + add_dependencies(Volkgnsssdr::volkgnsssdr volk_gnsssdr_module) + set_target_properties(Volkgnsssdr::volkgnsssdr PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module/install/lib/libvolk_gnsssdr${CMAKE_STATIC_LIBRARY_SUFFIX}" + INCLUDE_DIRECTORIES "${VOLK_GNSSSDR_INCLUDE_DIRS}" + INTERFACE_INCLUDE_DIRECTORIES "${VOLK_GNSSSDR_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${VOLK_GNSSSDR_LIBRARIES}" + ) + endif() + if(CMAKE_VERSION VERSION_LESS 3.2) add_custom_command(TARGET volk_gnsssdr_module POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/volk_gnsssdr_module/install/bin/volk_gnsssdr_profile @@ -756,16 +909,23 @@ if(NOT GFLAGS_FOUND) ${CMAKE_CURRENT_BINARY_DIR}/gflags-${GNSSSDR_GFLAGS_LOCAL_VERSION}/include CACHE PATH "Local Gflags headers" ) - add_library(gflags UNKNOWN IMPORTED) - set_property(TARGET gflags PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/gflags-${GNSSSDR_GFLAGS_LOCAL_VERSION}/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gflags${CMAKE_STATIC_LIBRARY_SUFFIX}) - add_dependencies(gflags gflags-${GNSSSDR_GFLAGS_LOCAL_VERSION}) - set(GFlags_LIBS gflags) - file(GLOB GFlags_SHARED_LIBS "${CMAKE_CURRENT_BINARY_DIR}/gflags-${GNSSSDR_GFLAGS_LOCAL_VERSION}/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gflags${CMAKE_SHARED_LIBRARY_SUFFIX}*") - set(GFlags_LIBRARY gflags-${GNSSSDR_GFLAGS_LOCAL_VERSION}) - set(GFlags_LIBRARY_PATH ${CMAKE_CURRENT_BINARY_DIR}/gflags-${GNSSSDR_GFLAGS_LOCAL_VERSION}/lib) - link_directories(${GFlags_LIBRARY_PATH}) - set(GFlags_lib ${GFlags_LIBS} CACHE FILEPATH "Local Gflags library") - set(GFlags_LIBRARY_PATH ${GFlags_LIBS}) + file(GLOB GFlags_SHARED_LIBS + "${CMAKE_CURRENT_BINARY_DIR}/gflags-${GNSSSDR_GFLAGS_LOCAL_VERSION}/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gflags${CMAKE_SHARED_LIBRARY_SUFFIX}*" + ) + + if(NOT TARGET Gflags::gflags) + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/gflags-${GNSSSDR_GFLAGS_LOCAL_VERSION}/include) + add_library(Gflags::gflags STATIC IMPORTED) + add_dependencies(Gflags::gflags gflags-${GNSSSDR_GFLAGS_LOCAL_VERSION}) + set_target_properties(Gflags::gflags PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/gflags-${GNSSSDR_GFLAGS_LOCAL_VERSION}/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gflags${CMAKE_STATIC_LIBRARY_SUFFIX}" + INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/gflags-${GNSSSDR_GFLAGS_LOCAL_VERSION}/include" + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/gflags-${GNSSSDR_GFLAGS_LOCAL_VERSION}/include" + INTERFACE_LINK_LIBRARIES "${CMAKE_CURRENT_BINARY_DIR}/gflags-${GNSSSDR_GFLAGS_LOCAL_VERSION}/lib/${CMAKE_FIND_LIBRARY_PREFIXES}gflags${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + endif() + set(LOCAL_GFLAGS true CACHE STRING "GFlags downloaded and built automatically" FORCE) endif() @@ -899,6 +1059,7 @@ ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/glog/glog-${GNSSSDR_GLOG_LOCAL_VERSION}/c INSTALL_COMMAND "" ) endif() + add_dependencies(glog-${GNSSSDR_GLOG_LOCAL_VERSION} Gflags::gflags) # Set up variables set(GLOG_INCLUDE_DIRS @@ -908,15 +1069,28 @@ ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/glog/glog-${GNSSSDR_GLOG_LOCAL_VERSION}/c set(GLOG_LIBRARIES ${CMAKE_CURRENT_BINARY_DIR}/glog-${GNSSSDR_GLOG_LOCAL_VERSION}/.libs/${CMAKE_FIND_LIBRARY_PREFIXES}glog${CMAKE_STATIC_LIBRARY_SUFFIX} ) + + # Create Glog::glog target + if(NOT TARGET Glog::glog) + file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/glog/glog-${GNSSSDR_GLOG_LOCAL_VERSION}/src) + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/glog-${GNSSSDR_GLOG_LOCAL_VERSION}/src) + add_library(Glog::glog STATIC IMPORTED) + add_dependencies(Glog::glog glog-${GNSSSDR_GLOG_LOCAL_VERSION}) + set_target_properties(Glog::glog PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/glog-${GNSSSDR_GLOG_LOCAL_VERSION}/.libs/${CMAKE_FIND_LIBRARY_PREFIXES}glog${CMAKE_STATIC_LIBRARY_SUFFIX}" + INCLUDE_DIRECTORIES "${GLOG_INCLUDE_DIRS}" + INTERFACE_INCLUDE_DIRECTORIES "${GLOG_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${CMAKE_CURRENT_BINARY_DIR}/glog-${GNSSSDR_GLOG_LOCAL_VERSION}/.libs/${CMAKE_FIND_LIBRARY_PREFIXES}glog${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + endif() + set(LOCAL_GLOG true CACHE STRING "Glog downloaded and built automatically" FORCE) -else() - add_library(glog-${GNSSSDR_GLOG_LOCAL_VERSION} UNKNOWN IMPORTED) - set_property(TARGET glog-${GNSSSDR_GLOG_LOCAL_VERSION} PROPERTY IMPORTED_LOCATION "${GLOG_LIBRARIES}") endif() if(NOT ENABLE_LOG) message(STATUS "Logging is not enabled") - add_definitions(-DGOOGLE_STRIP_LOG=1) + target_compile_definitions(Glog::glog PUBLIC -DGOOGLE_STRIP_LOG=1) endif() @@ -967,6 +1141,14 @@ if(ARMADILLO_FOUND) if(${ARMADILLO_VERSION_STRING} VERSION_LESS ${GNSSSDR_ARMADILLO_MIN_VERSION}) set(ARMADILLO_FOUND false) set(ENABLE_OWN_ARMADILLO true) + else() + add_library(Armadillo::armadillo SHARED IMPORTED) + set_target_properties(Armadillo::armadillo PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${ARMADILLO_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${ARMADILLO_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${ARMADILLO_LIBRARIES}" + ) endif() endif() @@ -1028,17 +1210,22 @@ if(NOT ARMADILLO_FOUND OR ENABLE_OWN_ARMADILLO) # Set up variables ExternalProject_Get_Property(armadillo-${armadillo_RELEASE} binary_dir) - set(ARMADILLO_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/armadillo/armadillo-${armadillo_RELEASE}/include) + #set(ARMADILLO_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/armadillo/armadillo-${armadillo_RELEASE}/include) if(NOT GFORTRAN) set(GFORTRAN "") endif() set(ARMADILLO_LIBRARIES ${BLAS} ${LAPACK} ${GFORTRAN} ${binary_dir}/${CMAKE_FIND_LIBRARY_PREFIXES}armadillo${CMAKE_STATIC_LIBRARY_SUFFIX}) set(LOCAL_ARMADILLO true CACHE STRING "Armadillo downloaded and built automatically" FORCE) set(ARMADILLO_VERSION_STRING ${armadillo_RELEASE}) -else() - set(armadillo_RELEASE ${ARMADILLO_VERSION_STRING}) - add_library(armadillo-${armadillo_RELEASE} UNKNOWN IMPORTED) - set_property(TARGET armadillo-${armadillo_RELEASE} PROPERTY IMPORTED_LOCATION "${ARMADILLO_LIBRARIES}") + file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/armadillo/armadillo-${armadillo_RELEASE}/include) + add_library(Armadillo::armadillo STATIC IMPORTED) + add_dependencies(Armadillo::armadillo armadillo-${armadillo_RELEASE}) + set_target_properties(Armadillo::armadillo PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${binary_dir}/${CMAKE_FIND_LIBRARY_PREFIXES}armadillo${CMAKE_STATIC_LIBRARY_SUFFIX}" + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/armadillo/armadillo-${armadillo_RELEASE}/include" + INTERFACE_LINK_LIBRARIES "${binary_dir}/${CMAKE_FIND_LIBRARY_PREFIXES}armadillo${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) endif() @@ -1165,6 +1352,7 @@ if(NOT MATIO_FOUND OR MATIO_VERSION_STRING VERSION_LESS ${GNSSSDR_MATIO_MIN_VERS set(HDF5_BASE_DIR /usr/local) endif() endif() + if(CMAKE_VERSION VERSION_LESS 3.2) ExternalProject_Add(matio-${GNSSSDR_MATIO_LOCAL_VERSION} PREFIX ${CMAKE_CURRENT_BINARY_DIR}/matio @@ -1173,7 +1361,7 @@ if(NOT MATIO_FOUND OR MATIO_VERSION_STRING VERSION_LESS ${GNSSSDR_MATIO_MIN_VERS SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/matio/matio-${GNSSSDR_MATIO_LOCAL_VERSION} UPDATE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/matio/matio-${GNSSSDR_MATIO_LOCAL_VERSION}/autogen.sh CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/matio/matio-${GNSSSDR_MATIO_LOCAL_VERSION}/configure --with-hdf5=${HDF5_BASE_DIR} --with-zlib=${ZLIB_BASE_DIR} --with-default-file-ver=7.3 --enable-mat73=yes --prefix= - BUILD_COMMAND make + BUILD_COMMAND $(MAKE) ) else() ExternalProject_Add(matio-${GNSSSDR_MATIO_LOCAL_VERSION} @@ -1183,13 +1371,23 @@ if(NOT MATIO_FOUND OR MATIO_VERSION_STRING VERSION_LESS ${GNSSSDR_MATIO_MIN_VERS SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/matio/matio-${GNSSSDR_MATIO_LOCAL_VERSION} UPDATE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/matio/matio-${GNSSSDR_MATIO_LOCAL_VERSION}/autogen.sh CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/matio/matio-${GNSSSDR_MATIO_LOCAL_VERSION}/configure --with-hdf5=${HDF5_BASE_DIR} --with-zlib=${ZLIB_BASE_DIR} --with-default-file-ver=7.3 --enable-mat73=yes --prefix= - BUILD_COMMAND make + BUILD_COMMAND $(MAKE) BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/matio/lib/${CMAKE_FIND_LIBRARY_PREFIXES}matio${CMAKE_STATIC_LIBRARY_SUFFIX} ) endif() - set(MATIO_LIBRARIES ${CMAKE_CURRENT_BINARY_DIR}/matio/lib/${CMAKE_FIND_LIBRARY_PREFIXES}matio${CMAKE_STATIC_LIBRARY_SUFFIX} ${HDF5_LIBRARIES} ${ZLIB_LIBRARIES}) - set(MATIO_INCLUDE_DIRS ${CMAKE_CURRENT_BINARY_DIR}/matio/include) set(MATIO_LOCAL true) + if(NOT TARGET Matio::matio) + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/matio/include) + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/matio/lib) + add_library(Matio::matio SHARED IMPORTED) + add_dependencies(Matio::matio matio-${GNSSSDR_MATIO_LOCAL_VERSION}) + set_target_properties(Matio::matio PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/matio/lib/${CMAKE_FIND_LIBRARY_PREFIXES}matio${CMAKE_SHARED_LIBRARY_SUFFIX}" + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}/matio/include" + INTERFACE_LINK_LIBRARIES "${CMAKE_CURRENT_BINARY_DIR}/matio/lib/${CMAKE_FIND_LIBRARY_PREFIXES}matio${CMAKE_SHARED_LIBRARY_SUFFIX}" + ) + endif() else() message(STATUS " The hdf5 library has not been found in your system.") message(STATUS " Please try to install it by doing:") @@ -1250,9 +1448,18 @@ else() INSTALL_COMMAND "" ) endif() - set(PUGIXML_LIBRARY ${CMAKE_CURRENT_BINARY_DIR}/pugixml-${GNSSSDR_PUGIXML_LOCAL_VERSION}/${CMAKE_FIND_LIBRARY_PREFIXES}pugixml${CMAKE_STATIC_LIBRARY_SUFFIX}) - set(PUGIXML_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/pugixml/pugixml-${GNSSSDR_PUGIXML_LOCAL_VERSION}/src) - set(PUGIXML_LOCAL true) + + if(NOT TARGET Pugixml::pugixml) + file(MAKE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/pugixml/pugixml-${GNSSSDR_PUGIXML_LOCAL_VERSION}/src) + add_library(Pugixml::pugixml STATIC IMPORTED) + add_dependencies(Pugixml::pugixml pugixml-${GNSSSDR_PUGIXML_LOCAL_VERSION}) + set_target_properties(Pugixml::pugixml PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/pugixml-${GNSSSDR_PUGIXML_LOCAL_VERSION}/${CMAKE_FIND_LIBRARY_PREFIXES}pugixml${CMAKE_STATIC_LIBRARY_SUFFIX}" + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/pugixml/pugixml-${GNSSSDR_PUGIXML_LOCAL_VERSION}/src" + INTERFACE_LINK_LIBRARIES "${CMAKE_CURRENT_BINARY_DIR}/pugixml-${GNSSSDR_PUGIXML_LOCAL_VERSION}/${CMAKE_FIND_LIBRARY_PREFIXES}pugixml${CMAKE_STATIC_LIBRARY_SUFFIX}" + ) + endif() endif() @@ -1581,7 +1788,7 @@ endif() if(NOT ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND NOT (CMAKE_CXX_COMPILER_ID MATCHES "Clang")) AND NOT WIN32) if(NOT (CMAKE_VERSION VERSION_LESS "3.1")) set(CMAKE_C_STANDARD 11) - set(CMAKE_CXX_STANDARD 14) + set(CMAKE_CXX_STANDARD 11) endif() endif() diff --git a/cmake/Modules/FindGFLAGS.cmake b/cmake/Modules/FindGFLAGS.cmake index 31739e216..db1f9d891 100644 --- a/cmake/Modules/FindGFLAGS.cmake +++ b/cmake/Modules/FindGFLAGS.cmake @@ -1,4 +1,4 @@ -# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2011-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -26,6 +26,10 @@ # GFlags_INCLUDE_DIRS # GFlags_LIBS # GFlags_LIBRARY_DIRS +# +# Provides the following imported target: +# Gflags::gflags +# if(APPLE) find_path(GFlags_ROOT_DIR @@ -95,9 +99,6 @@ if(GFlags_ROOT_DIR) else() set(GFLAGS_GREATER_20 FALSE) endif() - # set up include and link directory - include_directories(${GFlags_INCLUDE_DIRS}) - link_directories(${GFlags_LIBRARY_DIRS}) message(STATUS "gflags library found at ${GFlags_lib}") set(GFlags_LIBS ${GFlags_lib}) set(GFlags_FOUND true) @@ -109,3 +110,13 @@ endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args(GFLAGS DEFAULT_MSG GFlags_LIBS GFlags_INCLUDE_DIRS) + +if(GFLAGS_FOUND AND NOT TARGET Gflags::gflags) + add_library(Gflags::gflags SHARED IMPORTED) + set_target_properties(Gflags::gflags PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${GFlags_LIBS}" + INTERFACE_INCLUDE_DIRECTORIES "${GFlags_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${GFlags_LIBS}" + ) +endif() diff --git a/cmake/Modules/FindGLOG.cmake b/cmake/Modules/FindGLOG.cmake index 2d8f154f3..b85339195 100644 --- a/cmake/Modules/FindGLOG.cmake +++ b/cmake/Modules/FindGLOG.cmake @@ -1,4 +1,4 @@ -# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2011-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -27,6 +27,9 @@ # # GLOG_ROOT - Can be set to Glog install path or Windows build path # +# Provides the following imported target: +# Glog::glog +# if(NOT DEFINED GLOG_ROOT) set(GLOG_ROOT /usr /usr/local) @@ -135,6 +138,12 @@ else() string(REGEX REPLACE "/libglog.so" "" GLOG_LIBRARIES_DIR ${GLOG_LIBRARIES}) endif() -if(GLOG_FOUND) - # _GLOG_APPEND_LIBRARIES(GLOG GLOG_LIBRARIES) +if(GLOG_FOUND AND NOT TARGET Glog::glog) + add_library(Glog::glog SHARED IMPORTED) + set_target_properties(Glog::glog PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${GLOG_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${GLOG_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${GLOG_LIBRARIES}" + ) endif() diff --git a/cmake/Modules/FindGPSTK.cmake b/cmake/Modules/FindGPSTK.cmake index f5ecb667e..1959c3ff6 100644 --- a/cmake/Modules/FindGPSTK.cmake +++ b/cmake/Modules/FindGPSTK.cmake @@ -1,4 +1,4 @@ -# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2011-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -32,18 +32,30 @@ find_path(GPSTK_INCLUDE_DIR gpstk/Rinex3ObsBase.hpp set(GPSTK_NAMES ${GPSTK_NAMES} gpstk libgpstk) +include(GNUInstallDirs) + find_library(GPSTK_LIBRARY NAMES ${GPSTK_NAMES} HINTS /usr/lib /usr/local/lib + /usr/${CMAKE_INSTALL_LIBDIR} + /usr/local/${CMAKE_INSTALL_LIBDIR} /opt/local/lib - ${GPSTK_ROOT}/lib - $ENV{GPSTK_ROOT}/lib - ${GPSTK_ROOT}/lib64 - $ENV{GPSTK_ROOT}/lib64 + ${GPSTK_ROOT}/${CMAKE_INSTALL_LIBDIR} + $ENV{GPSTK_ROOT}/${CMAKE_INSTALL_LIBDIR} ) # handle the QUIETLY and REQUIRED arguments and set GPSTK_FOUND to TRUE if # all listed variables are TRUE include(FindPackageHandleStandardArgs) find_package_handle_standard_args(GPSTK DEFAULT_MSG GPSTK_LIBRARY GPSTK_INCLUDE_DIR) -mark_as_advanced(GPSTK_INCLUDE_DIR GPSTK_LIBRARY GPSTK_INCLUDE_DIR) +mark_as_advanced(GPSTK_LIBRARY GPSTK_INCLUDE_DIR) + +if(GPSTK_FOUND AND NOT TARGET Gpstk::gpstk) + add_library(Gpstk::gpstk SHARED IMPORTED) + set_target_properties(Gpstk::gpstk PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${GPSTK_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${GPSTK_INCLUDE_DIR};${GPSTK_INCLUDE_DIR}/gpstk" + INTERFACE_LINK_LIBRARIES "${GPSTK_LIBRARY}" + ) +endif() diff --git a/cmake/Modules/FindMATIO.cmake b/cmake/Modules/FindMATIO.cmake index 08facf069..623939690 100644 --- a/cmake/Modules/FindMATIO.cmake +++ b/cmake/Modules/FindMATIO.cmake @@ -1,4 +1,4 @@ -# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2011-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -26,6 +26,9 @@ # MATIO_INCLUDE_DIRS - where to find matio.h, etc.. # MATIO_VERSION_STRING - version number as a string (e.g.: "1.3.4") # +# Provides the following imported target: +# Matio::matio +# #============================================================================= # Copyright 2015 Avtech Scientific # @@ -127,3 +130,13 @@ else() set(MATIO_LIBRARIES) set(MATIO_INCLUDE_DIRS) endif() + +if(MATIO_FOUND AND NOT TARGET Matio::matio) + add_library(Matio::matio SHARED IMPORTED) + set_target_properties(Matio::matio PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${MATIO_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${MATIO_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "${MATIO_LIBRARY}" + ) +endif() diff --git a/cmake/Modules/FindPUGIXML.cmake b/cmake/Modules/FindPUGIXML.cmake index 236a4c95a..3232285c3 100644 --- a/cmake/Modules/FindPUGIXML.cmake +++ b/cmake/Modules/FindPUGIXML.cmake @@ -1,4 +1,4 @@ -# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2011-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -22,6 +22,10 @@ # PUGIXML_INCLUDE_DIR - header location # PUGIXML_LIBRARIES - library to link against # PUGIXML_FOUND - true if pugixml was found. +# +# Provides the following imported target: +# Pugixml::pugixml +# find_path(PUGIXML_INCLUDE_DIR NAMES pugixml.hpp @@ -73,3 +77,13 @@ else() endif() mark_as_advanced(PUGIXML_LIBRARY PUGIXML_INCLUDE_DIR) + +if(PUGIXML_FOUND AND NOT TARGET Pugixml::pugixml) + add_library(Pugixml::pugixml SHARED IMPORTED) + set_target_properties(Pugixml::pugixml PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${PUGIXML_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${PUGIXML_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "${PUGIXML_LIBRARY}" + ) +endif() diff --git a/cmake/Modules/FindVOLK.cmake b/cmake/Modules/FindVOLK.cmake index 97191179c..26d236625 100644 --- a/cmake/Modules/FindVOLK.cmake +++ b/cmake/Modules/FindVOLK.cmake @@ -1,4 +1,4 @@ -# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2011-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -15,6 +15,11 @@ # You should have received a copy of the GNU General Public License # along with GNSS-SDR. If not, see . +# +# Provides the following imported target: +# Volk::volk +# + ######################################################################## # Find VOLK (Vector-Optimized Library of Kernels) ######################################################################## @@ -74,3 +79,13 @@ find_library(VOLK_LIBRARIES include(FindPackageHandleStandardArgs) find_package_handle_standard_args(VOLK DEFAULT_MSG VOLK_LIBRARIES VOLK_INCLUDE_DIRS) mark_as_advanced(VOLK_LIBRARIES VOLK_INCLUDE_DIRS VOLK_VERSION) + +if(VOLK_FOUND AND NOT TARGET Volk::volk) + add_library(Volk::volk SHARED IMPORTED) + set_target_properties(Volk::volk PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${VOLK_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${VOLK_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${VOLK_LIBRARIES}" + ) +endif() diff --git a/cmake/Modules/FindVOLKGNSSSDR.cmake b/cmake/Modules/FindVOLKGNSSSDR.cmake index 5cdc4e61d..448187cad 100644 --- a/cmake/Modules/FindVOLKGNSSSDR.cmake +++ b/cmake/Modules/FindVOLKGNSSSDR.cmake @@ -1,4 +1,4 @@ -# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2011-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -15,6 +15,12 @@ # You should have received a copy of the GNU General Public License # along with GNSS-SDR. If not, see . +# +# Provides the following imported target: +# Volkgnsssdr::volkgnsssdr +# + + ######################################################################## # Find VOLK (Vector-Optimized Library of Kernels) GNSS-SDR library ######################################################################## @@ -51,3 +57,14 @@ find_library(VOLK_GNSSSDR_LIBRARIES include(FindPackageHandleStandardArgs) find_package_handle_standard_args(VOLKGNSSSDR DEFAULT_MSG VOLK_GNSSSDR_LIBRARIES VOLK_GNSSSDR_INCLUDE_DIRS) mark_as_advanced(VOLK_GNSSSDR_LIBRARIES VOLK_GNSSSDR_INCLUDE_DIRS) + + +if(GFLAGS_FOUND AND NOT TARGET Volkgnsssdr::volkgnsssdr) + add_library(Volkgnsssdr::volkgnsssdr SHARED IMPORTED) + set_target_properties(Volkgnsssdr::volkgnsssdr PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${VOLK_GNSSSDR_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${VOLK_GNSSSDR_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${VOLK_GNSSSDR_LIBRARIES}" + ) +endif() diff --git a/docs/changelog b/docs/changelog index 8d276b5ce..692a939ef 100644 --- a/docs/changelog +++ b/docs/changelog @@ -4,6 +4,10 @@ - Added the BeiDou B1I receiver chain. +### Improvements in Portability: + +- CMake scripts now follow a modern approach (targets and properties) but still work in 2.8.12 + ## [0.0.10](https://github.com/gnss-sdr/gnss-sdr/releases/tag/v0.0.10) diff --git a/src/algorithms/PVT/adapters/CMakeLists.txt b/src/algorithms/PVT/adapters/CMakeLists.txt index d8c055506..9b7adafe5 100644 --- a/src/algorithms/PVT/adapters/CMakeLists.txt +++ b/src/algorithms/PVT/adapters/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -17,10 +17,6 @@ # -if(Boost_VERSION LESS 105800) - add_definitions(-DOLD_BOOST=1) -endif() - set(PVT_ADAPTER_SOURCES rtklib_pvt.cc ) @@ -29,28 +25,27 @@ set(PVT_ADAPTER_HEADERS rtklib_pvt.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/PVT/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/PVT/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${ARMADILLO_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} -) - add_library(pvt_adapters ${PVT_ADAPTER_SOURCES} ${PVT_ADAPTER_HEADERS}) source_group(Headers FILES ${PVT_ADAPTER_HEADERS}) target_link_libraries(pvt_adapters - pvt_gr_blocks - ${ARMADILLO_LIBRARIES} - ${GNURADIO_RUNTIME_LIBRARIES} + PUBLIC + pvt_gr_blocks + Armadillo::armadillo + Gnuradio::runtime + gnss_system_parameters + gnss_rx + pvt_lib + PRIVATE + Boost::serialization +) + +if(Boost_VERSION LESS 105800) + target_compile_definitions(pvt_adapters PUBLIC -DOLD_BOOST=1) +endif() + +set_property(TARGET pvt_adapters + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ ) diff --git a/src/algorithms/PVT/gnuradio_blocks/CMakeLists.txt b/src/algorithms/PVT/gnuradio_blocks/CMakeLists.txt index eb58c0894..7d9994704 100644 --- a/src/algorithms/PVT/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/PVT/gnuradio_blocks/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -16,11 +16,6 @@ # along with GNSS-SDR. If not, see . # - -if(Boost_VERSION LESS 105800) - add_definitions(-DOLD_BOOST=1) -endif() - set(PVT_GR_BLOCKS_SOURCES rtklib_pvt_cc.cc ) @@ -29,21 +24,35 @@ set(PVT_GR_BLOCKS_HEADERS rtklib_pvt_cc.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/PVT/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${ARMADILLO_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} +add_library(pvt_gr_blocks ${PVT_GR_BLOCKS_SOURCES} ${PVT_GR_BLOCKS_HEADERS}) + +source_group(Headers FILES ${PVT_GR_BLOCKS_HEADERS}) + +target_link_libraries(pvt_gr_blocks + PUBLIC + Boost::date_time + pvt_lib + Gnuradio::runtime + gnss_system_parameters + gnss_rx + PRIVATE + Glog::glog + Boost::filesystem + Boost::system ) -add_library(pvt_gr_blocks ${PVT_GR_BLOCKS_SOURCES} ${PVT_GR_BLOCKS_HEADERS}) -source_group(Headers FILES ${PVT_GR_BLOCKS_HEADERS}) -target_link_libraries(pvt_gr_blocks pvt_lib ${ARMADILLO_LIBRARIES}) +target_include_directories(pvt_gr_blocks + PUBLIC + ${CMAKE_SOURCE_DIR}/src/algorithms/PVT/libs + ${CMAKE_SOURCE_DIR}/src/core/system_parameters +) + +if(Boost_VERSION LESS 105800) + target_compile_definitions(pvt_gr_blocks PUBLIC -DOLD_BOOST=1) +endif() + +set_property(TARGET pvt_gr_blocks + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ + $ +) diff --git a/src/algorithms/PVT/libs/CMakeLists.txt b/src/algorithms/PVT/libs/CMakeLists.txt index 25a4c592a..ce8d2bcad 100644 --- a/src/algorithms/PVT/libs/CMakeLists.txt +++ b/src/algorithms/PVT/libs/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -16,7 +16,6 @@ # along with GNSS-SDR. If not, see . # -add_definitions(-DGNSS_SDR_VERSION="${VERSION}") set(PVT_LIB_SOURCES pvt_solution.cc @@ -46,48 +45,35 @@ set(PVT_LIB_HEADERS pvt_conf.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/PVT/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib - ${Boost_INCLUDE_DIRS} - ${ARMADILLO_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ${MATIO_INCLUDE_DIRS} -) - list(SORT PVT_LIB_HEADERS) list(SORT PVT_LIB_SOURCES) add_library(pvt_lib ${PVT_LIB_SOURCES} ${PVT_LIB_HEADERS}) + source_group(Headers FILES ${PVT_LIB_HEADERS}) -if(MATIO_FOUND) - add_dependencies(pvt_lib - glog-${glog_RELEASE} - armadillo-${armadillo_RELEASE} - ) -else() - add_dependencies(pvt_lib - glog-${glog_RELEASE} - armadillo-${armadillo_RELEASE} - matio-${GNSSSDR_MATIO_LOCAL_VERSION} - ) -endif() - target_link_libraries(pvt_lib - rtklib_lib - gnss_sdr_flags - gnss_sp_libs - ${Boost_LIBRARIES} - ${GLOG_LIBRARIES} - ${ARMADILLO_LIBRARIES} - ${BLAS} - ${LAPACK} - ${MATIO_LIBRARIES} + PUBLIC + Armadillo::armadillo + Boost::date_time + gnss_system_parameters + gnss_sp_libs + rtklib_lib + gnss_rx + PRIVATE + Boost::filesystem + Boost::system + Glog::glog + Matio::matio +) + +target_include_directories(pvt_lib PUBLIC ${CMAKE_SOURCE_DIR}/src/algorithms/libs ${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib) + +target_compile_definitions(pvt_lib PUBLIC -DGNSS_SDR_VERSION="${VERSION}") + +set_property(TARGET pvt_lib APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ + $ + $ + $ ) diff --git a/src/algorithms/PVT/libs/nmea_printer.h b/src/algorithms/PVT/libs/nmea_printer.h index c73ef91ff..6e18d7451 100644 --- a/src/algorithms/PVT/libs/nmea_printer.h +++ b/src/algorithms/PVT/libs/nmea_printer.h @@ -38,6 +38,7 @@ #include "rtklib_solver.h" #include +#include #include diff --git a/src/algorithms/PVT/libs/rinex_printer.cc b/src/algorithms/PVT/libs/rinex_printer.cc index e630b8dd8..0f686e460 100644 --- a/src/algorithms/PVT/libs/rinex_printer.cc +++ b/src/algorithms/PVT/libs/rinex_printer.cc @@ -31,7 +31,6 @@ #include "rinex_printer.h" #include #include -#include #include #include // for create_directories, exists #include // for path, operator<< diff --git a/src/algorithms/PVT/libs/rtcm_printer.h b/src/algorithms/PVT/libs/rtcm_printer.h index aca7197bb..c5ea3a54a 100644 --- a/src/algorithms/PVT/libs/rtcm_printer.h +++ b/src/algorithms/PVT/libs/rtcm_printer.h @@ -36,8 +36,8 @@ #include "rtcm.h" #include // std::ofstream -#include // std::shared_ptr - +#include +#include // std::shared_ptr /*! * \brief This class provides a implementation of a subset of the RTCM Standard 10403.2 messages diff --git a/src/algorithms/acquisition/adapters/CMakeLists.txt b/src/algorithms/acquisition/adapters/CMakeLists.txt index 553bfd2b3..5059da317 100644 --- a/src/algorithms/acquisition/adapters/CMakeLists.txt +++ b/src/algorithms/acquisition/adapters/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -83,33 +83,29 @@ if(OPENCL_FOUND) ) endif() -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${Boost_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${ARMADILLO_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${GNURADIO_BLOCKS_INCLUDE_DIRS} - ${VOLK_GNSSSDR_INCLUDE_DIRS} -) - list(SORT ACQ_ADAPTER_HEADERS) list(SORT ACQ_ADAPTER_SOURCES) + add_library(acq_adapters ${ACQ_ADAPTER_SOURCES} ${ACQ_ADAPTER_HEADERS}) + source_group(Headers FILES ${ACQ_ADAPTER_HEADERS}) + target_link_libraries(acq_adapters - acquisition_lib - gnss_sp_libs - gnss_sdr_flags - acq_gr_blocks - ${Boost_LIBRARIES} - ${GNURADIO_RUNTIME_LIBRARIES} - ${GNURADIO_BLOCKS_LIBRARIES} + PUBLIC + gnss_sp_libs + gnss_sdr_flags + acq_gr_blocks + rx_core_lib + Gnuradio::blocks + gnss_system_parameters + PRIVATE + Boost::boost + Glog::glog + Volkgnsssdr::volkgnsssdr + acquisition_lib +) + +set_property(TARGET acq_adapters + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ ) diff --git a/src/algorithms/acquisition/adapters/beidou_b1i_pcps_acquisition.h b/src/algorithms/acquisition/adapters/beidou_b1i_pcps_acquisition.h index 711c5a13b..13e623949 100644 --- a/src/algorithms/acquisition/adapters/beidou_b1i_pcps_acquisition.h +++ b/src/algorithms/acquisition/adapters/beidou_b1i_pcps_acquisition.h @@ -34,7 +34,6 @@ #ifndef GNSS_SDR_BEIDOU_B1I_PCPS_ACQUISITION_H_ #define GNSS_SDR_BEIDOU_B1I_PCPS_ACQUISITION_H_ -#include "acq_conf.h" #include "acquisition_interface.h" #include "complex_byte_to_float_x2.h" #include "gnss_synchro.h" diff --git a/src/algorithms/acquisition/gnuradio_blocks/CMakeLists.txt b/src/algorithms/acquisition/gnuradio_blocks/CMakeLists.txt index 60825d6f0..abce9ac5b 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/acquisition/gnuradio_blocks/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -49,21 +49,6 @@ if(OPENCL_FOUND) set(ACQ_GR_BLOCKS_HEADERS ${ACQ_GR_BLOCKS_HEADERS} pcps_opencl_acquisition_cc.h) endif() -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${Boost_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${ARMADILLO_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${VOLK_GNSSSDR_INCLUDE_DIRS} - ${MATIO_INCLUDE_DIRS} -) if(OPENCL_FOUND) include_directories(${OPENCL_INCLUDE_DIRS}) @@ -79,32 +64,30 @@ list(SORT ACQ_GR_BLOCKS_SOURCES) add_library(acq_gr_blocks ${ACQ_GR_BLOCKS_SOURCES} ${ACQ_GR_BLOCKS_HEADERS}) source_group(Headers FILES ${ACQ_GR_BLOCKS_HEADERS}) -if(ENABLE_FPGA) - target_link_libraries(acq_gr_blocks +target_link_libraries(acq_gr_blocks + PUBLIC + Gnuradio::runtime + Gnuradio::fft + Volk::volk + gnss_system_parameters acquisition_lib - gnss_sp_libs - gnss_system_parameters - ${GNURADIO_RUNTIME_LIBRARIES} - ${GNURADIO_FFT_LIBRARIES} - ${VOLK_LIBRARIES} - ${VOLK_GNSSSDR_LIBRARIES} ${OPT_LIBRARIES} - ${OPT_ACQUISITION_LIBRARIES} - ) -else() - target_link_libraries(acq_gr_blocks + PRIVATE gnss_sp_libs - gnss_system_parameters - ${GNURADIO_RUNTIME_LIBRARIES} - ${GNURADIO_FFT_LIBRARIES} - ${VOLK_LIBRARIES} - ${VOLK_GNSSSDR_LIBRARIES} - ${OPT_LIBRARIES} - ${MATIO_LIBRARIES} - ${OPT_ACQUISITION_LIBRARIES} - ) + Glog::glog + Boost::filesystem + Matio::matio + Volkgnsssdr::volkgnsssdr + gnss_rx +) + +if(OPENCL_FOUND) + target_include_directories(acq_gr_blocks PUBLIC ${OPENCL_INCLUDE_DIRS}) endif() -if(NOT VOLKGNSSSDR_FOUND) - add_dependencies(acq_gr_blocks volk_gnsssdr_module) -endif() +target_include_directories(acq_gr_blocks PUBLIC ${CMAKE_SOURCE_DIR}/src/algorithms/libs) + +set_property(TARGET acq_gr_blocks + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) diff --git a/src/algorithms/acquisition/libs/CMakeLists.txt b/src/algorithms/acquisition/libs/CMakeLists.txt index c3f368be6..4abdf4e12 100644 --- a/src/algorithms/acquisition/libs/CMakeLists.txt +++ b/src/algorithms/acquisition/libs/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -19,17 +19,6 @@ if(ENABLE_FPGA) set(ACQUISITION_LIB_SOURCES fpga_acquisition.cc) set(ACQUISITION_LIB_HEADERS fpga_acquisition.h) - include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${VOLK_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${VOLK_GNSSSDR_INCLUDE_DIRS} - ) endif() set(ACQUISITION_LIB_HEADERS ${ACQUISITION_LIB_HEADERS} acq_conf.h) @@ -46,13 +35,17 @@ add_library(acquisition_lib source_group(Headers FILES ${ACQUISITION_LIB_HEADERS}) target_link_libraries(acquisition_lib - ${VOLK_LIBRARIES} - ${VOLK_GNSSSDR_LIBRARIES} - ${GNURADIO_RUNTIME_LIBRARIES} + PUBLIC + Volk::volk + Gnuradio::fft + PRIVATE + Glog::glog + gnss_system_parameters + gnss_rx + gnss_sp_libs ) -if(VOLKGNSSSDR_FOUND) - add_dependencies(acquisition_lib glog-${glog_RELEASE}) -else() - add_dependencies(acquisition_lib glog-${glog_RELEASE} volk_gnsssdr_module) -endif() +set_property(TARGET acquisition_lib + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) diff --git a/src/algorithms/channel/adapters/CMakeLists.txt b/src/algorithms/channel/adapters/CMakeLists.txt index 65591834c..c54b521e1 100644 --- a/src/algorithms/channel/adapters/CMakeLists.txt +++ b/src/algorithms/channel/adapters/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -19,19 +19,6 @@ set(CHANNEL_ADAPTER_SOURCES channel.cc) set(CHANNEL_ADAPTER_HEADERS channel.h) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/channel/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} -) - add_library(channel_adapters ${CHANNEL_ADAPTER_SOURCES} ${CHANNEL_ADAPTER_HEADERS} @@ -40,8 +27,16 @@ add_library(channel_adapters source_group(Headers FILES ${CHANNEL_ADAPTER_HEADERS}) target_link_libraries(channel_adapters - channel_fsm - ${GNURADIO_RUNTIME_LIBRARIES} - ${Boost_LIBRARIES} - gnss_sdr_flags + PUBLIC + Gnuradio::runtime + channel_fsm + gnss_rx + PRIVATE + gnss_sdr_flags + Glog::glog +) + +set_property(TARGET channel_adapters + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ ) diff --git a/src/algorithms/channel/libs/CMakeLists.txt b/src/algorithms/channel/libs/CMakeLists.txt index 70bee59f9..032b13ef4 100644 --- a/src/algorithms/channel/libs/CMakeLists.txt +++ b/src/algorithms/channel/libs/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -26,23 +26,21 @@ set(CHANNEL_FSM_HEADERS channel_msg_receiver_cc.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/channel/adapters - ${Boost_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} -) - list(SORT CHANNEL_FSM_HEADERS) list(SORT CHANNEL_FSM_SOURCES) add_library(channel_fsm ${CHANNEL_FSM_SOURCES} ${CHANNEL_FSM_HEADERS}) source_group(Headers FILES ${CHANNEL_FSM_HEADERS}) -add_dependencies(channel_fsm glog-${glog_RELEASE}) -target_link_libraries(channel_fsm gnss_rx) +target_link_libraries(channel_fsm + PUBLIC + gnss_rx + Gnuradio::runtime + PRIVATE + Glog::glog +) + +set_property(TARGET channel_fsm + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) diff --git a/src/algorithms/conditioner/adapters/CMakeLists.txt b/src/algorithms/conditioner/adapters/CMakeLists.txt index 38d606824..a71299664 100644 --- a/src/algorithms/conditioner/adapters/CMakeLists.txt +++ b/src/algorithms/conditioner/adapters/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -27,21 +27,21 @@ set(COND_ADAPTER_HEADERS array_signal_conditioner.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} -) - list(SORT COND_ADAPTER_HEADERS) list(SORT COND_ADAPTER_SOURCES) add_library(conditioner_adapters ${COND_ADAPTER_SOURCES} ${COND_ADAPTER_HEADERS}) source_group(Headers FILES ${COND_ADAPTER_HEADERS}) -add_dependencies(conditioner_adapters glog-${glog_RELEASE}) + +target_link_libraries(conditioner_adapters + PUBLIC + gnss_rx + Gnuradio::runtime + PRIVATE + Glog::glog +) + +set_property(TARGET conditioner_adapters + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) diff --git a/src/algorithms/data_type_adapter/adapters/CMakeLists.txt b/src/algorithms/data_type_adapter/adapters/CMakeLists.txt index 1977f7a5a..15d1af7e8 100644 --- a/src/algorithms/data_type_adapter/adapters/CMakeLists.txt +++ b/src/algorithms/data_type_adapter/adapters/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -35,18 +35,6 @@ set(DATATYPE_ADAPTER_HEADERS ishort_to_complex.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/algorithms/data_type_adapter/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${VOLK_INCLUDE_DIRS} -) - list(SORT DATATYPE_ADAPTER_HEADERS) list(SORT DATATYPE_ADAPTER_SOURCES) @@ -56,9 +44,25 @@ add_library(datatype_adapters ) source_group(Headers FILES ${DATATYPE_ADAPTER_HEADERS}) -add_dependencies(datatype_adapters glog-${glog_RELEASE}) + target_link_libraries(datatype_adapters - data_type_gr_blocks - ${GNURADIO_RUNTIME_LIBRARIES} - ${GNURADIO_BLOCKS_LIBRARIES} + PUBLIC + gnss_system_parameters + gnss_rx + data_type_gr_blocks + gnss_sp_libs + Gnuradio::blocks + PRIVATE + Glog::glog + Volk::volk +) + +target_include_directories(datatype_adapters + PUBLIC + ${CMAKE_SOURCE_DIR}/src/algorithms/libs +) + +set_property(TARGET datatype_adapters + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ ) diff --git a/src/algorithms/data_type_adapter/gnuradio_blocks/CMakeLists.txt b/src/algorithms/data_type_adapter/gnuradio_blocks/CMakeLists.txt index b4f429db9..d3d25038b 100644 --- a/src/algorithms/data_type_adapter/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/data_type_adapter/gnuradio_blocks/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -29,12 +29,6 @@ set(DATA_TYPE_GR_BLOCKS_HEADERS interleaved_byte_to_complex_short.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${VOLK_INCLUDE_DIRS} -) - list(SORT DATA_TYPE_GR_BLOCKS_HEADERS) list(SORT DATA_TYPE_GR_BLOCKS_SOURCES) @@ -46,6 +40,15 @@ add_library(data_type_gr_blocks source_group(Headers FILES ${DATA_TYPE_GR_BLOCKS_HEADERS}) target_link_libraries(data_type_gr_blocks - ${GNURADIO_RUNTIME_LIBRARIES} - ${VOLK_LIBRARIES} + PUBLIC + Gnuradio::runtime + Boost::boost + gnss_sp_libs + PRIVATE + Volk::volk +) + +set_property(TARGET data_type_gr_blocks + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ ) diff --git a/src/algorithms/input_filter/adapters/CMakeLists.txt b/src/algorithms/input_filter/adapters/CMakeLists.txt index 8153c6c3c..296672235 100644 --- a/src/algorithms/input_filter/adapters/CMakeLists.txt +++ b/src/algorithms/input_filter/adapters/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -34,22 +34,6 @@ set(INPUT_FILTER_ADAPTER_HEADERS notch_filter_lite.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/algorithms/input_filter/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${VOLK_INCLUDE_DIRS} -) - -if(${PC_GNURADIO_RUNTIME_VERSION} VERSION_GREATER "3.7.13.4") - add_definitions(-DGR_GREATER_38=1) -endif() - list(SORT INPUT_FILTER_ADAPTER_HEADERS) list(SORT INPUT_FILTER_ADAPTER_SOURCES) @@ -59,11 +43,26 @@ add_library(input_filter_adapters ) source_group(Headers FILES ${INPUT_FILTER_ADAPTER_HEADERS}) -add_dependencies(input_filter_adapters glog-${glog_RELEASE} gnss_sp_libs) + target_link_libraries(input_filter_adapters - input_filter_gr_blocks - ${GNURADIO_RUNTIME_LIBRARIES} - ${GNURADIO_BLOCKS_LIBRARIES} - ${GNURADIO_FILTER_LIBRARIES} - gnss_sp_libs + PUBLIC + input_filter_gr_blocks + Gnuradio::filter + Gnuradio::blocks + gnss_sp_libs + gnss_rx + PRIVATE + Volk::volk +) + +target_include_directories(input_filter_adapters PUBLIC ${CMAKE_SOURCE_DIR}/src/algorithms/libs) + + +if(${PC_GNURADIO_RUNTIME_VERSION} VERSION_GREATER "3.7.13.4") + target_compile_definitions(input_filter_adapters PUBLIC -DGR_GREATER_38=1) +endif() + +set_property(TARGET input_filter_adapters + 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 8a4aefc11..29b909273 100644 --- a/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -31,15 +31,6 @@ set(INPUT_FILTER_GR_BLOCKS_HEADERS notch_lite_cc.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${GNURADIO_BLOCKS_INCLUDE_DIRS} - ${VOLK_GNSSSDR_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} -) - list(SORT INPUT_FILTER_GR_BLOCKS_HEADERS) list(SORT INPUT_FILTER_GR_BLOCKS_SOURCES) @@ -50,12 +41,17 @@ add_library(input_filter_gr_blocks source_group(Headers FILES ${INPUT_FILTER_GR_BLOCKS_HEADERS}) target_link_libraries(input_filter_gr_blocks - ${GNURADIO_FILTER_LIBRARIES} - ${VOLK_GNSSSDR_LIBRARIES} - ${LOG4CPP_LIBRARIES}) + PUBLIC + Gnuradio::filter + Gnuradio::blocks + Volkgnsssdr::volkgnsssdr + PRIVATE + Gflags::gflags + Glog::glog + ${LOG4CPP_LIBRARIES} +) -if(NOT VOLKGNSSSDR_FOUND) - add_dependencies(input_filter_gr_blocks volk_gnsssdr_module glog-${glog_RELEASE}) -else() - add_dependencies(input_filter_gr_blocks glog-${glog_RELEASE}) -endif() +set_property(TARGET input_filter_gr_blocks + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) diff --git a/src/algorithms/libs/CMakeLists.txt b/src/algorithms/libs/CMakeLists.txt index 407e67c65..d22a0e553 100644 --- a/src/algorithms/libs/CMakeLists.txt +++ b/src/algorithms/libs/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -90,20 +90,6 @@ if(OPENCL_FOUND) ) endif() -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${Boost_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${ARMADILLO_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${GNURADIO_BLOCKS_INCLUDE_DIRS} - ${VOLK_INCLUDE_DIRS} - ${VOLK_GNSSSDR_INCLUDE_DIRS} -) if(OPENCL_FOUND) include_directories(${OPENCL_INCLUDE_DIRS}) @@ -114,8 +100,6 @@ if(OPENCL_FOUND) endif() endif() -add_definitions(-DGNSSSDR_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}") - list(SORT GNSS_SPLIBS_HEADERS) list(SORT GNSS_SPLIBS_SOURCES) @@ -123,29 +107,50 @@ add_library(gnss_sp_libs ${GNSS_SPLIBS_SOURCES} ${GNSS_SPLIBS_HEADERS}) source_group(Headers FILES ${GNSS_SPLIBS_HEADERS}) target_link_libraries(gnss_sp_libs - ${GNURADIO_RUNTIME_LIBRARIES} - ${VOLK_LIBRARIES} ${ORC_LIBRARIES} - ${VOLK_GNSSSDR_LIBRARIES} ${ORC_LIBRARIES} - ${GFlags_LIBS} - ${ARMADILLO_LIBRARIES} - ${GNURADIO_BLOCKS_LIBRARIES} - ${GNURADIO_FFT_LIBRARIES} - ${GNURADIO_FILTER_LIBRARIES} - ${OPT_LIBRARIES} - gnss_rx + PUBLIC + Boost::boost + Gflags::gflags + Armadillo::armadillo + Gnuradio::runtime + Gnuradio::blocks + Volk::volk ${ORC_LIBRARIES} + Volkgnsssdr::volkgnsssdr + gnss_system_parameters + ${OPT_LIBRARIES} + PRIVATE + Boost::filesystem + Glog::glog + gnss_rx ) -if(NOT VOLKGNSSSDR_FOUND) - add_dependencies(gnss_sp_libs volk_gnsssdr_module - armadillo-${armadillo_RELEASE}) -else() - add_dependencies(gnss_sp_libs armadillo-${armadillo_RELEASE}) -endif() +target_compile_definitions(gnss_sp_libs PUBLIC -DGNSSSDR_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}") if(${GFLAGS_GREATER_20}) - add_definitions(-DGFLAGS_GREATER_2_0=1) + target_compile_definitions(gnss_sp_libs PUBLIC -DGFLAGS_GREATER_2_0=1) endif() +set_property(TARGET gnss_sp_libs + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) + add_library(gnss_sdr_flags gnss_sdr_flags.cc gnss_sdr_flags.h) source_group(Headers FILES gnss_sdr_flags.h) -target_link_libraries(gnss_sdr_flags ${GFlags_LIBS}) + +target_link_libraries(gnss_sdr_flags + PUBLIC + Gflags::gflags + PRIVATE + Boost::filesystem +) + +if(${GFLAGS_GREATER_20}) + target_compile_definitions(gnss_sdr_flags PUBLIC -DGFLAGS_GREATER_2_0=1) +endif() + +target_compile_definitions(gnss_sdr_flags PUBLIC -DGNSSSDR_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}") + +set_property(TARGET gnss_sdr_flags + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) diff --git a/src/algorithms/libs/rtklib/CMakeLists.txt b/src/algorithms/libs/rtklib/CMakeLists.txt index 882cd4a81..bd8559893 100644 --- a/src/algorithms/libs/rtklib/CMakeLists.txt +++ b/src/algorithms/libs/rtklib/CMakeLists.txt @@ -16,7 +16,6 @@ # along with GNSS-SDR. If not, see . # -add_definitions(-DGNSS_SDR_VERSION="${VERSION}") set(RTKLIB_LIB_SOURCES rtklib_rtkcmn.cc @@ -59,33 +58,31 @@ set(RTKLIB_LIB_HEADERS rtklib.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${Boost_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} -) - list(SORT RTKLIB_LIB_HEADERS) list(SORT RTKLIB_LIB_SOURCES) add_library(rtklib_lib ${RTKLIB_LIB_SOURCES} ${RTKLIB_LIB_HEADERS}) source_group(Headers FILES ${RTKLIB_LIB_HEADERS}) -add_dependencies(rtklib_lib glog-${glog_RELEASE}) if(OS_IS_MACOSX) set(MAC_LIBRARIES "-framework Accelerate") endif() -target_link_libraries( - rtklib_lib - ${Boost_LIBRARIES} - ${GFlags_LIBS} - ${GLOG_LIBRARIES} - ${BLAS} - ${LAPACK} - ${MAC_LIBRARIES} +target_link_libraries(rtklib_lib + PUBLIC + gnss_rx + gnss_system_parameters + PRIVATE + Gflags::gflags + Glog::glog + ${BLAS} + ${LAPACK} + ${MAC_LIBRARIES} +) + +target_compile_definitions(rtklib_lib PUBLIC -DGNSS_SDR_VERSION="${VERSION}") + +set_property(TARGET rtklib_lib + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ ) diff --git a/src/algorithms/libs/rtklib/rtklib_ionex.cc b/src/algorithms/libs/rtklib/rtklib_ionex.cc index 162778f9a..ab02c788f 100644 --- a/src/algorithms/libs/rtklib/rtklib_ionex.cc +++ b/src/algorithms/libs/rtklib/rtklib_ionex.cc @@ -59,6 +59,7 @@ #include "rtklib_ionex.h" #include "rtklib_rtkcmn.h" +#include /* get index -----------------------------------------------------------------*/ int getindex(double value, const double *range) diff --git a/src/algorithms/libs/rtklib/rtklib_lambda.cc b/src/algorithms/libs/rtklib/rtklib_lambda.cc index e96efb39a..c493e05e5 100644 --- a/src/algorithms/libs/rtklib/rtklib_lambda.cc +++ b/src/algorithms/libs/rtklib/rtklib_lambda.cc @@ -52,6 +52,7 @@ #include "rtklib_lambda.h" #include "rtklib_rtkcmn.h" +#include /* LD factorization (Q=L'*diag(D)*L) -----------------------------------------*/ int LD(int n, const double *Q, double *L, double *D) diff --git a/src/algorithms/libs/rtklib/rtklib_pntpos.cc b/src/algorithms/libs/rtklib/rtklib_pntpos.cc index 016037f77..d143cb302 100644 --- a/src/algorithms/libs/rtklib/rtklib_pntpos.cc +++ b/src/algorithms/libs/rtklib/rtklib_pntpos.cc @@ -54,6 +54,7 @@ #include "rtklib_ephemeris.h" #include "rtklib_ionex.h" #include "rtklib_sbas.h" +#include /* pseudorange measurement error variance ------------------------------------*/ double varerr(const prcopt_t *opt, double el, int sys) diff --git a/src/algorithms/libs/rtklib/rtklib_ppp.cc b/src/algorithms/libs/rtklib/rtklib_ppp.cc index 3589ab522..d6bbed928 100644 --- a/src/algorithms/libs/rtklib/rtklib_ppp.cc +++ b/src/algorithms/libs/rtklib/rtklib_ppp.cc @@ -57,6 +57,7 @@ #include "rtklib_rtkcmn.h" #include "rtklib_sbas.h" #include "rtklib_tides.h" +#include /* wave length of LC (m) -----------------------------------------------------*/ double lam_LC(int i, int j, int k) diff --git a/src/algorithms/libs/rtklib/rtklib_preceph.cc b/src/algorithms/libs/rtklib/rtklib_preceph.cc index 72c62fbf1..3c9f34c40 100644 --- a/src/algorithms/libs/rtklib/rtklib_preceph.cc +++ b/src/algorithms/libs/rtklib/rtklib_preceph.cc @@ -62,6 +62,7 @@ #include "rtklib_preceph.h" #include "rtklib_rtkcmn.h" +#include /* satellite code to satellite system ----------------------------------------*/ int code2sys(char code) diff --git a/src/algorithms/libs/rtklib/rtklib_rtcm3.cc b/src/algorithms/libs/rtklib/rtklib_rtcm3.cc index ef11206a5..abda7995f 100644 --- a/src/algorithms/libs/rtklib/rtklib_rtcm3.cc +++ b/src/algorithms/libs/rtklib/rtklib_rtcm3.cc @@ -54,6 +54,7 @@ #include "rtklib_rtcm3.h" #include "rtklib_rtkcmn.h" +#include /* msm signal id table -------------------------------------------------------*/ diff --git a/src/algorithms/libs/rtklib/rtklib_rtkcmn.cc b/src/algorithms/libs/rtklib/rtklib_rtkcmn.cc index 9eea3a0b2..a4a8d2673 100644 --- a/src/algorithms/libs/rtklib/rtklib_rtkcmn.cc +++ b/src/algorithms/libs/rtklib/rtklib_rtkcmn.cc @@ -52,6 +52,7 @@ #include "rtklib_rtkcmn.h" //#include +#include #include #include #include diff --git a/src/algorithms/libs/rtklib/rtklib_rtkcmn.h b/src/algorithms/libs/rtklib/rtklib_rtkcmn.h index f58e95193..8fbde5a88 100644 --- a/src/algorithms/libs/rtklib/rtklib_rtkcmn.h +++ b/src/algorithms/libs/rtklib/rtklib_rtkcmn.h @@ -79,7 +79,7 @@ #define GNSS_SDR_RTKLIB_RTKCMN_H_ #include "rtklib.h" -#include +//#include /* coordinate rotation matrix ------------------------------------------------*/ #define Rx(t, X) \ diff --git a/src/algorithms/libs/rtklib/rtklib_rtkpos.cc b/src/algorithms/libs/rtklib/rtklib_rtkpos.cc index 1634b8fcb..dde3e2a95 100644 --- a/src/algorithms/libs/rtklib/rtklib_rtkpos.cc +++ b/src/algorithms/libs/rtklib/rtklib_rtkpos.cc @@ -57,6 +57,7 @@ #include "rtklib_pntpos.h" #include "rtklib_ppp.h" #include "rtklib_tides.h" +#include static int resamb_WLNL(rtk_t *rtk __attribute((unused)), const obsd_t *obs __attribute((unused)), const int *sat __attribute((unused)), const int *iu __attribute((unused)), const int *ir __attribute((unused)), int ns __attribute__((unused)), const nav_t *nav __attribute((unused)), diff --git a/src/algorithms/libs/rtklib/rtklib_rtksvr.cc b/src/algorithms/libs/rtklib/rtklib_rtksvr.cc index ac047012a..ba21c3359 100644 --- a/src/algorithms/libs/rtklib/rtklib_rtksvr.cc +++ b/src/algorithms/libs/rtklib/rtklib_rtksvr.cc @@ -7,6 +7,7 @@ #include "rtklib_sbas.h" #include "rtklib_solution.h" #include "rtklib_stream.h" +#include /* write solution header to output stream ------------------------------------*/ void writesolhead(stream_t *stream, const solopt_t *solopt) diff --git a/src/algorithms/libs/rtklib/rtklib_sbas.cc b/src/algorithms/libs/rtklib/rtklib_sbas.cc index d4c45aad8..9a780f3ac 100644 --- a/src/algorithms/libs/rtklib/rtklib_sbas.cc +++ b/src/algorithms/libs/rtklib/rtklib_sbas.cc @@ -61,6 +61,7 @@ #include "rtklib_sbas.h" #include "rtklib_rtkcmn.h" +#include /* extract field from line ---------------------------------------------------*/ char *getfield(char *p, int pos) diff --git a/src/algorithms/libs/rtklib/rtklib_solution.cc b/src/algorithms/libs/rtklib/rtklib_solution.cc index e2c19cecd..965166b01 100644 --- a/src/algorithms/libs/rtklib/rtklib_solution.cc +++ b/src/algorithms/libs/rtklib/rtklib_solution.cc @@ -55,6 +55,7 @@ #include "rtklib_rtkcmn.h" #include "rtklib_rtksvr.h" #include +#include /* constants and macros ------------------------------------------------------*/ diff --git a/src/algorithms/libs/rtklib/rtklib_stream.cc b/src/algorithms/libs/rtklib/rtklib_stream.cc index 9b2a0d3e2..7b1de5e12 100644 --- a/src/algorithms/libs/rtklib/rtklib_stream.cc +++ b/src/algorithms/libs/rtklib/rtklib_stream.cc @@ -53,6 +53,7 @@ #include #include #include +#include #include #include #include diff --git a/src/algorithms/observables/adapters/CMakeLists.txt b/src/algorithms/observables/adapters/CMakeLists.txt index ef0df1d7d..1aad392a7 100644 --- a/src/algorithms/observables/adapters/CMakeLists.txt +++ b/src/algorithms/observables/adapters/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -24,19 +24,22 @@ set(OBS_ADAPTER_HEADERS hybrid_observables.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/observables/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/PVT/libs - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} +add_library(obs_adapters ${OBS_ADAPTER_SOURCES} ${OBS_ADAPTER_HEADERS}) + +source_group(Headers FILES ${OBS_ADAPTER_HEADERS}) + +target_include_directories(obs_adapters PUBLIC ${CMAKE_SOURCE_DIR}/src/algorithms/libs) + +target_link_libraries(obs_adapters + PUBLIC + obs_gr_blocks + gnss_rx + gnss_sp_libs + PRIVATE + Glog::glog ) -add_library(obs_adapters ${OBS_ADAPTER_SOURCES} ${OBS_ADAPTER_HEADERS}) -source_group(Headers FILES ${OBS_ADAPTER_HEADERS}) -target_link_libraries(obs_adapters obs_gr_blocks ${GNURADIO_RUNTIME_LIBRARIES}) +set_property(TARGET obs_adapters + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) diff --git a/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt b/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt index e829c474d..46786f539 100644 --- a/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -24,42 +24,24 @@ set(OBS_GR_BLOCKS_HEADERS hybrid_observables_cc.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/PVT/libs - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${ARMADILLO_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${MATIO_INCLUDE_DIRS} -) - add_library(obs_gr_blocks ${OBS_GR_BLOCKS_SOURCES} ${OBS_GR_BLOCKS_HEADERS}) +target_include_directories(obs_gr_blocks PUBLIC ${CMAKE_SOURCE_DIR}/src/algorithms/libs) + source_group(Headers FILES ${OBS_GR_BLOCKS_HEADERS}) -if(MATIO_FOUND) - add_dependencies(obs_gr_blocks - gnss_sp_libs - glog-${glog_RELEASE} - armadillo-${armadillo_RELEASE} - ) -else() - add_dependencies(obs_gr_blocks - gnss_sp_libs - glog-${glog_RELEASE} - armadillo-${armadillo_RELEASE} - matio-${GNSSSDR_MATIO_LOCAL_VERSION} - ) -endif() - target_link_libraries(obs_gr_blocks - gnss_sp_libs - ${GNURADIO_RUNTIME_LIBRARIES} - ${ARMADILLO_LIBRARIES} - ${MATIO_LIBRARIES} + PUBLIC + Gnuradio::blocks + Boost::boost + gnss_system_parameters + PRIVATE + gnss_sp_libs + Glog::glog + Boost::filesystem + Matio::matio +) + +set_property(TARGET obs_gr_blocks APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ ) diff --git a/src/algorithms/resampler/adapters/CMakeLists.txt b/src/algorithms/resampler/adapters/CMakeLists.txt index 07e8ddc74..5ba4565cf 100644 --- a/src/algorithms/resampler/adapters/CMakeLists.txt +++ b/src/algorithms/resampler/adapters/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -27,20 +27,6 @@ set(RESAMPLER_ADAPTER_HEADERS mmse_resampler_conditioner.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/algorithms/resampler/gnuradio_blocks - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${VOLK_INCLUDE_DIRS} -) - -if(${PC_GNURADIO_RUNTIME_VERSION} VERSION_GREATER "3.7.13.4") - add_definitions(-DGR_GREATER_38=1) -endif() - list(SORT RESAMPLER_ADAPTER_HEADERS) list(SORT RESAMPLER_ADAPTER_SOURCES) @@ -51,4 +37,21 @@ add_library(resampler_adapters source_group(Headers FILES ${RESAMPLER_ADAPTER_HEADERS}) -target_link_libraries(resampler_adapters resampler_gr_blocks) +target_link_libraries(resampler_adapters + PUBLIC + Gnuradio::runtime + resampler_gr_blocks + gnss_rx + PRIVATE + Glog::glog + Volk::volk +) + +if(${PC_GNURADIO_RUNTIME_VERSION} VERSION_GREATER "3.7.13.4") + target_compile_definitions(resampler_adapters PUBLIC -DGR_GREATER_38=1) +endif() + +set_property(TARGET resampler_adapters + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) diff --git a/src/algorithms/resampler/gnuradio_blocks/CMakeLists.txt b/src/algorithms/resampler/gnuradio_blocks/CMakeLists.txt index ae570d644..5b4c38b99 100644 --- a/src/algorithms/resampler/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/resampler/gnuradio_blocks/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -29,22 +29,26 @@ set(RESAMPLER_GR_BLOCKS_HEADERS direct_resampler_conditioner_cb.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${VOLK_INCLUDE_DIRS} -) - list(SORT RESAMPLER_GR_BLOCKS_HEADERS) list(SORT RESAMPLER_GR_BLOCKS_SOURCES) +source_group(Headers FILES ${RESAMPLER_GR_BLOCKS_HEADERS}) + add_library(resampler_gr_blocks ${RESAMPLER_GR_BLOCKS_SOURCES} ${RESAMPLER_GR_BLOCKS_HEADERS} ) -source_group(Headers FILES ${RESAMPLER_GR_BLOCKS_HEADERS}) +target_link_libraries(resampler_gr_blocks + PUBLIC + Gnuradio::runtime + Volk::volk + PRIVATE + Gflags::gflags + Glog::glog +) -add_dependencies(resampler_gr_blocks glog-${glog_RELEASE}) +set_property(TARGET resampler_gr_blocks + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) diff --git a/src/algorithms/signal_generator/adapters/CMakeLists.txt b/src/algorithms/signal_generator/adapters/CMakeLists.txt index fe793203b..255e702f0 100644 --- a/src/algorithms/signal_generator/adapters/CMakeLists.txt +++ b/src/algorithms/signal_generator/adapters/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -19,18 +19,6 @@ set(SIGNAL_GENERATOR_ADAPTER_SOURCES signal_generator.cc) set(SIGNAL_GENERATOR_ADAPTER_HEADERS signal_generator.h) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/signal_generator/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} -) - add_library(signal_generator_adapters ${SIGNAL_GENERATOR_ADAPTER_SOURCES} ${SIGNAL_GENERATOR_ADAPTER_HEADERS} @@ -39,9 +27,17 @@ add_library(signal_generator_adapters source_group(Headers FILES ${SIGNAL_GENERATOR_ADAPTER_HEADERS}) target_link_libraries(signal_generator_adapters - gnss_sp_libs - signal_generator_blocks - ${GNURADIO_RUNTIME_LIBRARIES} - ${GNURADIO_BLOCKS_LIBRARIES} - ${GNURADIO_FILTER_LIBRARIES} + PUBLIC + signal_generator_blocks + Gnuradio::runtime + Gnuradio::blocks + gnss_rx + PRIVATE + Glog::glog + gnss_sp_libs +) + +set_property(TARGET signal_generator_adapters + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ ) diff --git a/src/algorithms/signal_generator/gnuradio_blocks/CMakeLists.txt b/src/algorithms/signal_generator/gnuradio_blocks/CMakeLists.txt index 30ab655e1..c88018421 100644 --- a/src/algorithms/signal_generator/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/signal_generator/gnuradio_blocks/CMakeLists.txt @@ -20,13 +20,13 @@ set(SIGNAL_GENERATOR_BLOCK_SOURCES signal_generator_c.cc) set(SIGNAL_GENERATOR_BLOCK_HEADERS signal_generator_c.h) include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} + #${CMAKE_CURRENT_SOURCE_DIR} + #${CMAKE_SOURCE_DIR}/src/core/system_parameters + #${CMAKE_SOURCE_DIR}/src/core/interfaces + #${CMAKE_SOURCE_DIR}/src/core/receiver + #${CMAKE_SOURCE_DIR}/src/algorithms/libs + #${GLOG_INCLUDE_DIRS} + #${GFlags_INCLUDE_DIRS} ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${VOLK_GNSSSDR_INCLUDE_DIRS} ) @@ -39,16 +39,25 @@ add_library(signal_generator_blocks source_group(Headers FILES ${SIGNAL_GENERATOR_BLOCK_HEADERS}) target_link_libraries(signal_generator_blocks - gnss_system_parameters - gnss_sp_libs - ${GNURADIO_RUNTIME_LIBRARIES} - ${GNURADIO_FFT_LIBRARIES} - ${VOLK_GNSSSDR_LIBRARIES} - ${ORC_LIBRARIES} + PUBLIC + Boost::boost + gnss_system_parameters + ${GNURADIO_RUNTIME_LIBRARIES} + ${GNURADIO_FFT_LIBRARIES} + ${VOLK_GNSSSDR_LIBRARIES} + ${ORC_LIBRARIES} + PRIVATE + gnss_sp_libs ) -if(VOLKGNSSSDR_FOUND) - # add_dependencies(signal_generator_blocks glog-${glog_RELEASE}) -else() +target_include_directories(signal_generator_blocks PUBLIC ${CMAKE_SOURCE_DIR}/src/algorithms/libs) + + +set_property(TARGET signal_generator_blocks + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) + +if(NOT VOLKGNSSSDR_FOUND) add_dependencies(signal_generator_blocks volk_gnsssdr_module) endif() diff --git a/src/algorithms/signal_source/adapters/CMakeLists.txt b/src/algorithms/signal_source/adapters/CMakeLists.txt index 6674cd853..d13ecc361 100644 --- a/src/algorithms/signal_source/adapters/CMakeLists.txt +++ b/src/algorithms/signal_source/adapters/CMakeLists.txt @@ -207,21 +207,6 @@ if(PC_GNURADIO_RUNTIME_VERSION VERSION_GREATER 3.7.3) two_bit_packed_file_signal_source.h) endif() -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${OPT_DRIVER_INCLUDE_DIRS} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/signal_source/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/signal_source/gnuradio_blocks - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${VOLK_INCLUDE_DIRS} -) - if(ARCH_64BITS) add_definitions(-DARCH_64BITS=1) endif() @@ -233,10 +218,27 @@ list(SORT SIGNAL_SOURCE_ADAPTER_SOURCES) add_library(signal_source_adapters ${SIGNAL_SOURCE_ADAPTER_SOURCES} ${SIGNAL_SOURCE_ADAPTER_HEADERS}) source_group(Headers FILES ${SIGNAL_SOURCE_ADAPTER_HEADERS}) -target_link_libraries(signal_source_adapters signal_source_gr_blocks - ${Boost_LIBRARIES} - ${GNURADIO_PMT_LIBRARIES} - ${GNURADIO_BLOCKS_LIBRARIES} - ${OPT_LIBRARIES} - gnss_sp_libs + +target_include_directories(signal_source_adapters PUBLIC ${CMAKE_SOURCE_DIR}/src/algorithms/libs) + +target_link_libraries(signal_source_adapters + PUBLIC + Boost::boost + Gnuradio::runtime + signal_source_gr_blocks + ${Boost_LIBRARIES} + ${GNURADIO_PMT_LIBRARIES} + ${GNURADIO_BLOCKS_LIBRARIES} + ${OPT_LIBRARIES} + gnss_sp_libs + gnss_rx + signal_source_lib + PRIVATE + Glog::glog + Volk::volk +) + +set_property(TARGET signal_source_adapters APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ + $ ) diff --git a/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt b/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt index fb94ec51c..442701bb2 100644 --- a/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt @@ -57,12 +57,12 @@ set(SIGNAL_SOURCE_GR_BLOCKS_HEADERS include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/algorithms/signal_source/libs - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} + #${CMAKE_CURRENT_SOURCE_DIR} + #${CMAKE_SOURCE_DIR}/src/algorithms/signal_source/libs + #${GLOG_INCLUDE_DIRS} + #${GFlags_INCLUDE_DIRS} + #${GNURADIO_RUNTIME_INCLUDE_DIRS} + #${Boost_INCLUDE_DIRS} ${OPT_DRIVER_INCLUDE_DIRS} ) @@ -77,10 +77,18 @@ add_library(signal_source_gr_blocks source_group(Headers FILES ${SIGNAL_SOURCE_GR_BLOCKS_HEADERS}) target_link_libraries(signal_source_gr_blocks - signal_source_lib - ${GNURADIO_RUNTIME_LIBRARIES} - ${Boost_LIBRARIES} - ${OPT_LIBRARIES} + PUBLIC + signal_source_lib + Gnuradio::runtime + Boost::thread + ${OPT_LIBRARIES} + PRIVATE + Glog::glog ) -add_dependencies(signal_source_gr_blocks glog-${glog_RELEASE}) +target_include_directories(signal_source_gr_blocks PUBLIC ${OPT_DRIVER_INCLUDE_DIRS}) + +set_property(TARGET signal_source_gr_blocks APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ + $ +) diff --git a/src/algorithms/signal_source/gnuradio_blocks/unpack_2bit_samples.h b/src/algorithms/signal_source/gnuradio_blocks/unpack_2bit_samples.h index b2148b23b..e91fefd2d 100644 --- a/src/algorithms/signal_source/gnuradio_blocks/unpack_2bit_samples.h +++ b/src/algorithms/signal_source/gnuradio_blocks/unpack_2bit_samples.h @@ -39,7 +39,7 @@ * * Value_0, Value_1, Value_2, ..., Value_n, Value_n+1, Value_n+2, ... * - * \author Cillian O'Driscoll cillian.odriscoll (at) gmail . com + * \author Cillian O'Driscoll cillian.odriscoll (at) gmail . com * ------------------------------------------------------------------------- * * Copyright (C) 2010-2018 (see AUTHORS file for a list of contributors) diff --git a/src/algorithms/signal_source/libs/CMakeLists.txt b/src/algorithms/signal_source/libs/CMakeLists.txt index 3f2a6bbe5..73a4170ff 100644 --- a/src/algorithms/signal_source/libs/CMakeLists.txt +++ b/src/algorithms/signal_source/libs/CMakeLists.txt @@ -57,14 +57,6 @@ if(ENABLE_FPGA OR ENABLE_AD9361) set(OPT_SIGNAL_SOURCE_LIB_HEADERS ${OPT_SIGNAL_SOURCE_LIB_HEADERS} fpga_switch.h) endif() -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${Boost_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${OPT_DRIVER_INCLUDE_DIRS} -) - set(SIGNAL_SOURCE_LIB_SOURCES rtl_tcp_commands.cc rtl_tcp_dongle_info.cc @@ -81,6 +73,20 @@ list(SORT SIGNAL_SOURCE_LIB_HEADERS) list(SORT SIGNAL_SOURCE_LIB_SOURCES) add_library(signal_source_lib ${SIGNAL_SOURCE_LIB_SOURCES} ${SIGNAL_SOURCE_LIB_HEADERS}) + source_group(Headers FILES ${SIGNAL_SOURCE_LIB_HEADERS}) -target_link_libraries(signal_source_lib ${OPT_LIBRARIES}) -add_dependencies(signal_source_lib glog-${glog_RELEASE}) + +target_link_libraries(signal_source_lib + PUBLIC + Boost::boost + ${OPT_LIBRARIES} + PRIVATE + Glog::glog +) + +target_include_directories(signal_source_lib PUBLIC ${OPT_DRIVER_INCLUDE_DIRS}) + +set_property(TARGET signal_source_lib APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ + $ +) diff --git a/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt b/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt index 3c354d806..aab494d71 100644 --- a/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt +++ b/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -41,20 +41,6 @@ set(TELEMETRY_DECODER_ADAPTER_HEADERS beidou_b1i_telemetry_decoder.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/telemetry_decoder/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/telemetry_decoder/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/telemetry_decoder/libs/libswiftcnav - ${Boost_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} -) - list(SORT TELEMETRY_DECODER_ADAPTER_HEADERS) list(SORT TELEMETRY_DECODER_ADAPTER_SOURCES) @@ -66,7 +52,17 @@ add_library(telemetry_decoder_adapters source_group(Headers FILES ${TELEMETRY_DECODER_ADAPTER_HEADERS}) target_link_libraries(telemetry_decoder_adapters - telemetry_decoder_gr_blocks - gnss_system_parameters - ${GNURADIO_RUNTIME_LIBRARIES} + PUBLIC + telemetry_decoder_gr_blocks + gnss_system_parameters + gnss_rx + PRIVATE + Gnuradio::runtime + telemetry_decoder_lib +) + + +set_property(TARGET telemetry_decoder_adapters + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ ) diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/CMakeLists.txt b/src/algorithms/telemetry_decoder/gnuradio_blocks/CMakeLists.txt index e123b8980..bd0dfd867 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -38,19 +38,6 @@ set(TELEMETRY_DECODER_GR_BLOCKS_HEADERS beidou_b1i_telemetry_decoder_cc.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/telemetry_decoder/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/telemetry_decoder/libs/libswiftcnav - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${VOLK_GNSSSDR_INCLUDE_DIRS} -) - list(SORT TELEMETRY_DECODER_GR_BLOCKS_HEADERS) list(SORT TELEMETRY_DECODER_GR_BLOCKS_SOURCES) @@ -62,13 +49,19 @@ add_library(telemetry_decoder_gr_blocks source_group(Headers FILES ${TELEMETRY_DECODER_GR_BLOCKS_HEADERS}) target_link_libraries(telemetry_decoder_gr_blocks - telemetry_decoder_libswiftcnav - telemetry_decoder_lib - gnss_system_parameters - ${GNURADIO_RUNTIME_LIBRARIES} - ${VOLK_GNSSSDR_LIBRARIES} + PUBLIC + telemetry_decoder_libswiftcnav + telemetry_decoder_lib + gnss_system_parameters + gnss_rx + Gnuradio::runtime + Volkgnsssdr::volkgnsssdr + PRIVATE + Boost::boost + Glog::glog ) -if(NOT VOLKGNSSSDR_FOUND) - add_dependencies(telemetry_decoder_gr_blocks volk_gnsssdr_module) -endif() +set_property(TARGET telemetry_decoder_gr_blocks + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) diff --git a/src/algorithms/telemetry_decoder/libs/CMakeLists.txt b/src/algorithms/telemetry_decoder/libs/CMakeLists.txt index 53a997cc8..a26de5d0f 100644 --- a/src/algorithms/telemetry_decoder/libs/CMakeLists.txt +++ b/src/algorithms/telemetry_decoder/libs/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -28,17 +28,6 @@ set(TELEMETRY_DECODER_LIB_HEADERS convolutional.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/telemetry_decoder/adapters - ${Boost_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} -) - list(SORT TELEMETRY_DECODER_LIB_HEADERS) list(SORT TELEMETRY_DECODER_LIB_SOURCES) @@ -46,6 +35,16 @@ add_library(telemetry_decoder_lib ${TELEMETRY_DECODER_LIB_SOURCES} ${TELEMETRY_DECODER_LIB_HEADERS} ) + source_group(Headers FILES ${TELEMETRY_DECODER_LIB_HEADERS}) -target_link_libraries(telemetry_decoder_lib gnss_system_parameters) +target_link_libraries(telemetry_decoder_lib + PUBLIC + gnss_system_parameters + gnss_rx +) + +set_property(TARGET telemetry_decoder_lib + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) diff --git a/src/algorithms/telemetry_decoder/libs/libswiftcnav/CMakeLists.txt b/src/algorithms/telemetry_decoder/libs/libswiftcnav/CMakeLists.txt index af753c057..4921071c9 100644 --- a/src/algorithms/telemetry_decoder/libs/libswiftcnav/CMakeLists.txt +++ b/src/algorithms/telemetry_decoder/libs/libswiftcnav/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -31,10 +31,6 @@ set(TELEMETRY_DECODER_LIBSWIFTCNAV_HEADERS fec.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} -) - list(SORT TELEMETRY_DECODER_LIBSWIFTCNAV_HEADERS) list(SORT TELEMETRY_DECODER_LIBSWIFTCNAV_SOURCES) @@ -43,6 +39,11 @@ add_library(telemetry_decoder_libswiftcnav STATIC ${TELEMETRY_DECODER_LIBSWIFTCNAV_HEADERS} ) +set_property(TARGET telemetry_decoder_libswiftcnav + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) + source_group(Headers FILES ${TELEMETRY_DECODER_LIBSWIFTCNAV_HEADERS}) set_target_properties(telemetry_decoder_libswiftcnav diff --git a/src/algorithms/tracking/adapters/CMakeLists.txt b/src/algorithms/tracking/adapters/CMakeLists.txt index 934caa56e..08e75247e 100644 --- a/src/algorithms/tracking/adapters/CMakeLists.txt +++ b/src/algorithms/tracking/adapters/CMakeLists.txt @@ -88,16 +88,16 @@ set(TRACKING_ADAPTER_HEADERS ) include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/tracking/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/tracking/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${ARMADILLO_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} + #${CMAKE_CURRENT_SOURCE_DIR} + #${CMAKE_SOURCE_DIR}/src/core/system_parameters + #${CMAKE_SOURCE_DIR}/src/core/interfaces + #${CMAKE_SOURCE_DIR}/src/core/receiver + #${CMAKE_SOURCE_DIR}/src/algorithms/tracking/gnuradio_blocks + #${CMAKE_SOURCE_DIR}/src/algorithms/tracking/libs + #${CMAKE_SOURCE_DIR}/src/algorithms/libs + #${ARMADILLO_INCLUDE_DIRS} + #${GLOG_INCLUDE_DIRS} + #${GFlags_INCLUDE_DIRS} ${GNURADIO_RUNTIME_INCLUDE_DIRS} ${VOLK_GNSSSDR_INCLUDE_DIRS} ${OPT_TRACKING_INCLUDE_DIRS} @@ -114,7 +114,13 @@ add_library(tracking_adapters source_group(Headers FILES ${TRACKING_ADAPTER_HEADERS}) target_link_libraries(tracking_adapters - tracking_gr_blocks - gnss_sp_libs - gnss_sdr_flags + PUBLIC + tracking_gr_blocks + gnss_sp_libs + gnss_sdr_flags +) + +set_property(TARGET tracking_adapters + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ ) diff --git a/src/algorithms/tracking/gnuradio_blocks/CMakeLists.txt b/src/algorithms/tracking/gnuradio_blocks/CMakeLists.txt index 2dd5b494f..bf0a54baf 100644 --- a/src/algorithms/tracking/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/tracking/gnuradio_blocks/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -79,26 +79,9 @@ set(TRACKING_GR_BLOCKS_HEADERS ) include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/tracking/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${ARMADILLO_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${VOLK_GNSSSDR_INCLUDE_DIRS} ${OPT_TRACKING_INCLUDES} - ${MATIO_INCLUDE_DIRS} ) -if(ENABLE_GENERIC_ARCH) - add_definitions(-DGENERIC_ARCH=1) -endif() - list(SORT TRACKING_GR_BLOCKS_HEADERS) list(SORT TRACKING_GR_BLOCKS_SOURCES) @@ -110,27 +93,23 @@ add_library(tracking_gr_blocks source_group(Headers FILES ${TRACKING_GR_BLOCKS_HEADERS}) target_link_libraries(tracking_gr_blocks - tracking_lib - ${GNURADIO_RUNTIME_LIBRARIES} - gnss_sdr_flags gnss_sp_libs - ${Boost_LIBRARIES} - ${VOLK_GNSSSDR_LIBRARIES} - ${MATIO_LIBRARIES} - ${OPT_TRACKING_LIBRARIES} + PUBLIC + Boost::boost + tracking_lib + Gnuradio::blocks + Volkgnsssdr::volkgnsssdr + gnss_sdr_flags + gnss_sp_libs + gnss_rx + Matio::matio + ${OPT_TRACKING_LIBRARIES} ) -if(NOT VOLKGNSSSDR_FOUND) - if(MATIO_FOUND) - add_dependencies(tracking_gr_blocks volk_gnsssdr_module) - else() - add_dependencies(tracking_gr_blocks volk_gnsssdr_module - matio-${GNSSSDR_MATIO_LOCAL_VERSION} - ) - endif() -else() - if(NOT MATIO_FOUND) - add_dependencies(tracking_gr_blocks - matio-${GNSSSDR_MATIO_LOCAL_VERSION} - ) - endif() +if(ENABLE_GENERIC_ARCH) + target_compile_definitions(tracking_gr_blocks PUBLIC -DGENERIC_ARCH=1) endif() + +set_property(TARGET tracking_gr_blocks + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) diff --git a/src/algorithms/tracking/libs/CMakeLists.txt b/src/algorithms/tracking/libs/CMakeLists.txt index 6991fbd55..66b84d544 100644 --- a/src/algorithms/tracking/libs/CMakeLists.txt +++ b/src/algorithms/tracking/libs/CMakeLists.txt @@ -67,17 +67,7 @@ if(ENABLE_FPGA) endif() include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${ARMADILLO_INCLUDE_DIRS} - ${VOLK_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} ${OPT_TRACKING_INCLUDES} - ${VOLK_GNSSSDR_INCLUDE_DIRS} ) if(ENABLE_GENERIC_ARCH) @@ -96,15 +86,19 @@ add_library(tracking_lib ${TRACKING_LIB_SOURCES} ${TRACKING_LIB_HEADERS}) source_group(Headers FILES ${TRACKING_LIB_HEADERS}) target_link_libraries(tracking_lib - ${OPT_TRACKING_LIBRARIES} - ${VOLK_LIBRARIES} - ${VOLK_GNSSSDR_LIBRARIES} - ${Boost_LIBRARIES} - ${GNURADIO_RUNTIME_LIBRARIES} + PUBLIC + Armadillo::armadillo + Boost::boost + Gnuradio::runtime + Volkgnsssdr::volkgnsssdr + gnss_system_parameters + ${OPT_TRACKING_LIBRARIES} + PRIVATE + Gflags::gflags + Glog::glog ) -if(VOLKGNSSSDR_FOUND) - add_dependencies(tracking_lib glog-${glog_RELEASE}) -else() - add_dependencies(tracking_lib glog-${glog_RELEASE} volk_gnsssdr_module) -endif() +set_property(TARGET tracking_lib + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) diff --git a/src/core/libs/CMakeLists.txt b/src/core/libs/CMakeLists.txt index 9557199c4..d8dbb577e 100644 --- a/src/core/libs/CMakeLists.txt +++ b/src/core/libs/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -18,10 +18,6 @@ add_subdirectory(supl) -if(OPENSSL_FOUND) - add_definitions(-DUSE_OPENSSL_FALLBACK=1) -endif() - set(CORE_LIBS_SOURCES ini.cc INIReader.cc @@ -36,25 +32,27 @@ set(CORE_LIBS_HEADERS gnss_sdr_supl_client.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/libs/supl - ${CMAKE_SOURCE_DIR}/src/core/libs/supl/asn-rrlp - ${CMAKE_SOURCE_DIR}/src/core/libs/supl/asn-supl - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ${PUGIXML_INCLUDE_DIR} -) - list(SORT CORE_LIBS_HEADERS) list(SORT CORE_LIBS_SOURCES) add_library(rx_core_lib ${CORE_LIBS_SOURCES} ${CORE_LIBS_HEADERS}) -source_group(Headers FILES ${CORE_LIBS_HEADERS}) -target_link_libraries(rx_core_lib supl_library ${PUGIXML_LIBRARY}) -if(PUGIXML_LOCAL) - add_dependencies(rx_core_lib pugixml-${GNSSSDR_PUGIXML_LOCAL_VERSION}) -endif() +source_group(Headers FILES ${CORE_LIBS_HEADERS}) + +target_link_libraries(rx_core_lib + PUBLIC + supl_library + gnss_system_parameters + Boost::boost + Glog::glog + PRIVATE + Boost::serialization + Pugixml::pugixml + Gflags::gflags +) + +set_property(TARGET rx_core_lib + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ + $ +) diff --git a/src/core/libs/supl/CMakeLists.txt b/src/core/libs/supl/CMakeLists.txt index e8e1e69a6..b09ade6a4 100644 --- a/src/core/libs/supl/CMakeLists.txt +++ b/src/core/libs/supl/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -25,25 +25,28 @@ set(SUPL_SOURCES supl.c ) -if(OPENSSL_FOUND) - add_definitions(-DUSE_OPENSSL_FALLBACK=1) -endif() - -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/libs/supl - ${CMAKE_SOURCE_DIR}/src/core/libs/supl/asn-rrlp - ${CMAKE_SOURCE_DIR}/src/core/libs/supl/asn-supl - ${GNUTLS_INCLUDE_DIR} -) - if(CMAKE_C_COMPILER_ID MATCHES "Clang") if(CMAKE_BUILD_TYPE MATCHES "Release") set(MY_C_FLAGS "${MY_C_FLAGS} -Wno-parentheses-equality") endif() endif() + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MY_C_FLAGS}") add_library(supl_library STATIC ${ASN_RRLP_SOURCES} ${ASN_SUPL_SOURCES} ${SUPL_SOURCES}) -target_link_libraries(supl_library ${GNUTLS_LIBRARIES} ${GNUTLS_OPENSSL_LIBRARY} gnss_system_parameters) -set_target_properties(supl_library PROPERTIES LINKER_LANGUAGE C) + +target_link_libraries(supl_library + PUBLIC + ${GNUTLS_LIBRARIES} + ${GNUTLS_OPENSSL_LIBRARY} + gnss_system_parameters +) + +set_target_properties(supl_library PROPERTIES + LINKER_LANGUAGE C + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_SOURCE_DIR}/src/core/libs/supl/asn-supl;${CMAKE_SOURCE_DIR}/src/core/libs/supl/asn-rrlp;${GNUTLS_INCLUDE_DIR}" +) + +if(OPENSSL_FOUND) + target_compile_definitions(supl_library PUBLIC -DUSE_OPENSSL_FALLBACK=1) +endif() diff --git a/src/core/monitor/CMakeLists.txt b/src/core/monitor/CMakeLists.txt index 54ee2a589..bd8d2d233 100644 --- a/src/core/monitor/CMakeLists.txt +++ b/src/core/monitor/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -27,15 +27,6 @@ set(CORE_MONITOR_LIBS_HEADERS gnss_synchro_udp_sink.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} -) - list(SORT CORE_MONITOR_LIBS_HEADERS) list(SORT CORE_MONITOR_LIBS_SOURCES) @@ -46,6 +37,16 @@ add_library(core_monitor_lib source_group(Headers FILES ${CORE_MONITOR_LIBS_HEADERS}) -target_link_libraries(core_monitor_lib ${Boost_LIBRARIES}) +target_link_libraries(core_monitor_lib + PUBLIC + Boost::serialization + gnss_system_parameters + Gnuradio::runtime + PRIVATE + Glog::glog +) -add_dependencies(core_monitor_lib glog-${glog_RELEASE}) +set_property(TARGET core_monitor_lib + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) diff --git a/src/core/receiver/CMakeLists.txt b/src/core/receiver/CMakeLists.txt index 239e8cf00..cce0eb2f9 100644 --- a/src/core/receiver/CMakeLists.txt +++ b/src/core/receiver/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -40,137 +40,31 @@ set(GNSS_RECEIVER_HEADERS control_message.h ) -if(PC_GNURADIO_RUNTIME_VERSION VERSION_GREATER 3.7.3) - add_definitions(-DMODERN_GNURADIO=1) -endif() -if(ENABLE_CUDA) - add_definitions(-DCUDA_GPU_ACCEL=1) - set(OPT_RECEIVER_INCLUDE_DIRS - ${OPT_RECEIVER_INCLUDE_DIRS} ${CUDA_INCLUDE_DIRS} - ) -endif() - -if(ENABLE_FPGA) - add_definitions(-DENABLE_FPGA=1) -endif() - -if(ENABLE_RAW_UDP) - add_definitions(-DRAW_UDP=1) -endif() - -if(Boost_VERSION LESS 105000) - add_definitions(-DOLD_BOOST=1) -endif() - -if(OPENSSL_FOUND) - add_definitions(-DUSE_OPENSSL_FALLBACK=1) -endif() - -if(ENABLE_GN3S) - add_definitions(-DGN3S_DRIVER=1) -endif() - -if(ENABLE_ARRAY) - add_definitions(-DRAW_ARRAY_DRIVER=1) -endif() - -if(ENABLE_FLEXIBAND) - add_definitions(-DFLEXIBAND_DRIVER=1) -endif() - -if(ENABLE_OSMOSDR) - if(GROSMOSDR_FOUND) - add_definitions(-DOSMOSDR_DRIVER=1) - endif() -endif() - -if(ENABLE_UHD AND GNURADIO_UHD_LIBRARIES_gnuradio-uhd) - add_definitions(-DUHD_DRIVER=1) -endif() - -#Enable OpenCL if found in the system -if(OPENCL_FOUND) - message(STATUS "Adding processing blocks implemented using OpenCL") - add_definitions(-DOPENCL_BLOCKS=1) -else() - add_definitions(-DOPENCL_BLOCKS=0) -endif() - -#enable SDR Hardware based on fmcomms2 if(ENABLE_PLUTOSDR) - add_definitions(-DPLUTOSDR_DRIVER=1) set(OPT_RECEIVER_INCLUDE_DIRS ${OPT_RECEIVER_INCLUDE_DIRS} ${IIO_INCLUDE_DIRS} ) endif() if(ENABLE_FMCOMMS2) - add_definitions(-DFMCOMMS2_DRIVER=1) set(OPT_RECEIVER_INCLUDE_DIRS ${OPT_RECEIVER_INCLUDE_DIRS} ${IIO_INCLUDE_DIRS} ) endif() if(ENABLE_AD9361) - add_definitions(-DAD9361_DRIVER=1) set(OPT_RECEIVER_INCLUDE_DIRS ${OPT_RECEIVER_INCLUDE_DIRS} ${IIO_INCLUDE_DIRS} ) endif() -if(${PC_GNURADIO_RUNTIME_VERSION} VERSION_GREATER "3.7.13.4") - add_definitions(-DGR_GREATER_38=1) +if(ENABLE_CUDA) + set(OPT_RECEIVER_INCLUDE_DIRS + ${OPT_RECEIVER_INCLUDE_DIRS} ${CUDA_INCLUDE_DIRS} + ) endif() - -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/libs - ${CMAKE_SOURCE_DIR}/src/core/libs/supl - ${CMAKE_SOURCE_DIR}/src/core/libs/supl/asn-rrlp - ${CMAKE_SOURCE_DIR}/src/core/libs/supl/asn-supl - ${CMAKE_SOURCE_DIR}/src/core/monitor - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/signal_source/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/signal_source/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/signal_source/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/channel/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/channel/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/conditioner/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/data_type_adapter/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/data_type_adapter/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/resampler/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/input_filter/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/input_filter/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/tracking/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/tracking/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/tracking/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/telemetry_decoder/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/telemetry_decoder/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/telemetry_decoder/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/telemetry_decoder/libs/libswiftcnav - ${CMAKE_SOURCE_DIR}/src/algorithms/observables/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/observables/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/PVT/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/PVT/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/PVT/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib - ${ARMADILLO_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${PUGIXML_INCLUDE_DIR} - ${OPT_RECEIVER_INCLUDE_DIRS} - ${VOLK_GNSSSDR_INCLUDE_DIRS} -) - list(SORT GNSS_RECEIVER_HEADERS) list(SORT GNSS_RECEIVER_SOURCES) @@ -196,29 +90,104 @@ add_library(gnss_rx source_group(Headers FILES ${GNSS_RECEIVER_HEADERS} ${GNSS_RECEIVER_INTERFACE_HEADERS}) +if(ENABLE_FPGA) + target_compile_definitions(gnss_rx PUBLIC -DENABLE_FPGA=1) +endif() + +if(ENABLE_RAW_UDP) + target_compile_definitions(gnss_rx PUBLIC -DRAW_UDP=1) +endif() + +if(Boost_VERSION LESS 105000) + target_compile_definitions(gnss_rx PUBLIC -DOLD_BOOST=1) +endif() + +if(OPENSSL_FOUND) + target_compile_definitions(gnss_rx PUBLIC -DUSE_OPENSSL_FALLBACK=1) +endif() + +if(PC_GNURADIO_RUNTIME_VERSION VERSION_GREATER 3.7.3) + target_compile_definitions(gnss_rx PUBLIC -DMODERN_GNURADIO=1) +endif() + +if(${PC_GNURADIO_RUNTIME_VERSION} VERSION_GREATER "3.7.13.4") + target_compile_definitions(gnss_rx PUBLIC -DGR_GREATER_38=1) +endif() + +if(ENABLE_UHD AND GNURADIO_UHD_LIBRARIES_gnuradio-uhd) + target_compile_definitions(gnss_rx PUBLIC -DUHD_DRIVER=1) +endif() + +if(ENABLE_PLUTOSDR) + target_compile_definitions(gnss_rx PUBLIC -DPLUTOSDR_DRIVER=1) +endif() + +if(ENABLE_FMCOMMS2) + target_compile_definitions(gnss_rx PUBLIC -DFMCOMMS2_DRIVER=1) +endif() + +if(ENABLE_AD9361) + target_compile_definitions(gnss_rx PUBLIC -DAD9361_DRIVER=1) +endif() + +if(ENABLE_OSMOSDR) + if(GROSMOSDR_FOUND) + target_compile_definitions(gnss_rx PUBLIC -DOSMOSDR_DRIVER=1) + endif() +endif() + +if(ENABLE_GN3S) + target_compile_definitions(gnss_rx PUBLIC -DGN3S_DRIVER=1) +endif() + +if(ENABLE_ARRAY) + target_compile_definitions(gnss_rx PUBLIC -DRAW_ARRAY_DRIVER=1) +endif() + +if(ENABLE_FLEXIBAND) + target_compile_definitions(gnss_rx PUBLIC -DFLEXIBAND_DRIVER=1) +endif() + +if(OPENCL_FOUND) + message(STATUS "Adding processing blocks implemented using OpenCL") + target_compile_definitions(gnss_rx PUBLIC -DOPENCL_BLOCKS=1) +else() + target_compile_definitions(gnss_rx PUBLIC -DOPENCL_BLOCKS=0) +endif() + +if(ENABLE_CUDA) + target_compile_definitions(gnss_rx PUBLIC -DCUDA_GPU_ACCEL=1) +endif() + + target_link_libraries(gnss_rx - ${Boost_LIBRARIES} - ${ARMADILLO_LIBRARIES} - ${GNURADIO_RUNTIME_LIBRARIES} - ${GNURADIO_BLOCKS_LIBRARIES} - ${GNURADIO_FFT_LIBRARIES} - ${GNURADIO_FILTER_LIBRARIES} - gnss_system_parameters - gnss_sp_libs - signal_source_adapters - datatype_adapters - input_filter_adapters - conditioner_adapters - resampler_adapters - acq_adapters - tracking_adapters - channel_adapters - telemetry_decoder_libswiftcnav - telemetry_decoder_lib - telemetry_decoder_adapters - obs_adapters - pvt_adapters - pvt_lib - rx_core_lib - core_monitor_lib + PUBLIC + Boost::boost + Boost::thread + Gnuradio::runtime + gnss_system_parameters + rx_core_lib + core_monitor_lib + gnss_sp_libs + PRIVATE + Glog::glog + signal_source_adapters + datatype_adapters + input_filter_adapters + conditioner_adapters + resampler_adapters + acq_adapters + tracking_adapters + channel_adapters + telemetry_decoder_adapters + obs_adapters + pvt_adapters + Volkgnsssdr::volkgnsssdr +) + +set_property(TARGET gnss_rx APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ + $ + $ + $ ) diff --git a/src/core/receiver/gnss_flowgraph.cc b/src/core/receiver/gnss_flowgraph.cc index 0662f8194..87760d8e3 100644 --- a/src/core/receiver/gnss_flowgraph.cc +++ b/src/core/receiver/gnss_flowgraph.cc @@ -289,7 +289,8 @@ void GNSSFlowgraph::connect() std::cout << "Set GNSS-SDR.internal_fs_sps in configuration file" << std::endl; throw(std::invalid_argument("Set GNSS-SDR.internal_fs_sps in configuration")); } - ch_out_sample_counter = gnss_sdr_make_sample_counter(fs, sig_conditioner_.at(0)->get_right_block()->output_signature()->sizeof_stream_item(0)); + int observable_interval_ms = static_cast(configuration_->property("GNSS-SDR.observable_interval_ms", 20)); + ch_out_sample_counter = gnss_sdr_make_sample_counter(fs, observable_interval_ms, sig_conditioner_.at(0)->get_right_block()->output_signature()->sizeof_stream_item(0)); top_block_->connect(sig_conditioner_.at(0)->get_right_block(), 0, ch_out_sample_counter, 0); top_block_->connect(ch_out_sample_counter, 0, observables_->get_left_block(), channels_count_); //extra port for the sample counter pulse } diff --git a/src/core/system_parameters/CMakeLists.txt b/src/core/system_parameters/CMakeLists.txt index 45a3513c3..8490150fe 100644 --- a/src/core/system_parameters/CMakeLists.txt +++ b/src/core/system_parameters/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -100,16 +100,6 @@ set(SYSTEM_PARAMETERS_HEADERS MATH_CONSTANTS.h ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/algorithms/PVT/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib - ${GLOG_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} -) - list(SORT SYSTEM_PARAMETERS_HEADERS) list(SORT SYSTEM_PARAMETERS_SOURCES) @@ -120,6 +110,18 @@ add_library(gnss_system_parameters source_group(Headers FILES ${SYSTEM_PARAMETERS_HEADERS}) -add_dependencies(gnss_system_parameters rtklib_lib glog-${glog_RELEASE}) +target_link_libraries(gnss_system_parameters + PUBLIC + Boost::date_time + Boost::serialization + gnss_rx + rtklib_lib + PRIVATE + Gflags::gflags + Glog::glog +) -target_link_libraries(gnss_system_parameters rtklib_lib ${Boost_LIBRARIES}) +set_property(TARGET gnss_system_parameters + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) diff --git a/src/core/system_parameters/beidou_dnav_navigation_message.cc b/src/core/system_parameters/beidou_dnav_navigation_message.cc index 0b9f1be9d..7cebd5b6c 100644 --- a/src/core/system_parameters/beidou_dnav_navigation_message.cc +++ b/src/core/system_parameters/beidou_dnav_navigation_message.cc @@ -30,12 +30,12 @@ */ #include "beidou_dnav_navigation_message.h" +#include "gnss_satellite.h" #include // for boost::crc_basic, boost::crc_optimal #include #include #include #include -#include #include #include diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt index 85b250e91..ef41be12e 100644 --- a/src/main/CMakeLists.txt +++ b/src/main/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -46,29 +46,6 @@ if(ORC_FOUND) set(GNSS_SDR_OPTIONAL_HEADERS ${GNSS_SDR_OPTIONAL_HEADERS} ${ORC_INCLUDE_DIRS}) endif() -include_directories( - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/core/monitor - ${CMAKE_SOURCE_DIR}/src/core/libs - ${CMAKE_SOURCE_DIR}/src/core/libs/supl - ${CMAKE_SOURCE_DIR}/src/core/libs/supl/asn-rrlp - ${CMAKE_SOURCE_DIR}/src/core/libs/supl/asn-supl - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${ARMADILLO_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${PUGIXML_INCLUDE_DIR} - ${GNSS_SDR_OPTIONAL_HEADERS} - ${VOLK_GNSSSDR_INCLUDE_DIRS} - ${OPT_GNSSSDR_INCLUDE_DIRS} -) - -add_definitions(-DGNSS_SDR_VERSION="${VERSION}") - if(OS_IS_MACOSX) if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") set(MAC_LIBRARIES "-framework Accelerate -lc++") @@ -77,29 +54,38 @@ endif() add_executable(gnss-sdr ${CMAKE_CURRENT_SOURCE_DIR}/main.cc) +target_include_directories(gnss-sdr PRIVATE + ${GNSS_SDR_OPTIONAL_HEADERS} + ${OPT_GNSSSDR_INCLUDE_DIRS} +) + +target_compile_definitions(gnss-sdr PUBLIC -DGNSS_SDR_VERSION="${VERSION}") + add_custom_command(TARGET gnss-sdr POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $ ${CMAKE_SOURCE_DIR}/install/$ ) target_link_libraries(gnss-sdr - ${MAC_LIBRARIES} - ${THREAD_LIBRARIES} - ${Boost_LIBRARIES} - ${GNURADIO_RUNTIME_LIBRARIES} - ${GNURADIO_BLOCKS_LIBRARIES} - ${GNURADIO_FFT_LIBRARIES} - ${GNURADIO_FILTER_LIBRARIES} - ${GFlags_LIBS} - ${GLOG_LIBRARIES} - ${ARMADILLO_LIBRARIES} - ${VOLK_GNSSSDR_LIBRARIES} - ${GNSS_SDR_OPTIONAL_LIBS} - gnss_sp_libs - gnss_sdr_flags - gnss_rx + PUBLIC + Boost::filesystem + Boost::system + gnss_sdr_flags + gnss_system_parameters + gnss_sp_libs + gnss_rx + ${MAC_LIBRARIES} + ${THREAD_LIBRARIES} + ${GNSS_SDR_OPTIONAL_LIBS} + PRIVATE + rtklib_lib + Gflags::gflags + Glog::glog + Armadillo::armadillo + Volkgnsssdr::volkgnsssdr ) + install(TARGETS gnss-sdr RUNTIME DESTINATION bin COMPONENT "gnss-sdr") diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt index de39387b7..f2fc70aa2 100644 --- a/src/tests/CMakeLists.txt +++ b/src/tests/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2010-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2010-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -110,7 +110,7 @@ else() add_library(gtest ${GTEST_DIR}/src/gtest-all.cc ${GTEST_DIR}/src/gtest_main.cc) set(GTEST_LIBRARIES gtest) endif() - target_link_libraries(gtest ${THREAD_LIBRARIES}) + target_link_libraries(gtest PUBLIC ${THREAD_LIBRARIES}) endif() @@ -141,10 +141,6 @@ if(${PC_GNURADIO_RUNTIME_VERSION} VERSION_GREATER "3.7.13.4") add_definitions(-DGR_GREATER_38=1) endif() -if(${PC_GNURADIO_RUNTIME_VERSION} VERSION_GREATER "3.7.15") - add_definitions(-DGR_GREATER_38=1) -endif() - if(OPENSSL_FOUND) add_definitions(-DUSE_OPENSSL_FALLBACK=1) endif() @@ -234,7 +230,6 @@ if(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated") endif() include(GNUInstallDirs) - string(REGEX REPLACE /[^/]*$ "" LIBDIR ${CMAKE_INSTALL_LIBDIR}) if(CMAKE_VERSION VERSION_LESS 3.2) ExternalProject_Add( gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION} @@ -254,29 +249,32 @@ if(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA) SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION} BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/../../gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION} CMAKE_ARGS ${GTEST_COMPILER} ${TOOLCHAIN_ARG} -DCMAKE_INSTALL_PREFIX=${CMAKE_SOURCE_DIR}/thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install -DBUILD_EXT=OFF -DBUILD_PYTHON=OFF - BUILD_BYPRODUCTS ${CMAKE_SOURCE_DIR}/thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install/${LIBDIR}/${CMAKE_FIND_LIBRARY_PREFIXES}gpstk${CMAKE_SHARED_LIBRARY_SUFFIX} + BUILD_BYPRODUCTS ${CMAKE_SOURCE_DIR}/thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install/${CMAKE_INSTALL_LIBDIR}/${CMAKE_FIND_LIBRARY_PREFIXES}gpstk${CMAKE_SHARED_LIBRARY_SUFFIX} UPDATE_COMMAND "" PATCH_COMMAND "" ) endif() set(GPSTK_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install/include CACHE PATH "Local GPSTK headers") - set(GPSTK_LIBRARY ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install/${LIBDIR}/${CMAKE_FIND_LIBRARY_PREFIXES}gpstk${CMAKE_SHARED_LIBRARY_SUFFIX}) + set(GPSTK_LIBRARY ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install/${CMAKE_INSTALL_LIBDIR}/${CMAKE_FIND_LIBRARY_PREFIXES}gpstk${CMAKE_SHARED_LIBRARY_SUFFIX}) set(GPSTK_BINDIR ${CMAKE_CURRENT_SOURCE_DIR}/../../thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install/bin/) add_definitions(-DGPSTK_BINDIR="${GPSTK_BINDIR}") set(OWN_GPSTK True) + add_library(Gpstk::gpstk SHARED IMPORTED) + add_dependencies(Gpstk::gpstk gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}) + file(MAKE_DIRECTORY ${GPSTK_INCLUDE_DIRS}) + set_target_properties(Gpstk::gpstk PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${GPSTK_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${GPSTK_INCLUDE_DIRS};${GPSTK_INCLUDE_DIRS}/gpstk" + INTERFACE_LINK_LIBRARIES "${GPSTK_LIBRARY}" + ) else() - set(GPSTK_INCLUDE_DIRS ${GPSTK_INCLUDE_DIR}) - set(GPSTK_BINDIR ${GPSTK_LIBRARY}/../bin/) + set(GPSTK_BINDIR ${GPSTK_INCLUDE_DIR}/../bin/) add_definitions(-DGPSTK_BINDIR="${GPSTK_BINDIR}") endif() endif() -if(ENABLE_UNIT_TESTING_EXTRA) - set(GNSS_SDR_TEST_OPTIONAL_LIBS ${GNSS_SDR_TEST_OPTIONAL_LIBS} ${GPSTK_LIBRARY}) - set(GNSS_SDR_TEST_OPTIONAL_HEADERS ${GNSS_SDR_TEST_OPTIONAL_HEADERS} ${GPSTK_INCLUDE_DIRS} ${GPSTK_INCLUDE_DIRS}/gpstk) -endif() - if(ENABLE_UNIT_TESTING_EXTRA) add_definitions(-DEXTRA_TESTS) if(NOT EXISTS ${CMAKE_SOURCE_DIR}/thirdparty/signal_samples/gps_l2c_m_prn7_5msps.dat) @@ -317,52 +315,7 @@ endif() set(LIST_INCLUDE_DIRS ${GTEST_INCLUDE_DIRECTORIES} - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/core/libs - ${CMAKE_SOURCE_DIR}/src/core/libs/supl - ${CMAKE_SOURCE_DIR}/src/core/libs/supl/asn-rrlp - ${CMAKE_SOURCE_DIR}/src/core/libs/supl/asn-supl - ${CMAKE_SOURCE_DIR}/src/core/monitor - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib - ${CMAKE_SOURCE_DIR}/src/algorithms/data_type_adapter/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/data_type_adapter/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/resampler/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/resampler/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/channel/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/channel/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/tracking/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/tracking/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/tracking/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/telemetry_decoder/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/telemetry_decoder/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/telemetry_decoder/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/observables/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/observables/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/signal_source/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/signal_source/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/signal_generator/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/signal_generator/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/input_filter/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/input_filter/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/PVT/libs - ${CMAKE_SOURCE_DIR}/src/tests/unit-tests/signal-processing-blocks/libs - ${CMAKE_SOURCE_DIR}/src/tests/system-tests/libs ${CMAKE_SOURCE_DIR}/src/tests/common-files - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${ARMADILLO_INCLUDE_DIRS} - ${VOLK_INCLUDE_DIRS} - ${VOLK_GNSSSDR_INCLUDE_DIRS} - ${MATIO_INCLUDE_DIRS} - ${PUGIXML_INCLUDE_DIR} ${GNSS_SDR_TEST_OPTIONAL_HEADERS} ) @@ -374,34 +327,47 @@ include_directories(${LIST_INCLUDE_DIRS}) if(ENABLE_UNIT_TESTING) add_executable(run_tests ${CMAKE_CURRENT_SOURCE_DIR}/test_main.cc) - target_link_libraries(run_tests ${CLANG_FLAGS} - ${Boost_LIBRARIES} - ${GFlags_LIBS} - ${GLOG_LIBRARIES} - ${GTEST_LIBRARIES} - ${GNURADIO_RUNTIME_LIBRARIES} - ${GNURADIO_BLOCKS_LIBRARIES} - ${GNURADIO_FILTER_LIBRARIES} - ${GNURADIO_ANALOG_LIBRARIES} - ${ARMADILLO_LIBRARIES} - ${VOLK_LIBRARIES} - channel_fsm - gnss_sp_libs - gnss_rx - gnss_system_parameters - signal_generator_blocks - signal_generator_adapters - pvt_gr_blocks - signal_processing_testing_lib - system_testing_lib - ${VOLK_GNSSSDR_LIBRARIES} - ${MATIO_LIBRARIES} - ${GNSS_SDR_TEST_OPTIONAL_LIBS} + target_link_libraries(run_tests + PUBLIC + ${CLANG_FLAGS} + Boost::filesystem + Armadillo::armadillo + Gflags::gflags + Glog::glog + Gnuradio::runtime + Gnuradio::blocks + Gnuradio::filter + Gnuradio::analog + Matio::matio + Volk::volk + Volkgnsssdr::volkgnsssdr + ${GTEST_LIBRARIES} + gnss_sp_libs + gnss_rx + gnss_system_parameters + core_monitor_lib + signal_source_adapters + datatype_adapters + input_filter_adapters + resampler_adapters + channel_adapters + acq_adapters + tracking_adapters + tracking_lib + telemetry_decoder_adapters + obs_adapters + signal_generator_adapters + pvt_adapters + signal_processing_testing_lib + system_testing_lib + ${GNSS_SDR_TEST_OPTIONAL_LIBS} ) if(NOT ${GTEST_DIR_LOCAL}) add_dependencies(run_tests gtest-${GNSSSDR_GTEST_LOCAL_VERSION}) endif() - + if(ENABLE_UNIT_TESTING_EXTRA) + target_link_libraries(run_tests PUBLIC Gpstk::gpstk) + endif() if(ENABLE_INSTALL_TESTS) if(EXISTS ${CMAKE_SOURCE_DIR}/install/run_tests) file(REMOVE ${CMAKE_SOURCE_DIR}/install/run_tests) @@ -420,20 +386,23 @@ if(ENABLE_FPGA) ${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/tracking/gps_l1_ca_dll_pll_tracking_test_fpga.cc ) target_link_libraries(gps_l1_ca_dll_pll_tracking_test_fpga - ${Boost_LIBRARIES} - ${GFlags_LIBS} - ${GLOG_LIBRARIES} - ${GTEST_LIBRARIES} - ${GNURADIO_RUNTIME_LIBRARIES} - ${GNURADIO_BLOCKS_LIBRARIES} - ${ARMADILLO_LIBRARIES} - ${VOLK_LIBRARIES} - ${MATIO_LIBRARIES} - channel_fsm - gnss_sp_libs - gnss_rx - gnss_system_parameters - signal_processing_testing_lib + PUBLIC + ${Boost_LIBRARIES} + Gflags::gflags + Glog::glog + ${GTEST_LIBRARIES} + Gnuradio::runtime + Gnuradio::blocks + Armadillo::armadillo + Volk::volk + Matio::matio + channel_fsm + gnss_sp_libs + gnss_rx + datatype_adapters + gnss_system_parameters + signal_processing_testing_lib + tracking_adapters ) install(TARGETS gps_l1_ca_dll_pll_tracking_test_fpga RUNTIME DESTINATION bin @@ -442,7 +411,6 @@ if(ENABLE_FPGA) endif() - ################################################################################ # System testing ################################################################################ @@ -462,8 +430,8 @@ function(add_system_test executable) add_dependencies(${executable} gtest) endif() - include_directories(${OPT_INCLUDES_}) - target_link_libraries(${executable} ${OPT_LIBS_}) + target_include_directories(${executable} PUBLIC ${OPT_INCLUDES_} ${CMAKE_SOURCES_DIR}/src/algorithms/libs) + target_link_libraries(${executable} PUBLIC ${OPT_LIBS_} gnss_sp_libs) if(ENABLE_INSTALL_TESTS) if(EXISTS ${CMAKE_SOURCE_DIR}/install/${executable}) @@ -491,22 +459,21 @@ if(ENABLE_SYSTEM_TESTING) add_definitions(-DHOST_SYSTEM="${HOST_SYSTEM}") #### TTFF - set(OPT_LIBS_ ${Boost_LIBRARIES} ${THREAD_LIBRARIES} ${GFlags_LIBS} ${GLOG_LIBRARIES} - ${GNURADIO_RUNTIME_LIBRARIES} ${GTEST_LIBRARIES} - ${GNURADIO_BLOCKS_LIBRARIES} ${GNURADIO_FILTER_LIBRARIES} - ${GNURADIO_ANALOG_LIBRARIES} gnss_sp_libs + set(OPT_LIBS_ ${Boost_LIBRARIES} ${THREAD_LIBRARIES} Gflags::gflags Glog::glog + Gnuradio::runtime ${GTEST_LIBRARIES} + Gnuradio::blocks Gnuradio::filter + Gnuradio::analog gnss_sp_libs gnss_rx gnss_system_parameters) - add_system_test(ttff) if(ENABLE_SYSTEM_TESTING_EXTRA) #### POSITION_TEST - set(OPT_LIBS_ ${Boost_LIBRARIES} ${THREAD_LIBRARIES} ${GFlags_LIBS} ${GLOG_LIBRARIES} - ${GTEST_LIBRARIES} ${GNURADIO_RUNTIME_LIBRARIES} - ${GNURADIO_BLOCKS_LIBRARIES} ${GNURADIO_FILTER_LIBRARIES} - ${GNURADIO_ANALOG_LIBRARIES} ${VOLK_GNSSSDR_LIBRARIES} + set(OPT_LIBS_ ${Boost_LIBRARIES} ${THREAD_LIBRARIES} Gflags::gflags Glog::glog + ${GTEST_LIBRARIES} Gnuradio::runtime + Gnuradio::blocks Gnuradio::filter + Gnuradio::analog Matio::matio Volkgnsssdr::volkgnsssdr gnss_sp_libs gnss_rx gnss_system_parameters - system_testing_lib) + system_testing_lib signal_processing_testing_lib) add_system_test(position_test) else() # Avoid working with old executables if they were switched ON and then OFF @@ -534,17 +501,23 @@ add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND}) add_executable(flowgraph_test ${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc ${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/control-plane/gnss_flowgraph_test.cc) -target_link_libraries(flowgraph_test ${Boost_LIBRARIES} - ${GFlags_LIBS} - ${GLOG_LIBRARIES} - ${GNURADIO_RUNTIME_LIBRARIES} +target_link_libraries(flowgraph_test PUBLIC ${Boost_LIBRARIES} + Gflags::gflags + Glog::glog + Gnuradio::runtime ${GTEST_LIBRARIES} gnss_sp_libs gnss_rx gnss_system_parameters - ${VOLK_GNSSSDR_LIBRARIES} + signal_source_adapters + signal_source_gr_blocks + input_filter_adapters + channel_adapters + Volkgnsssdr::volkgnsssdr ) +target_include_directories(flowgraph_test PUBLIC ${CMAKE_SOURCE_DIR}/src/algorithms/libs) + add_test(flowgraph_test flowgraph_test) if(NOT ${GTEST_DIR_LOCAL}) add_dependencies(flowgraph_test gtest-${GNSSSDR_GTEST_LOCAL_VERSION}) @@ -565,19 +538,24 @@ add_executable(gnss_block_test ${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc ${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/adapter/adapter_test.cc ${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/control-plane/gnss_block_factory_test.cc ) -target_link_libraries(gnss_block_test ${Boost_LIBRARIES} - ${GFlags_LIBS} - ${GLOG_LIBRARIES} +target_link_libraries(gnss_block_test PUBLIC ${Boost_LIBRARIES} + Gflags::gflags + Glog::glog ${GTEST_LIBRARIES} - ${GNURADIO_RUNTIME_LIBRARIES} - ${GNURADIO_BLOCKS_LIBRARIES} - ${GNURADIO_FILTER_LIBRARIES} - ${GNURADIO_ANALOG_LIBRARIES} + Gnuradio::runtime + Gnuradio::blocks + Gnuradio::filter + Gnuradio::analog + signal_source_adapters + datatype_adapters + input_filter_adapters + channel_adapters gnss_sp_libs gnss_rx gnss_system_parameters - ${VOLK_GNSSSDR_LIBRARIES} + Volkgnsssdr::volkgnsssdr ) +target_include_directories(gnss_block_test PUBLIC ${CMAKE_SOURCE_DIR}/src/algorithms/libs) add_test(gnss_block_test gnss_block_test) if(NOT ${GTEST_DIR_LOCAL}) add_dependencies(gnss_block_test gtest-${GNSSSDR_GTEST_LOCAL_VERSION}) @@ -592,17 +570,18 @@ add_executable(gnuradio_block_test ${CMAKE_CURRENT_SOURCE_DIR}/single_test_main. ${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/sources/unpack_2bit_samples_test.cc ) target_link_libraries(gnuradio_block_test ${Boost_LIBRARIES} - ${GFlags_LIBS} - ${GLOG_LIBRARIES} + Gflags::gflags + Glog::glog ${GTEST_LIBRARIES} - ${GNURADIO_RUNTIME_LIBRARIES} - ${GNURADIO_BLOCKS_LIBRARIES} - ${GNURADIO_FILTER_LIBRARIES} - ${GNURADIO_ANALOG_LIBRARIES} + Gnuradio::runtime + Gnuradio::blocks + Gnuradio::filter + Gnuradio::analog gnss_sp_libs gnss_rx gnss_system_parameters - ${VOLK_GNSSSDR_LIBRARIES} + signal_source_gr_blocks + Volkgnsssdr::volkgnsssdr ) add_test(gnuradio_block_test gnuradio_block_test) if(NOT ${GTEST_DIR_LOCAL}) @@ -617,27 +596,18 @@ set_property(TEST gnuradio_block_test PROPERTY TIMEOUT 30) add_executable(matio_test ${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc ${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/arithmetic/matio_test.cc ) -target_link_libraries(matio_test ${Boost_LIBRARIES} - ${GFlags_LIBS} - ${GLOG_LIBRARIES} - ${GTEST_LIBRARIES} - ${MATIO_LIBRARIES} - gnss_system_parameters +target_link_libraries(matio_test + PUBLIC + Gflags::gflags + Glog::glog + gnss_rx + ${GTEST_LIBRARIES} + gnss_system_parameters + Matio::matio ) + add_test(matio_test matio_test) -if(NOT ${GTEST_DIR_LOCAL}) - if(MATIO_FOUND) - add_dependencies(matio_test gtest-${GNSSSDR_GTEST_LOCAL_VERSION}) - else() - add_dependencies(matio_test gtest-${GNSSSDR_GTEST_LOCAL_VERSION} matio-${GNSSSDR_MATIO_LOCAL_VERSION}) - endif() -else() - if(MATIO_FOUND) - add_dependencies(matio_test gtest) - else() - add_dependencies(matio_test gtest matio-${GNSSSDR_MATIO_LOCAL_VERSION}) - endif() -endif() + set_property(TEST matio_test PROPERTY TIMEOUT 30) ######################################################### @@ -645,20 +615,25 @@ set_property(TEST matio_test PROPERTY TIMEOUT 30) add_executable(acq_test ${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc ${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/acquisition/gps_l1_ca_pcps_acquisition_test.cc) -target_link_libraries(acq_test ${Boost_LIBRARIES} - ${GFlags_LIBS} - ${GLOG_LIBRARIES} - ${GTEST_LIBRARIES} - ${GNURADIO_RUNTIME_LIBRARIES} - ${GNURADIO_BLOCKS_LIBRARIES} - ${GNURADIO_FILTER_LIBRARIES} - ${GNURADIO_ANALOG_LIBRARIES} - gnss_sp_libs - gnss_rx - gnss_system_parameters - signal_generator_blocks - signal_processing_testing_lib - ${VOLK_GNSSSDR_LIBRARIES}) +target_link_libraries(acq_test + PUBLIC + ${Boost_LIBRARIES} + Gflags::gflags + Glog::glog + ${GTEST_LIBRARIES} + Gnuradio::runtime + Gnuradio::blocks + Gnuradio::filter + Gnuradio::analog + gnss_sp_libs + gnss_rx + gnss_system_parameters + signal_generator_blocks + acq_adapters + signal_processing_testing_lib + Volkgnsssdr::volkgnsssdr +) + add_test(acq_test acq_test) if(NOT ${GTEST_DIR_LOCAL}) add_dependencies(acq_test acq_test gtest-${GNSSSDR_GTEST_LOCAL_VERSION}) @@ -676,19 +651,22 @@ add_executable(trk_test ${CMAKE_CURRENT_SOURCE_DIR}/single_test_main.cc ${CMAKE_CURRENT_SOURCE_DIR}/unit-tests/signal-processing-blocks/tracking/bayesian_estimation_test.cc ) -target_link_libraries(trk_test ${Boost_LIBRARIES} - ${GFlags_LIBS} - ${GLOG_LIBRARIES} - ${GTEST_LIBRARIES} - ${GNURADIO_RUNTIME_LIBRARIES} - ${GNURADIO_BLOCKS_LIBRARIES} - ${GNURADIO_FILTER_LIBRARIES} - ${GNURADIO_ANALOG_LIBRARIES} - gnss_sp_libs - gnss_rx - gnss_system_parameters - signal_generator_blocks - ${VOLK_GNSSSDR_LIBRARIES} +target_link_libraries(trk_test + PUBLIC + ${Boost_LIBRARIES} + Gflags::gflags + Glog::glog + ${GTEST_LIBRARIES} + Gnuradio::runtime + Gnuradio::blocks + Gnuradio::filter + Gnuradio::analog + gnss_sp_libs + gnss_rx + tracking_adapters + gnss_system_parameters + signal_generator_blocks + Volkgnsssdr::volkgnsssdr ) add_test(trk_test trk_test) if(NOT ${GTEST_DIR_LOCAL}) @@ -708,8 +686,10 @@ if(NOT ENABLE_PACKAGING) ) target_link_libraries(control_thread_test ${Boost_LIBRARIES} - ${GFlags_LIBS} - ${GLOG_LIBRARIES} + Gflags::gflags + Glog::glog + signal_source_adapters + gnss_sp_libs ${GTEST_LIBRARIES} gnss_rx ) @@ -726,8 +706,7 @@ endif() ######################################################### if(ENABLE_PACKAGING) - add_dependencies(check flowgraph_test gnss_block_test - gnuradio_block_test acq_test trk_test matio_test) + add_dependencies(check matio_test) else() add_dependencies(check control_thread_test flowgraph_test gnss_block_test gnuradio_block_test acq_test trk_test matio_test) diff --git a/src/tests/system-tests/libs/CMakeLists.txt b/src/tests/system-tests/libs/CMakeLists.txt index 178f83479..921d3cbf0 100644 --- a/src/tests/system-tests/libs/CMakeLists.txt +++ b/src/tests/system-tests/libs/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -22,15 +22,6 @@ set(SYSTEM_TESTING_LIB_SOURCES rtklib_solver_dump_reader.cc ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${Boost_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${MATIO_INCLUDE_DIRS} - ${ARMADILLO_INCLUDE_DIRS} -) - file(GLOB SYSTEM_TESTING_LIB_HEADERS "*.h") list(SORT SYSTEM_TESTING_LIB_HEADERS) @@ -41,11 +32,16 @@ add_library(system_testing_lib source_group(Headers FILES ${SYSTEM_TESTING_LIB_HEADERS}) -if(NOT MATIO_FOUND) - add_dependencies(system_testing_lib - armadillo-${armadillo_RELEASE} - matio-${GNSSSDR_MATIO_LOCAL_VERSION} - ) -else() - add_dependencies(system_testing_lib armadillo-${armadillo_RELEASE}) -endif() +target_link_libraries(system_testing_lib + PUBLIC + Armadillo::armadillo + Gflags::gflags + PRIVATE + Boost::boost + Matio::matio +) + +set_property(TARGET system_testing_lib + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) 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 d0bd655d7..b98390b27 100644 --- a/src/tests/unit-tests/signal-processing-blocks/libs/CMakeLists.txt +++ b/src/tests/unit-tests/signal-processing-blocks/libs/CMakeLists.txt @@ -27,16 +27,6 @@ set(SIGNAL_PROCESSING_TESTING_LIB_SOURCES true_observables_reader.cc ) -include_directories( - ${CMAKE_CURRENT_SOURCE_DIR} - ${Boost_INCLUDE_DIRS} - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${MATIO_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} -) - - file(GLOB SIGNAL_PROCESSING_TESTING_LIB_HEADERS "*.h") list(SORT SIGNAL_PROCESSING_TESTING_LIB_HEADERS) @@ -47,10 +37,18 @@ add_library(signal_processing_testing_lib source_group(Headers FILES ${SIGNAL_PROCESSING_TESTING_LIB_HEADERS}) -if(NOT MATIO_FOUND) - add_dependencies(signal_processing_testing_lib - matio-${GNSSSDR_MATIO_LOCAL_VERSION} glog-${glog_RELEASE} - ) -else() - add_dependencies(signal_processing_testing_lib glog-${glog_RELEASE}) -endif() +target_link_libraries(signal_processing_testing_lib + PUBLIC + Armadillo::armadillo + Gflags::gflags + Gnuradio::runtime + PRIVATE + Boost::boost + Matio::matio + Glog::glog +) + +set_property(TARGET signal_processing_testing_lib + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ +) diff --git a/src/tests/unit-tests/signal-processing-blocks/tracking/tracking_pull-in_test_fpga.cc b/src/tests/unit-tests/signal-processing-blocks/tracking/tracking_pull-in_test_fpga.cc index 0c4683d7a..44cb83374 100644 --- a/src/tests/unit-tests/signal-processing-blocks/tracking/tracking_pull-in_test_fpga.cc +++ b/src/tests/unit-tests/signal-processing-blocks/tracking/tracking_pull-in_test_fpga.cc @@ -31,6 +31,7 @@ */ #include "GPS_L1_CA.h" +#include "acquisition_msg_rx.h" #include "galileo_e5a_noncoherent_iq_acquisition_caf.h" #include "galileo_e5a_pcps_acquisition.h" #include "gnss_block_factory.h" @@ -60,59 +61,6 @@ #include -// ######## GNURADIO ACQUISITION BLOCK MESSAGE RECEVER ######### -class Acquisition_msg_rx; - -typedef boost::shared_ptr Acquisition_msg_rx_sptr; - -Acquisition_msg_rx_sptr Acquisition_msg_rx_make(); - - -class Acquisition_msg_rx : public gr::block -{ -private: - friend Acquisition_msg_rx_sptr Acquisition_msg_rx_make(); - void msg_handler_events(pmt::pmt_t msg); - Acquisition_msg_rx(); - -public: - int rx_message; - gr::top_block_sptr top_block; - ~Acquisition_msg_rx(); //!< Default destructor -}; - - -Acquisition_msg_rx_sptr Acquisition_msg_rx_make() -{ - return Acquisition_msg_rx_sptr(new Acquisition_msg_rx()); -} - - -void Acquisition_msg_rx::msg_handler_events(pmt::pmt_t msg) -{ - try - { - int64_t message = pmt::to_long(msg); - rx_message = message; - top_block->stop(); //stop the flowgraph - } - catch (boost::bad_any_cast& e) - { - LOG(WARNING) << "msg_handler_acquisition Bad cast!\n"; - rx_message = 0; - } -} - - -Acquisition_msg_rx::Acquisition_msg_rx() : gr::block("Acquisition_msg_rx", gr::io_signature::make(0, 0, 0), gr::io_signature::make(0, 0, 0)) -{ - this->message_port_register_in(pmt::mp("events")); - this->set_msg_handler(pmt::mp("events"), boost::bind(&Acquisition_msg_rx::msg_handler_events, this, _1)); - rx_message = 0; -} - - -Acquisition_msg_rx::~Acquisition_msg_rx() {} // ######## GNURADIO TRACKING BLOCK MESSAGE RECEVER ######### class TrackingPullInTestFpga_msg_rx; diff --git a/src/utils/front-end-cal/CMakeLists.txt b/src/utils/front-end-cal/CMakeLists.txt index 16dfa40be..a52929585 100644 --- a/src/utils/front-end-cal/CMakeLists.txt +++ b/src/utils/front-end-cal/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -17,62 +17,34 @@ # -if(OPENSSL_FOUND) - add_definitions(-DUSE_OPENSSL_FALLBACK=1) -endif() - set(FRONT_END_CAL_SOURCES front_end_cal.cc) set(FRONT_END_CAL_HEADERS front_end_cal.h) -include_directories( - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${CMAKE_SOURCE_DIR}/src/core/interfaces - ${CMAKE_SOURCE_DIR}/src/core/receiver - ${CMAKE_SOURCE_DIR}/src/core/libs - ${CMAKE_SOURCE_DIR}/src/core/libs/supl - ${CMAKE_SOURCE_DIR}/src/core/libs/supl/asn-rrlp - ${CMAKE_SOURCE_DIR}/src/core/libs/supl/asn-supl - ${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/adapters - ${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/gnuradio_blocks - ${CMAKE_SOURCE_DIR}/src/algorithms/acquisition/libs - ${CMAKE_SOURCE_DIR}/src/algorithms/libs - ${GLOG_INCLUDE_DIRS} - ${GFlags_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${GNURADIO_BLOCKS_INCLUDE_DIRS} - ${ARMADILLO_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ${PUGIXML_INCLUDE_DIR} - ${VOLK_GNSSSDR_INCLUDE_DIRS} -) - add_library(front_end_cal_lib ${FRONT_END_CAL_SOURCES} ${FRONT_END_CAL_HEADERS}) source_group(Headers FILES ${FRONT_END_CAL_HEADERS}) target_link_libraries(front_end_cal_lib - ${MAC_LIBRARIES} - ${THREAD_LIBRARIES} - ${Boost_LIBRARIES} - ${GNURADIO_RUNTIME_LIBRARIES} - ${GNURADIO_BLOCKS_LIBRARIES} - ${GNURADIO_FFT_LIBRARIES} - ${GNURADIO_FILTER_LIBRARIES} - ${GFlags_LIBS} - ${GLOG_LIBRARIES} - ${ARMADILLO_LIBRARIES} - ${VOLK_GNSSSDR_LIBRARIES} ${ORC_LIBRARIES} - ${GNSS_SDR_OPTIONAL_LIBS} - rx_core_lib - gnss_sdr_flags - gnss_rx - channel_fsm + PUBLIC + Armadillo::armadillo + ${MAC_LIBRARIES} + ${THREAD_LIBRARIES} + acq_adapters + Volkgnsssdr::volkgnsssdr ${ORC_LIBRARIES} + ${GNSS_SDR_OPTIONAL_LIBS} + rx_core_lib + gnss_sdr_flags + gnss_rx + channel_fsm + gnss_sp_libs + PRIVATE + Glog::glog + Gnuradio::blocks + Gnuradio::runtime + Boost::boost + Boost::serialization + Boost::thread ) -add_dependencies(front_end_cal_lib glog-${glog_RELEASE} armadillo-${armadillo_RELEASE}) - -add_definitions(-DGNSS_SDR_VERSION="${VERSION}") -add_definitions(-DGNSSSDR_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}") - add_executable(front-end-cal ${CMAKE_CURRENT_SOURCE_DIR}/main.cc) add_custom_command(TARGET front-end-cal POST_BUILD @@ -80,20 +52,22 @@ add_custom_command(TARGET front-end-cal POST_BUILD ${CMAKE_SOURCE_DIR}/install/$) target_link_libraries(front-end-cal - ${MAC_LIBRARIES} - ${Boost_LIBRARIES} - ${GNURADIO_RUNTIME_LIBRARIES} - ${GNURADIO_BLOCKS_LIBRARIES} - ${GNURADIO_FFT_LIBRARIES} - ${GNURADIO_FILTER_LIBRARIES} - ${GFlags_LIBS} - ${GLOG_LIBRARIES} - ${ARMADILLO_LIBRARIES} - ${VOLK_GNSSSDR_LIBRARIES} ${ORC_LIBRARIES} - ${GNSS_SDR_OPTIONAL_LIBS} - rx_core_lib - gnss_rx - front_end_cal_lib + PUBLIC + ${MAC_LIBRARIES} + Volkgnsssdr::volkgnsssdr ${ORC_LIBRARIES} + ${GNSS_SDR_OPTIONAL_LIBS} + rx_core_lib + gnss_rx + front_end_cal_lib + gnss_sdr_flags + PRIVATE + Glog::glog + Armadillo::armadillo +) + +target_compile_definitions(front-end-cal + PUBLIC -DGNSS_SDR_VERSION="${VERSION}" + PUBLIC -DGNSSSDR_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}" ) install(TARGETS front-end-cal diff --git a/src/utils/rinex2assist/CMakeLists.txt b/src/utils/rinex2assist/CMakeLists.txt index 344c0694b..636f540d7 100644 --- a/src/utils/rinex2assist/CMakeLists.txt +++ b/src/utils/rinex2assist/CMakeLists.txt @@ -19,14 +19,35 @@ find_package(GPSTK QUIET) if(NOT GPSTK_FOUND OR ENABLE_OWN_GPSTK) include(GNUInstallDirs) - string(REGEX REPLACE /[^/]*$ "" LIBDIR ${CMAKE_INSTALL_LIBDIR}) - set(GPSTK_LIBRARY ${CMAKE_CURRENT_SOURCE_DIR}/../../../thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install/${LIBDIR}/${CMAKE_FIND_LIBRARY_PREFIXES}gpstk${CMAKE_SHARED_LIBRARY_SUFFIX}) + #string(REGEX REPLACE /[^/]*$ "" LIBDIR ${CMAKE_INSTALL_LIBDIR}) + set(GPSTK_LIBRARY ${CMAKE_CURRENT_SOURCE_DIR}/../../../thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install/${CMAKE_INSTALL_LIBDIR}/${CMAKE_FIND_LIBRARY_PREFIXES}gpstk${CMAKE_SHARED_LIBRARY_SUFFIX}) set(GPSTK_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install/include) endif() set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} ${GPSTK_INCLUDE_DIR}/gpstk) find_package(Boost COMPONENTS iostreams serialization QUIET) +if(CMAKE_VERSION VERSION_LESS 3.5) + if(NOT TARGET Boost::iostreams) + add_library(Boost::iostreams IMPORTED SHARED) + set_property(TARGET Boost::iostreams PROPERTY + INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR}) + set_property(TARGET Boost::iostreams PROPERTY + INTERFACE_LINK_LIBRARIES ${Boost_IOSTREAMS_LIBRARIES}) + set_property(TARGET Boost::iostreams PROPERTY + IMPORTED_LOCATION ${Boost_IOSTREAMS_LIBRARIES}) + endif() + if(NOT TARGET Boost::serialization) + add_library(Boost::serialization IMPORTED SHARED) + set_property(TARGET Boost::serialization PROPERTY + INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR}) + set_property(TARGET Boost::serialization PROPERTY + INTERFACE_LINK_LIBRARIES ${Boost_SERIALIZARION_LIBRARIES}) + set_property(TARGET Boost::serialization PROPERTY + IMPORTED_LOCATION ${Boost_SERIALIZARION_LIBRARIES}) + endif() +endif() + find_program(UNCOMPRESS_EXECUTABLE uncompress PATHS /bin @@ -34,17 +55,8 @@ find_program(UNCOMPRESS_EXECUTABLE uncompress /usr/sbin ) -if(NOT UNCOMPRESS_EXECUTABLE-NOTFOUND) - add_definitions(-DUNCOMPRESS_EXECUTABLE="${UNCOMPRESS_EXECUTABLE}") -else() - add_definitions(-DUNCOMPRESS_EXECUTABLE="") -endif() - if(Boost_FOUND) include_directories( - ${CMAKE_SOURCE_DIR}/src/core/system_parameters - ${GFlags_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} ${GPSTK_INCLUDE_DIR}/gpstk ${GPSTK_INCLUDE_DIR} ) @@ -54,13 +66,22 @@ if(Boost_FOUND) add_executable(rinex2assist ${CMAKE_CURRENT_SOURCE_DIR}/main.cc) target_link_libraries(rinex2assist - ${Boost_LIBRARIES} - ${GPSTK_LIBRARY} - ${GFlags_LIBS} - gnss_sp_libs - gnss_rx + PUBLIC + Boost::iostreams + Boost::serialization + ${GPSTK_LIBRARY} + Gflags::gflags + gnss_system_parameters + gnss_sp_libs + gnss_rx ) + if(NOT UNCOMPRESS_EXECUTABLE-NOTFOUND) + target_compile_definitions(rinex2assist PUBLIC -DUNCOMPRESS_EXECUTABLE="${UNCOMPRESS_EXECUTABLE}") + else() + target_compile_definitions(rinex2assist PUBLIC -DUNCOMPRESS_EXECUTABLE="") + endif() + if(NOT GPSTK_FOUND OR ENABLE_OWN_GPSTK) add_dependencies(rinex2assist gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}) endif() From d4da5d28796e668febaebcc637d87f7362bb8027 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sun, 3 Feb 2019 20:28:49 +0100 Subject: [PATCH 03/19] Add Gflags::gflags private target --- src/algorithms/signal_source/adapters/CMakeLists.txt | 3 +-- .../signal_source/gnuradio_blocks/CMakeLists.txt | 7 +------ 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/algorithms/signal_source/adapters/CMakeLists.txt b/src/algorithms/signal_source/adapters/CMakeLists.txt index d13ecc361..070029cbc 100644 --- a/src/algorithms/signal_source/adapters/CMakeLists.txt +++ b/src/algorithms/signal_source/adapters/CMakeLists.txt @@ -197,7 +197,6 @@ set(SIGNAL_SOURCE_ADAPTER_HEADERS ${OPT_DRIVER_HEADERS} ) - if(PC_GNURADIO_RUNTIME_VERSION VERSION_GREATER 3.7.3) set(SIGNAL_SOURCE_ADAPTER_SOURCES ${SIGNAL_SOURCE_ADAPTER_SOURCES} two_bit_cpx_file_signal_source.cc @@ -226,7 +225,6 @@ target_link_libraries(signal_source_adapters Boost::boost Gnuradio::runtime signal_source_gr_blocks - ${Boost_LIBRARIES} ${GNURADIO_PMT_LIBRARIES} ${GNURADIO_BLOCKS_LIBRARIES} ${OPT_LIBRARIES} @@ -234,6 +232,7 @@ target_link_libraries(signal_source_adapters gnss_rx signal_source_lib PRIVATE + Gflags::gflags Glog::glog Volk::volk ) diff --git a/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt b/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt index 442701bb2..5cc96054c 100644 --- a/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt @@ -57,12 +57,6 @@ set(SIGNAL_SOURCE_GR_BLOCKS_HEADERS include_directories( - #${CMAKE_CURRENT_SOURCE_DIR} - #${CMAKE_SOURCE_DIR}/src/algorithms/signal_source/libs - #${GLOG_INCLUDE_DIRS} - #${GFlags_INCLUDE_DIRS} - #${GNURADIO_RUNTIME_INCLUDE_DIRS} - #${Boost_INCLUDE_DIRS} ${OPT_DRIVER_INCLUDE_DIRS} ) @@ -83,6 +77,7 @@ target_link_libraries(signal_source_gr_blocks Boost::thread ${OPT_LIBRARIES} PRIVATE + Gflags::gflags Glog::glog ) From eb281bcd686f2393af6a7d5238368f6aa15fa745 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Sun, 3 Feb 2019 21:12:24 +0100 Subject: [PATCH 04/19] Fix cross-compilation --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index a94195ddc..30155d8e4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -413,6 +413,9 @@ endif() if(NOT OS_IS_MACOSX) if(CMAKE_CROSSCOMPILING) set(IS_ARM TRUE) + if(NOT CMAKE_NO_SYSTEM_FROM_IMPORTED) + set(CMAKE_NO_SYSTEM_FROM_IMPORTED TRUE) + endif() else() include(TestForARM) endif() From 999604cd75ae590a06b721bda42e4ee117feaa37 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Mon, 4 Feb 2019 08:11:28 +0100 Subject: [PATCH 05/19] Add Boost::atomic target, required by Boost::thread in some configurations (e.g. OpenSUSE) --- CMakeLists.txt | 11 ++++++++++- src/utils/front-end-cal/CMakeLists.txt | 9 ++++----- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 30155d8e4..30bc7ce8c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -501,7 +501,7 @@ set(Boost_ADDITIONAL_VERSIONS ) set(Boost_USE_MULTITHREAD ON) set(Boost_USE_STATIC_LIBS OFF) -find_package(Boost COMPONENTS date_time system filesystem thread serialization chrono REQUIRED) +find_package(Boost COMPONENTS date_time system filesystem thread serialization chrono atomic REQUIRED) if(NOT Boost_FOUND) message(FATAL_ERROR "Fatal error: Boost (version >=${GNSSSDR_BOOST_MIN_VERSION}) required.") endif() @@ -568,6 +568,15 @@ if(CMAKE_VERSION VERSION_LESS 3.5) set_property(TARGET Boost::chrono PROPERTY IMPORTED_LOCATION ${Boost_CHRONO_LIBRARIES}) endif() + if(NOT TARGET Boost::atomic) + add_library(Boost::atomic SHARED IMPORTED) + set_property(TARGET Boost::atomic PROPERTY + INTERFACE_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIR}) + set_property(TARGET Boost::atomic PROPERTY + INTERFACE_LINK_LIBRARIES ${Boost_ATOMIC_LIBRARIES}) + set_property(TARGET Boost::atomic PROPERTY + IMPORTED_LOCATION ${Boost_ATOMIC_LIBRARIES}) + endif() endif() diff --git a/src/utils/front-end-cal/CMakeLists.txt b/src/utils/front-end-cal/CMakeLists.txt index a52929585..bb2614408 100644 --- a/src/utils/front-end-cal/CMakeLists.txt +++ b/src/utils/front-end-cal/CMakeLists.txt @@ -40,17 +40,12 @@ target_link_libraries(front_end_cal_lib Glog::glog Gnuradio::blocks Gnuradio::runtime - Boost::boost Boost::serialization Boost::thread ) add_executable(front-end-cal ${CMAKE_CURRENT_SOURCE_DIR}/main.cc) -add_custom_command(TARGET front-end-cal POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy $ - ${CMAKE_SOURCE_DIR}/install/$) - target_link_libraries(front-end-cal PUBLIC ${MAC_LIBRARIES} @@ -70,6 +65,10 @@ target_compile_definitions(front-end-cal PUBLIC -DGNSSSDR_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}" ) +add_custom_command(TARGET front-end-cal POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy $ + ${CMAKE_SOURCE_DIR}/install/$) + install(TARGETS front-end-cal RUNTIME DESTINATION bin COMPONENT "front-end-cal" From d6a3ab2f6ff79f31881c85cde90a1e138f313e7d Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Mon, 4 Feb 2019 08:12:25 +0100 Subject: [PATCH 06/19] Add Log4cpp::log4cpp imported target --- cmake/Modules/FindLOG4CPP.cmake | 22 +++++++++++++++++-- .../gnuradio_blocks/CMakeLists.txt | 2 +- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/cmake/Modules/FindLOG4CPP.cmake b/cmake/Modules/FindLOG4CPP.cmake index 283c3ddf9..29c7308fa 100644 --- a/cmake/Modules/FindLOG4CPP.cmake +++ b/cmake/Modules/FindLOG4CPP.cmake @@ -1,4 +1,4 @@ -# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2011-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -21,7 +21,10 @@ # LOG4CPP_INCLUDE_DIR - where to find LOG4CPP.h, etc. # LOG4CPP_LIBRARIES - List of libraries when using LOG4CPP. # LOG4CPP_FOUND - True if LOG4CPP found. - +# +# Provides the following imported target: +# Log4cpp::log4cpp +# if(LOG4CPP_INCLUDE_DIR) # Already in cache, be silent @@ -90,3 +93,18 @@ endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args(LOG4CPP DEFAULT_MSG LOG4CPP_INCLUDE_DIRS LOG4CPP_LIBRARIES) + +if (LOG4CPP_FOUND AND NOT TARGET Log4cpp::log4cpp) + add_library(Log4cpp::log4cpp SHARED IMPORTED) + set_target_properties(Log4cpp::log4cpp PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${LOG4CPP_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${LOG4CPP_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${LOG4CPP_LIBRARIES}" + ) +endif() + +mark_as_advanced( + LOG4CPP_LIBRARIES + LOG4CPP_INCLUDE_DIRS +) diff --git a/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt b/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt index 29b909273..b22aa79c4 100644 --- a/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt @@ -48,7 +48,7 @@ target_link_libraries(input_filter_gr_blocks PRIVATE Gflags::gflags Glog::glog - ${LOG4CPP_LIBRARIES} + Log4cpp::log4cpp ) set_property(TARGET input_filter_gr_blocks From 1242d652c09eadb59e498d1e5598ae68b25e288c Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Mon, 4 Feb 2019 08:12:55 +0100 Subject: [PATCH 07/19] Add Gnuradio::pmt target --- src/core/monitor/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/core/monitor/CMakeLists.txt b/src/core/monitor/CMakeLists.txt index bd8d2d233..a99668910 100644 --- a/src/core/monitor/CMakeLists.txt +++ b/src/core/monitor/CMakeLists.txt @@ -40,9 +40,11 @@ source_group(Headers FILES ${CORE_MONITOR_LIBS_HEADERS}) target_link_libraries(core_monitor_lib PUBLIC Boost::serialization + Boost::system gnss_system_parameters Gnuradio::runtime PRIVATE + Gnuradio::pmt Glog::glog ) From 9d88b03b39ecb6efd0a5ba6406faa40d7131473f Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Mon, 4 Feb 2019 08:14:38 +0100 Subject: [PATCH 08/19] Remove unused definition --- src/algorithms/signal_source/adapters/CMakeLists.txt | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/algorithms/signal_source/adapters/CMakeLists.txt b/src/algorithms/signal_source/adapters/CMakeLists.txt index 070029cbc..ae0ee65e1 100644 --- a/src/algorithms/signal_source/adapters/CMakeLists.txt +++ b/src/algorithms/signal_source/adapters/CMakeLists.txt @@ -206,10 +206,6 @@ if(PC_GNURADIO_RUNTIME_VERSION VERSION_GREATER 3.7.3) two_bit_packed_file_signal_source.h) endif() -if(ARCH_64BITS) - add_definitions(-DARCH_64BITS=1) -endif() - add_definitions(-DGNSSSDR_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}") list(SORT SIGNAL_SOURCE_ADAPTER_HEADERS) @@ -224,19 +220,20 @@ target_link_libraries(signal_source_adapters PUBLIC Boost::boost Gnuradio::runtime + Gnuradio::blocks signal_source_gr_blocks - ${GNURADIO_PMT_LIBRARIES} - ${GNURADIO_BLOCKS_LIBRARIES} - ${OPT_LIBRARIES} gnss_sp_libs gnss_rx signal_source_lib + ${OPT_LIBRARIES} PRIVATE Gflags::gflags Glog::glog Volk::volk ) +target_compile_definitions(signal_source_adapters PRIVATE -DGNSSSDR_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}") + set_property(TARGET signal_source_adapters APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $ $ From 4f440f63dc7682b57f21c7ccf6502b66378b9159 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Mon, 4 Feb 2019 11:17:51 +0100 Subject: [PATCH 09/19] Fix CMake complain about unexisting directory --- src/tests/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt index f2fc70aa2..76f4a0bcd 100644 --- a/src/tests/CMakeLists.txt +++ b/src/tests/CMakeLists.txt @@ -262,6 +262,7 @@ if(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA) add_library(Gpstk::gpstk SHARED IMPORTED) add_dependencies(Gpstk::gpstk gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}) file(MAKE_DIRECTORY ${GPSTK_INCLUDE_DIRS}) + file(MAKE_DIRECTORY ${GPSTK_INCLUDE_DIRS}/gpstk) set_target_properties(Gpstk::gpstk PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" IMPORTED_LOCATION "${GPSTK_LIBRARY}" From 9b94a4dec0e2f61e80e39c0701e89957b9c59ec2 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Mon, 4 Feb 2019 16:07:29 +0100 Subject: [PATCH 10/19] Add more imported targets to CMake scripts --- CMakeLists.txt | 11 ++++ cmake/Modules/FindGRIIO.cmake | 19 +++++- cmake/Modules/FindGROSMOSDR.cmake | 18 +++++- cmake/Modules/FindLIBIIO.cmake | 18 +++++- cmake/Modules/FindLIBOSMOSDR.cmake | 15 +++++ cmake/Modules/FindPCAP.cmake | 21 ++++-- cmake/Modules/FindUHD.cmake | 19 +++++- src/algorithms/libs/rtklib/rtklib_stream.cc | 6 +- .../signal_source/adapters/CMakeLists.txt | 53 +++++++++------ .../gnuradio_blocks/CMakeLists.txt | 19 ++---- .../signal_source/libs/CMakeLists.txt | 43 +++++++------ src/core/libs/CMakeLists.txt | 3 +- src/core/libs/gnss_sdr_supl_client.cc | 1 + src/core/libs/gnss_sdr_supl_client.h | 1 - src/core/receiver/CMakeLists.txt | 64 +++++++------------ src/core/system_parameters/CMakeLists.txt | 5 +- .../system_parameters/beidou_dnav_ephemeris.h | 2 - src/core/system_parameters/beidou_dnav_iono.h | 2 - .../system_parameters/beidou_dnav_utc_model.h | 1 - .../system_parameters/galileo_ephemeris.h | 1 - src/core/system_parameters/rtcm.cc | 1 - 21 files changed, 207 insertions(+), 116 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 30bc7ce8c..7959951bf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1488,6 +1488,17 @@ if(ENABLE_UHD) else() set(GR_REQUIRED_COMPONENTS UHD) find_package(Gnuradio) + if(NOT TARGET Gnuradio::uhd) + add_library(Gnuradio::uhd SHARED IMPORTED) + list(GET GNURADIO_UHD_LIBRARIES 0 FIRST_DIR) + get_filename_component(GNURADIO_UHD_DIR ${FIRST_DIR} ABSOLUTE) + set_target_properties(Gnuradio::uhd PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${GNURADIO_UHD_DIR}" + INTERFACE_INCLUDE_DIRECTORIES "${GNURADIO_UHD_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${GNURADIO_UHD_LIBRARIES}" + ) + endif() endif() endif() diff --git a/cmake/Modules/FindGRIIO.cmake b/cmake/Modules/FindGRIIO.cmake index 6d341e7fd..8cb8e9efc 100644 --- a/cmake/Modules/FindGRIIO.cmake +++ b/cmake/Modules/FindGRIIO.cmake @@ -1,4 +1,4 @@ -# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2011-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -15,6 +15,12 @@ # You should have received a copy of the GNU General Public License # along with GNSS-SDR. If not, see . +# +# Provides the following imported target: +# Gnuradio::iio +# + + include(FindPkgConfig) pkg_check_modules(PC_IIO gnuradio-iio) @@ -69,4 +75,15 @@ find_library(IIO_LIBRARIES include(FindPackageHandleStandardArgs) find_package_handle_standard_args(GRIIO DEFAULT_MSG IIO_LIBRARIES IIO_INCLUDE_DIRS) + +if(GRIIO_FOUND AND NOT TARGET Gnuradio::iio) + add_library(Gnuradio::iio SHARED IMPORTED) + set_target_properties(Gnuradio::iio PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${IIO_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${IIO_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${IIO_LIBRARIES}" + ) +endif() + mark_as_advanced(IIO_LIBRARIES IIO_INCLUDE_DIRS) diff --git a/cmake/Modules/FindGROSMOSDR.cmake b/cmake/Modules/FindGROSMOSDR.cmake index 48379ed76..99f29208d 100644 --- a/cmake/Modules/FindGROSMOSDR.cmake +++ b/cmake/Modules/FindGROSMOSDR.cmake @@ -1,4 +1,4 @@ -# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2011-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -33,6 +33,11 @@ # GROSMOSDR_FOUND System has gr-osmosdr libs/headers # GROSMOSDR_LIBRARIES The gr-osmosdr libraries (gnuradio-osmosdr) # GROSMOSDR_INCLUDE_DIR The location of gr-osmosdr headers +# +# Provides the following imported target: +# Gnuradio::osmosdr +# + include(FindPkgConfig) pkg_check_modules(GROSMOSDR_PKG gnuradio-osmosdr) @@ -89,4 +94,15 @@ find_library(GROSMOSDR_LIBRARIES include(FindPackageHandleStandardArgs) find_package_handle_standard_args(GROSMOSDR DEFAULT_MSG GROSMOSDR_LIBRARIES GROSMOSDR_INCLUDE_DIR) + +if(GROSMOSDR_FOUND AND NOT TARGET Gnuradio:osmosdr) + add_library(Gnuradio:osmosdr SHARED IMPORTED) + set_target_properties(Gnuradio:osmosdr PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${GROSMOSDR_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${GROSMOSDR_INCLUDE_DIR};${GROSMOSDR_INCLUDE_DIR}/osmosdr" + INTERFACE_LINK_LIBRARIES "${GROSMOSDR_LIBRARIES}" + ) +endif() + mark_as_advanced(GROSMOSDR_LIBRARIES GROSMOSDR_INCLUDE_DIR) diff --git a/cmake/Modules/FindLIBIIO.cmake b/cmake/Modules/FindLIBIIO.cmake index a76180ca2..642af5216 100644 --- a/cmake/Modules/FindLIBIIO.cmake +++ b/cmake/Modules/FindLIBIIO.cmake @@ -1,4 +1,4 @@ -# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2011-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -15,6 +15,11 @@ # You should have received a copy of the GNU General Public License # along with GNSS-SDR. If not, see . +# +# Provides the following imported target: +# Iio::iio +# + include(FindPkgConfig) pkg_check_modules(PC_LIBIIO libiio) @@ -73,4 +78,15 @@ find_library( include(FindPackageHandleStandardArgs) find_package_handle_standard_args(LIBIIO DEFAULT_MSG LIBIIO_LIBRARIES LIBIIO_INCLUDE_DIRS) + +if(LIBIIO_FOUND AND NOT TARGET Iio:iio) + add_library(Iio:iio SHARED IMPORTED) + set_target_properties(Iio:iio PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${LIBIIO_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${LIBIIO_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${LIBIIO_LIBRARIES}" + ) +endif() + mark_as_advanced(LIBIIO_LIBRARIES LIBIIO_INCLUDE_DIRS) diff --git a/cmake/Modules/FindLIBOSMOSDR.cmake b/cmake/Modules/FindLIBOSMOSDR.cmake index 1e3aaf5e0..1fe3e6493 100644 --- a/cmake/Modules/FindLIBOSMOSDR.cmake +++ b/cmake/Modules/FindLIBOSMOSDR.cmake @@ -27,6 +27,10 @@ # LIBOSMOSDR_FOUND System has libosmosdr libs/headers # LIBOSMOSDR_LIBRARIES The libosmosdr libraries # LIBOSMOSDR_INCLUDE_DIR The location of libosmosdr headers +# +# Provides the following imported target: +# Osmosdr::osmosdr +# include(FindPkgConfig) pkg_check_modules(LIBOSMOSDR_PKG libosmosdr) @@ -77,4 +81,15 @@ find_library(LIBOSMOSDR_LIBRARIES NAMES osmosdr include(FindPackageHandleStandardArgs) find_package_handle_standard_args(LIBOSMOSDR DEFAULT_MSG LIBOSMOSDR_INCLUDE_DIR LIBOSMOSDR_LIBRARIES) + +if(LIBOSMOSDR_FOUND AND NOT TARGET Osmosdr:osmosdr) + add_library(Osmosdr:osmosdr SHARED IMPORTED) + set_target_properties(Osmosdr:osmosdr PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${LIBOSMOSDR_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${LIBOSMOSDR_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "${LIBOSMOSDR_LIBRARIES}" + ) +endif() + mark_as_advanced(LIBOSMOSDR_INCLUDE_DIR LIBOSMOSDR_LIBRARIES) diff --git a/cmake/Modules/FindPCAP.cmake b/cmake/Modules/FindPCAP.cmake index af746c852..6c8e52f8f 100644 --- a/cmake/Modules/FindPCAP.cmake +++ b/cmake/Modules/FindPCAP.cmake @@ -43,7 +43,10 @@ # PCAP_INCLUDE_DIRS - where to find pcap.h, etc. # PCAP_LIBRARIES - List of libraries when using pcap. # PCAP_FOUND - True if pcap found. - +# +# Provides the following imported target: +# Pcap::pcap +# if(EXISTS $ENV{PCAPDIR}) find_path(PCAP_INCLUDE_DIR @@ -113,10 +116,20 @@ check_function_exists("pcap_list_datalinks" HAVE_PCAP_LIST_DATALINKS) check_function_exists("pcap_open_dead" HAVE_PCAP_OPEN_DEAD) check_function_exists("pcap_set_datalink" HAVE_PCAP_SET_DATALINK) +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(PCAP DEFAULT_MSG PCAP_INCLUDE_DIRS PCAP_LIBRARIES) + +if(PCAP_FOUND AND NOT TARGET Pcap::pcap) + add_library(Pcap::pcap SHARED IMPORTED) + set_target_properties(Pcap::pcap PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${PCAP_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${PCAP_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${PCAP_LIBRARIES}" + ) +endif() + mark_as_advanced( PCAP_LIBRARIES PCAP_INCLUDE_DIRS ) - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(PCAP DEFAULT_MSG PCAP_INCLUDE_DIRS PCAP_LIBRARIES) diff --git a/cmake/Modules/FindUHD.cmake b/cmake/Modules/FindUHD.cmake index 31d299937..e0d6d77e0 100644 --- a/cmake/Modules/FindUHD.cmake +++ b/cmake/Modules/FindUHD.cmake @@ -1,4 +1,4 @@ -# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2011-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -15,10 +15,14 @@ # You should have received a copy of the GNU General Public License # along with GNSS-SDR. If not, see . +# +# Provides the following imported target: +# Iio::iio +# + ######################################################################## # Find the library for the USRP Hardware Driver ######################################################################## - include(FindPkgConfig) pkg_check_modules(PC_UHD uhd) @@ -72,4 +76,15 @@ find_library(UHD_LIBRARIES include(FindPackageHandleStandardArgs) find_package_handle_standard_args(UHD DEFAULT_MSG UHD_LIBRARIES UHD_INCLUDE_DIRS) + +if(UHD_FOUND AND NOT TARGET Uhd::uhd) + add_library(Uhd::uhd SHARED IMPORTED) + set_target_properties(Uhd::uhd PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${UHD_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${UHD_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${UHD_LIBRARIES}" + ) +endif() + mark_as_advanced(UHD_LIBRARIES UHD_INCLUDE_DIRS) diff --git a/src/algorithms/libs/rtklib/rtklib_stream.cc b/src/algorithms/libs/rtklib/rtklib_stream.cc index 7b1de5e12..53635b2ea 100644 --- a/src/algorithms/libs/rtklib/rtklib_stream.cc +++ b/src/algorithms/libs/rtklib/rtklib_stream.cc @@ -50,6 +50,9 @@ * *----------------------------------------------------------------------------*/ +#include "rtklib_stream.h" +#include "rtklib_rtkcmn.h" +#include "rtklib_solution.h" #include #include #include @@ -57,9 +60,6 @@ #include #include #include -#include -#include -#include #include #include #include diff --git a/src/algorithms/signal_source/adapters/CMakeLists.txt b/src/algorithms/signal_source/adapters/CMakeLists.txt index ae0ee65e1..b1850f529 100644 --- a/src/algorithms/signal_source/adapters/CMakeLists.txt +++ b/src/algorithms/signal_source/adapters/CMakeLists.txt @@ -24,9 +24,6 @@ if(ENABLE_RAW_UDP) if(NOT PCAP_FOUND) message(FATAL_ERROR "PCAP required to compile custom UDP packet sample source (ENABLE_RAW_UDP)") endif() - get_filename_component(PCAP_LIBRARY_DIRS ${PCAP_LIBRARY} DIRECTORY CACHE) - set(OPT_LIBRARIES ${OPT_LIBRARIES} ${PCAP_LIBRARIES}) - set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${PCAP_INCLUDE_DIRS}) set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} custom_udp_signal_source.cc) set(OPT_DRIVER_HEADERS ${OPT_DRIVER_HEADERS} custom_udp_signal_source.h) endif() @@ -41,8 +38,6 @@ if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2) message(STATUS " * gnuradio-iio from https://github.com/analogdevicesinc/gr-iio") message(FATAL_ERROR "gnuradio-iio is required for building gnss-sdr with this option enabled.") endif() - set(OPT_LIBRARIES ${OPT_LIBRARIES} ${IIO_LIBRARIES}) - set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${IIO_INCLUDE_DIRS}) endif() if(ENABLE_AD9361) @@ -55,8 +50,6 @@ if(ENABLE_AD9361) message(STATUS " * gnuradio-iio from https://github.com/analogdevicesinc/gr-iio") message(FATAL_ERROR "libiio is required for building gnss-sdr with this option enabled.") endif() - set(OPT_LIBRARIES ${OPT_LIBRARIES} ${LIBIIO_LIBRARIES}) - set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${LIBIIO_INCLUDE_DIRS}) endif() @@ -154,15 +147,8 @@ if(ENABLE_OSMOSDR) list(REMOVE_ITEM SIGNAL_SOURCE_ADAPTER_HEADERS ${CMAKE_SOURCE_DIR}/src/algorithms/signal_source/adapters/osmosdr_signal_source.h) endif() else() - # set OSMO include dirs - set(OSMO_DRIVER_INCLUDE_DIRS - ${OPT_DRIVER_INCLUDE_DIRS} - ${GROSMOSDR_INCLUDE_DIR}/osmosdr - ) set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} osmosdr_signal_source.cc) set(OPT_DRIVER_HEADERS ${OPT_DRIVER_HEADERS} osmosdr_signal_source.h) - set(OPT_LIBRARIES ${OPT_LIBRARIES} ${GROSMOSDR_LIBRARIES}) - set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${OSMO_DRIVER_INCLUDE_DIRS}) endif() endif() @@ -170,8 +156,6 @@ endif() if(ENABLE_UHD AND GNURADIO_UHD_LIBRARIES_gnuradio-uhd) set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} uhd_signal_source.cc) set(OPT_DRIVER_HEADERS ${OPT_DRIVER_HEADERS} uhd_signal_source.h) - set(OPT_LIBRARIES ${OPT_LIBRARIES} ${UHD_LIBRARIES} ${GNURADIO_UHD_LIBRARIES}) - set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${UHD_INCLUDE_DIRS}) endif() @@ -206,14 +190,13 @@ if(PC_GNURADIO_RUNTIME_VERSION VERSION_GREATER 3.7.3) two_bit_packed_file_signal_source.h) endif() -add_definitions(-DGNSSSDR_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}") - list(SORT SIGNAL_SOURCE_ADAPTER_HEADERS) list(SORT SIGNAL_SOURCE_ADAPTER_SOURCES) -add_library(signal_source_adapters ${SIGNAL_SOURCE_ADAPTER_SOURCES} ${SIGNAL_SOURCE_ADAPTER_HEADERS}) source_group(Headers FILES ${SIGNAL_SOURCE_ADAPTER_HEADERS}) +add_library(signal_source_adapters ${SIGNAL_SOURCE_ADAPTER_SOURCES} ${SIGNAL_SOURCE_ADAPTER_HEADERS}) + target_include_directories(signal_source_adapters PUBLIC ${CMAKE_SOURCE_DIR}/src/algorithms/libs) target_link_libraries(signal_source_adapters @@ -232,6 +215,38 @@ target_link_libraries(signal_source_adapters Volk::volk ) +if(ENABLE_UHD AND GNURADIO_UHD_LIBRARIES_gnuradio-uhd) + target_link_libraries(signal_source_adapters + PUBLIC + Gnuradio::uhd + PRIVATE + Uhd::uhd + ) +endif() + +if(ENABLE_OSMOSDR AND GROSMOSDR_FOUND) + target_link_libraries(signal_source_adapters + PUBLIC + Gnuradio::osmosdr + PRIVATE + Osmosdr::osmosdr + ) +endif() + +if(ENABLE_AD9361 AND LIBIIO_FOUND) + target_link_libraries(signal_source_adapters + PRIVATE + Osmosdr::osmosdr + ) +endif() + +if(ENABLE_RAW_UDP AND PCAP_FOUND) + target_link_libraries(signal_source_adapters + PRIVATE + Pcap::pcap + ) +endif() + target_compile_definitions(signal_source_adapters PRIVATE -DGNSSSDR_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}") set_property(TARGET signal_source_adapters APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES diff --git a/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt b/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt index 5cc96054c..3d1b342f1 100644 --- a/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -22,9 +22,6 @@ if(ENABLE_RAW_UDP) if(NOT PCAP_FOUND) message(FATAL_ERROR "PCAP required to compile custom UDP packet sample source") endif() - get_filename_component(PCAP_LIBRARY_DIRS ${PCAP_LIBRARY} DIRECTORY CACHE) - set(OPT_LIBRARIES ${OPT_LIBRARIES} ${PCAP_LIBRARIES}) - set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${PCAP_INCLUDE_DIRS}) set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} gr_complex_ip_packet_source.cc) set(OPT_DRIVER_HEADERS ${OPT_DRIVER_HEADERS} gr_complex_ip_packet_source.h) endif() @@ -55,11 +52,6 @@ set(SIGNAL_SOURCE_GR_BLOCKS_HEADERS ${OPT_DRIVER_HEADERS} ) - -include_directories( - ${OPT_DRIVER_INCLUDE_DIRS} -) - list(SORT SIGNAL_SOURCE_GR_BLOCKS_HEADERS) list(SORT SIGNAL_SOURCE_GR_BLOCKS_SOURCES) @@ -75,15 +67,18 @@ target_link_libraries(signal_source_gr_blocks signal_source_lib Gnuradio::runtime Boost::thread - ${OPT_LIBRARIES} PRIVATE Gflags::gflags Glog::glog ) -target_include_directories(signal_source_gr_blocks PUBLIC ${OPT_DRIVER_INCLUDE_DIRS}) +if(ENABLE_RAW_UDP AND PCAP_FOUND) + target_link_libraries(signal_source_gr_blocks + PUBLIC + Pcap::pcap + ) +endif() set_property(TARGET signal_source_gr_blocks APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $ - $ ) diff --git a/src/algorithms/signal_source/libs/CMakeLists.txt b/src/algorithms/signal_source/libs/CMakeLists.txt index 73a4170ff..e05db43f7 100644 --- a/src/algorithms/signal_source/libs/CMakeLists.txt +++ b/src/algorithms/signal_source/libs/CMakeLists.txt @@ -26,27 +26,18 @@ if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2) message(STATUS " * gnuradio-iio from https://github.com/analogdevicesinc/gr-iio") message(FATAL_ERROR "gnuradio-iio is required for building gnss-sdr with this option enabled") endif() - set(OPT_LIBRARIES ${OPT_LIBRARIES} ${IIO_LIBRARIES}) - set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${IIO_INCLUDE_DIRS}) endif() if(ENABLE_FMCOMMS2 OR ENABLE_AD9361) find_package(LIBIIO REQUIRED) - if(NOT LIBIIO_FOUND) - message(STATUS "libiio not found, its installation is required.") - message(STATUS "Please build and install the following projects:") - message(STATUS " * libiio from https://github.com/analogdevicesinc/libiio") - message(STATUS " * libad9361-iio from https://github.com/analogdevicesinc/libad9361-iio") - message(STATUS " * gnuradio-iio from https://github.com/analogdevicesinc/gr-iio") - message(FATAL_ERROR "libiio is required for building gnss-sdr with this option enabled") - endif() - set(OPT_LIBRARIES ${OPT_LIBRARIES} ${LIBIIO_LIBRARIES}) - set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${LIBIIO_INCLUDE_DIRS}) - - ############################################### - # FMCOMMS2 based SDR Hardware - ############################################### - if(LIBIIO_FOUND) + if(NOT LIBIIO_FOUND) + message(STATUS "libiio not found, its installation is required.") + message(STATUS "Please build and install the following projects:") + message(STATUS " * libiio from https://github.com/analogdevicesinc/libiio") + message(STATUS " * libad9361-iio from https://github.com/analogdevicesinc/libad9361-iio") + message(STATUS " * gnuradio-iio from https://github.com/analogdevicesinc/gr-iio") + message(FATAL_ERROR "libiio is required for building gnss-sdr with this option enabled") + else() set(OPT_SIGNAL_SOURCE_LIB_SOURCES ad9361_manager.cc) set(OPT_SIGNAL_SOURCE_LIB_HEADERS ad9361_manager.h) endif() @@ -79,14 +70,26 @@ source_group(Headers FILES ${SIGNAL_SOURCE_LIB_HEADERS}) target_link_libraries(signal_source_lib PUBLIC Boost::boost - ${OPT_LIBRARIES} PRIVATE Glog::glog ) -target_include_directories(signal_source_lib PUBLIC ${OPT_DRIVER_INCLUDE_DIRS}) +if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2) + target_link_libraries(signal_source_lib + PUBLIC + Gnuradio::iio + PRIVATE + Iio::iio + ) +endif() + +if(ENABLE_FMCOMMS2 OR ENABLE_AD9361) + target_link_libraries(signal_source_lib + PUBLIC + Iio::iio + ) +endif() set_property(TARGET signal_source_lib APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $ - $ ) diff --git a/src/core/libs/CMakeLists.txt b/src/core/libs/CMakeLists.txt index d8dbb577e..5088bc944 100644 --- a/src/core/libs/CMakeLists.txt +++ b/src/core/libs/CMakeLists.txt @@ -44,11 +44,10 @@ target_link_libraries(rx_core_lib supl_library gnss_system_parameters Boost::boost - Glog::glog PRIVATE + Glog::glog Boost::serialization Pugixml::pugixml - Gflags::gflags ) set_property(TARGET rx_core_lib diff --git a/src/core/libs/gnss_sdr_supl_client.cc b/src/core/libs/gnss_sdr_supl_client.cc index 0311892bd..7f211aa86 100644 --- a/src/core/libs/gnss_sdr_supl_client.cc +++ b/src/core/libs/gnss_sdr_supl_client.cc @@ -32,6 +32,7 @@ */ #include "gnss_sdr_supl_client.h" +#include #include #include #include diff --git a/src/core/libs/gnss_sdr_supl_client.h b/src/core/libs/gnss_sdr_supl_client.h index 281d2a82d..3e0a72a3f 100644 --- a/src/core/libs/gnss_sdr_supl_client.h +++ b/src/core/libs/gnss_sdr_supl_client.h @@ -57,7 +57,6 @@ extern "C" #include #include #include -#include #include #include #include diff --git a/src/core/receiver/CMakeLists.txt b/src/core/receiver/CMakeLists.txt index cce0eb2f9..1e4fe8edc 100644 --- a/src/core/receiver/CMakeLists.txt +++ b/src/core/receiver/CMakeLists.txt @@ -40,25 +40,6 @@ set(GNSS_RECEIVER_HEADERS control_message.h ) - -if(ENABLE_PLUTOSDR) - set(OPT_RECEIVER_INCLUDE_DIRS - ${OPT_RECEIVER_INCLUDE_DIRS} ${IIO_INCLUDE_DIRS} - ) -endif() - -if(ENABLE_FMCOMMS2) - set(OPT_RECEIVER_INCLUDE_DIRS - ${OPT_RECEIVER_INCLUDE_DIRS} ${IIO_INCLUDE_DIRS} - ) -endif() - -if(ENABLE_AD9361) - set(OPT_RECEIVER_INCLUDE_DIRS - ${OPT_RECEIVER_INCLUDE_DIRS} ${IIO_INCLUDE_DIRS} - ) -endif() - if(ENABLE_CUDA) set(OPT_RECEIVER_INCLUDE_DIRS ${OPT_RECEIVER_INCLUDE_DIRS} ${CUDA_INCLUDE_DIRS} @@ -95,68 +76,64 @@ if(ENABLE_FPGA) endif() if(ENABLE_RAW_UDP) - target_compile_definitions(gnss_rx PUBLIC -DRAW_UDP=1) + target_compile_definitions(gnss_rx PRIVATE -DRAW_UDP=1) endif() if(Boost_VERSION LESS 105000) - target_compile_definitions(gnss_rx PUBLIC -DOLD_BOOST=1) -endif() - -if(OPENSSL_FOUND) - target_compile_definitions(gnss_rx PUBLIC -DUSE_OPENSSL_FALLBACK=1) + target_compile_definitions(gnss_rx PRIVATE -DOLD_BOOST=1) endif() if(PC_GNURADIO_RUNTIME_VERSION VERSION_GREATER 3.7.3) - target_compile_definitions(gnss_rx PUBLIC -DMODERN_GNURADIO=1) + target_compile_definitions(gnss_rx PRIVATE -DMODERN_GNURADIO=1) endif() if(${PC_GNURADIO_RUNTIME_VERSION} VERSION_GREATER "3.7.13.4") - target_compile_definitions(gnss_rx PUBLIC -DGR_GREATER_38=1) + target_compile_definitions(gnss_rx PRIVATE -DGR_GREATER_38=1) endif() if(ENABLE_UHD AND GNURADIO_UHD_LIBRARIES_gnuradio-uhd) - target_compile_definitions(gnss_rx PUBLIC -DUHD_DRIVER=1) + target_compile_definitions(gnss_rx PRIVATE -DUHD_DRIVER=1) endif() if(ENABLE_PLUTOSDR) - target_compile_definitions(gnss_rx PUBLIC -DPLUTOSDR_DRIVER=1) + target_compile_definitions(gnss_rx PRIVATE -DPLUTOSDR_DRIVER=1) endif() if(ENABLE_FMCOMMS2) - target_compile_definitions(gnss_rx PUBLIC -DFMCOMMS2_DRIVER=1) + target_compile_definitions(gnss_rx PRIVATE -DFMCOMMS2_DRIVER=1) endif() if(ENABLE_AD9361) - target_compile_definitions(gnss_rx PUBLIC -DAD9361_DRIVER=1) + target_compile_definitions(gnss_rx PRIVATE -DAD9361_DRIVER=1) endif() if(ENABLE_OSMOSDR) if(GROSMOSDR_FOUND) - target_compile_definitions(gnss_rx PUBLIC -DOSMOSDR_DRIVER=1) + target_compile_definitions(gnss_rx PRIVATE -DOSMOSDR_DRIVER=1) endif() endif() if(ENABLE_GN3S) - target_compile_definitions(gnss_rx PUBLIC -DGN3S_DRIVER=1) + target_compile_definitions(gnss_rx PRIVATE -DGN3S_DRIVER=1) endif() if(ENABLE_ARRAY) - target_compile_definitions(gnss_rx PUBLIC -DRAW_ARRAY_DRIVER=1) + target_compile_definitions(gnss_rx PRIVATE -DRAW_ARRAY_DRIVER=1) endif() -if(ENABLE_FLEXIBAND) - target_compile_definitions(gnss_rx PUBLIC -DFLEXIBAND_DRIVER=1) -endif() +#if(ENABLE_FLEXIBAND) +# target_compile_definitions(gnss_rx PRIVATE -DFLEXIBAND_DRIVER=1) +#endif() if(OPENCL_FOUND) message(STATUS "Adding processing blocks implemented using OpenCL") - target_compile_definitions(gnss_rx PUBLIC -DOPENCL_BLOCKS=1) + target_compile_definitions(gnss_rx PRIVATE -DOPENCL_BLOCKS=1) else() - target_compile_definitions(gnss_rx PUBLIC -DOPENCL_BLOCKS=0) + target_compile_definitions(gnss_rx PRIVATE -DOPENCL_BLOCKS=0) endif() if(ENABLE_CUDA) - target_compile_definitions(gnss_rx PUBLIC -DCUDA_GPU_ACCEL=1) + target_compile_definitions(gnss_rx PRIVATE -DCUDA_GPU_ACCEL=1) endif() @@ -185,6 +162,13 @@ target_link_libraries(gnss_rx Volkgnsssdr::volkgnsssdr ) +if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2 OR ENABLE_AD9361) + target_link_libraries(gnss_rx + PRIVATE + Iio::iio + ) +endif() + set_property(TARGET gnss_rx APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $ $ diff --git a/src/core/system_parameters/CMakeLists.txt b/src/core/system_parameters/CMakeLists.txt index 8490150fe..c70a47e15 100644 --- a/src/core/system_parameters/CMakeLists.txt +++ b/src/core/system_parameters/CMakeLists.txt @@ -115,10 +115,9 @@ target_link_libraries(gnss_system_parameters Boost::date_time Boost::serialization gnss_rx - rtklib_lib - PRIVATE - Gflags::gflags Glog::glog + PRIVATE + Gflags::gflags ) set_property(TARGET gnss_system_parameters diff --git a/src/core/system_parameters/beidou_dnav_ephemeris.h b/src/core/system_parameters/beidou_dnav_ephemeris.h index 79aad2eb7..238a0a728 100644 --- a/src/core/system_parameters/beidou_dnav_ephemeris.h +++ b/src/core/system_parameters/beidou_dnav_ephemeris.h @@ -32,8 +32,6 @@ #ifndef GNSS_SDR_BEIDOU_DNAV_EPHEMERIS_H_ #define GNSS_SDR_BEIDOU_DNAV_EPHEMERIS_H_ - -#include "boost/assign.hpp" #include #include #include diff --git a/src/core/system_parameters/beidou_dnav_iono.h b/src/core/system_parameters/beidou_dnav_iono.h index 1bedd8a83..b7a11faf6 100644 --- a/src/core/system_parameters/beidou_dnav_iono.h +++ b/src/core/system_parameters/beidou_dnav_iono.h @@ -32,8 +32,6 @@ #ifndef GNSS_SDR_BEIDOU_DNAV_IONO_H_ #define GNSS_SDR_BEIDOU_DNAV_IONO_H_ - -#include "boost/assign.hpp" #include diff --git a/src/core/system_parameters/beidou_dnav_utc_model.h b/src/core/system_parameters/beidou_dnav_utc_model.h index cb2073f1a..8ca6a1929 100644 --- a/src/core/system_parameters/beidou_dnav_utc_model.h +++ b/src/core/system_parameters/beidou_dnav_utc_model.h @@ -33,7 +33,6 @@ #ifndef GNSS_SDR_BEIDOU_DNAV_UTC_MODEL_H_ #define GNSS_SDR_BEIDOU_DNAV_UTC_MODEL_H_ -#include #include diff --git a/src/core/system_parameters/galileo_ephemeris.h b/src/core/system_parameters/galileo_ephemeris.h index 75d2bdbd9..42e4288a4 100644 --- a/src/core/system_parameters/galileo_ephemeris.h +++ b/src/core/system_parameters/galileo_ephemeris.h @@ -33,7 +33,6 @@ #ifndef GNSS_SDR_GALILEO_EPHEMERIS_H_ #define GNSS_SDR_GALILEO_EPHEMERIS_H_ -#include #include #include diff --git a/src/core/system_parameters/rtcm.cc b/src/core/system_parameters/rtcm.cc index 31640ce0a..764f65bb1 100644 --- a/src/core/system_parameters/rtcm.cc +++ b/src/core/system_parameters/rtcm.cc @@ -35,7 +35,6 @@ #include #include #include -#include #include // for std::reverse #include // std::chrono::seconds #include // for std::fmod From f13b84c86c2d8264d42a5c23edf19a6d27dca372 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Mon, 4 Feb 2019 18:17:35 +0100 Subject: [PATCH 11/19] Add more CMake modernization --- CMakeLists.txt | 165 +++++++++++------- cmake/Modules/FindGRDBFCTTC.cmake | 13 +- cmake/Modules/FindGRGN3S.cmake | 13 +- cmake/Modules/FindGROSMOSDR.cmake | 6 +- cmake/Modules/FindLIBIIO.cmake | 6 +- cmake/Modules/FindLIBOSMOSDR.cmake | 6 +- cmake/Modules/FindTELEORBIT.cmake | 11 ++ .../signal_source/adapters/CMakeLists.txt | 55 +++--- .../gnuradio_blocks/CMakeLists.txt | 6 +- .../signal_source/libs/CMakeLists.txt | 18 +- .../libs/libswiftcnav/CMakeLists.txt | 3 +- src/core/receiver/CMakeLists.txt | 17 +- src/core/receiver/tcp_cmd_interface.h | 1 - 13 files changed, 186 insertions(+), 134 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7959951bf..5ba337dbd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1475,33 +1475,6 @@ else() endif() -################################################################################ -# USRP Hardware Driver (UHD) - OPTIONAL -################################################################################ -if(ENABLE_UHD) - find_package(UHD) - if(NOT UHD_FOUND) - set(ENABLE_UHD OFF) - message(STATUS " The USRP Hardware Driver (UHD) signal source will not be built,") - message(STATUS " so all USRP-based front-ends will not be usable.") - message(STATUS " Please check https://files.ettus.com/manual/") - else() - set(GR_REQUIRED_COMPONENTS UHD) - find_package(Gnuradio) - if(NOT TARGET Gnuradio::uhd) - add_library(Gnuradio::uhd SHARED IMPORTED) - list(GET GNURADIO_UHD_LIBRARIES 0 FIRST_DIR) - get_filename_component(GNURADIO_UHD_DIR ${FIRST_DIR} ABSOLUTE) - set_target_properties(Gnuradio::uhd PROPERTIES - IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" - IMPORTED_LOCATION "${GNURADIO_UHD_DIR}" - INTERFACE_INCLUDE_DIRECTORIES "${GNURADIO_UHD_INCLUDE_DIRS}" - INTERFACE_LINK_LIBRARIES "${GNURADIO_UHD_LIBRARIES}" - ) - endif() - endif() -endif() - ################################################################################ # Doxygen - http://www.stack.nl/~dimitri/doxygen/index.html (OPTIONAL, used if found) @@ -1619,14 +1592,16 @@ endif() # CUSTOM UDP PACKET SOURCE (OPTIONAL) ############################################################################### if(ENABLE_RAW_UDP) - message(STATUS "High-optimized custom UDP ip packet source will be enabled.") - message(STATUS "You can disable it with 'cmake -DENABLE_RAW_UDP=OFF ../'") -else() - message(STATUS "High-optimized custom UDP ip packet source will be enabled.") + message(STATUS "High-optimized custom UDP IP packet source is enabled.") message(STATUS "You can disable it with 'cmake -DENABLE_RAW_UDP=OFF ../'") + find_package(PCAP) + if(NOT PCAP_FOUND) + message(FATAL_ERROR "PCAP required to compile custom UDP packet sample source (with ENABLE_RAW_UDP=ON)") + endif() endif() + ############################################################################### # FPGA (OPTIONAL) ############################################################################### @@ -1643,40 +1618,38 @@ endif() ################################################################################ # Setup of optional drivers ################################################################################ -if($ENV{GN3S_DRIVER}) - message(STATUS "GN3S_DRIVER environment variable found.") - set(ENABLE_GN3S ON) -endif() -if(GN3S_DRIVER) - set(ENABLE_GN3S ON) -endif() -if(ENABLE_GN3S) - message(STATUS "The GN3S driver will be compiled.") - message(STATUS "You can disable it with 'cmake -DENABLE_GN3S=OFF ../'") -else() - message(STATUS "The (optional and experimental) GN3S driver is not enabled.") - message(STATUS "Enable it with 'cmake -DENABLE_GN3S=ON ../' to add support for the GN3S dongle.") + +################################################################################ +# USRP Hardware Driver (UHD) - OPTIONAL +################################################################################ +if(ENABLE_UHD) + find_package(UHD) + if(NOT UHD_FOUND) + set(ENABLE_UHD OFF) + message(STATUS " The USRP Hardware Driver (UHD) signal source will not be built,") + message(STATUS " so all USRP-based front-ends will not be usable.") + message(STATUS " Please check https://files.ettus.com/manual/") + else() + set(GR_REQUIRED_COMPONENTS UHD) + find_package(Gnuradio) + if(NOT TARGET Gnuradio::uhd) + add_library(Gnuradio::uhd SHARED IMPORTED) + list(GET GNURADIO_UHD_LIBRARIES 0 FIRST_DIR) + get_filename_component(GNURADIO_UHD_DIR ${FIRST_DIR} ABSOLUTE) + set_target_properties(Gnuradio::uhd PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${GNURADIO_UHD_DIR}" + INTERFACE_INCLUDE_DIRECTORIES "${GNURADIO_UHD_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${GNURADIO_UHD_LIBRARIES}" + ) + endif() + endif() endif() -if($ENV{RAW_ARRAY_DRIVER}) - message(STATUS "RAW_ARRAY_DRIVER environment variable found.") - set(ENABLE_ARRAY ON) -endif() - -if(RAW_ARRAY_DRIVER) - set(ENABLE_ARRAY ON) -endif() - -if(ENABLE_ARRAY) - message(STATUS "CTTC's Antenna Array front-end driver will be compiled.") - message(STATUS "You can disable it with 'cmake -DENABLE_ARRAY=OFF ../'") - # copy firmware to install folder - # Build project gr-dbfcttc -else() - message(STATUS "The (optional) CTTC's Antenna Array front-end driver is not enabled.") - message(STATUS "Enable it with 'cmake -DENABLE_ARRAY=ON ../' to add support for the CTTC experimental array front-end.") -endif() +############################################## +# gr-osmosdr - OPTIONAL +############################################## if($ENV{RTLSDR_DRIVER}) message(STATUS "RTLSDR_DRIVER environment variable found.") set(ENABLE_OSMOSDR ON) @@ -1699,6 +1672,26 @@ else() message(STATUS "Enable it with 'cmake -DENABLE_OSMOSDR=ON ../' to add support for OsmoSDR and other front-ends (HackRF, bladeRF, Realtek's RTL2832U-based USB dongles, etc.)") endif() + +############################################## +# gr-iio - OPTIONAL +############################################## +if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2) + find_package(GRIIO) +endif() + + +############################################## +# libiio - OPTIONAL +############################################## +if(ENABLE_AD9361) + find_package(LIBIIO) +endif() + + +############################################## +# TELEORBIT FLEXIBAND FRONTEND - OPTIONAL +############################################## if($ENV{FLEXIBAND_DRIVER}) message(STATUS "FLEXIBAND_DRIVER environment variable found.") set(ENABLE_FLEXIBAND ON) @@ -1715,6 +1708,54 @@ else() message(STATUS "The (optional) Teleorbit Flexiband front-end driver adapter is not enabled.") message(STATUS "Enable it with 'cmake -DENABLE_FLEXIBAND=ON ../' to add support for the Teleorbit Flexiband front-end.") endif() +if(ENABLE_FLEXIBAND) + find_package(TELEORBIT) + if(NOT TELEORBIT_FOUND) + message(FATAL_ERROR "Teleorbit Flexiband GNU Radio driver required to build gnss-sdr with the optional FLEXIBAND adapter") + endif() +endif() + + +############################################## +# GN3S - OPTIONAL +############################################## +if($ENV{GN3S_DRIVER}) + message(STATUS "GN3S_DRIVER environment variable found.") + set(ENABLE_GN3S ON) +endif() +if(GN3S_DRIVER) + set(ENABLE_GN3S ON) +endif() +if(ENABLE_GN3S) + message(STATUS "The GN3S driver will be compiled.") + message(STATUS "You can disable it with 'cmake -DENABLE_GN3S=OFF ../'") + find_package(GRGN3S QUIET) +else() + message(STATUS "The (optional and experimental) GN3S driver is not enabled.") + message(STATUS "Enable it with 'cmake -DENABLE_GN3S=ON ../' to add support for the GN3S dongle.") +endif() + + +############################################## +# CTTC ARRAY - OPTIONAL +############################################## +if($ENV{RAW_ARRAY_DRIVER}) + message(STATUS "RAW_ARRAY_DRIVER environment variable found.") + set(ENABLE_ARRAY ON) +endif() + +if(RAW_ARRAY_DRIVER) + set(ENABLE_ARRAY ON) +endif() + +if(ENABLE_ARRAY) + message(STATUS "CTTC's Antenna Array front-end driver will be compiled.") + message(STATUS "You can disable it with 'cmake -DENABLE_ARRAY=OFF ../'") + find_package(GRDBFCTTC QUIET) +else() + message(STATUS "The (optional) CTTC's Antenna Array front-end driver is not enabled.") + message(STATUS "Enable it with 'cmake -DENABLE_ARRAY=ON ../' to add support for the CTTC experimental array front-end.") +endif() diff --git a/cmake/Modules/FindGRDBFCTTC.cmake b/cmake/Modules/FindGRDBFCTTC.cmake index e0689aeaf..64c838af1 100644 --- a/cmake/Modules/FindGRDBFCTTC.cmake +++ b/cmake/Modules/FindGRDBFCTTC.cmake @@ -1,4 +1,4 @@ -# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2011-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -53,4 +53,15 @@ find_library( include(FindPackageHandleStandardArgs) find_package_handle_standard_args(GRDBFCTTC DEFAULT_MSG GR_DBFCTTC_LIBRARIES GR_DBFCTTC_INCLUDE_DIRS) + +if(GRDBFCTTC_FOUND AND NOT TARGET Gnuradio::dbfcttc) + add_library(Gnuradio::dbfcttc SHARED IMPORTED) + set_target_properties(Gnuradio::dbfcttc PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${GR_DBFCTTC_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${GR_DBFCTTC_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${GR_DBFCTTC_LIBRARIES}" + ) +endif() + mark_as_advanced(GR_DBFCTTC_LIBRARIES GR_DBFCTTC_INCLUDE_DIRS) diff --git a/cmake/Modules/FindGRGN3S.cmake b/cmake/Modules/FindGRGN3S.cmake index 93f7bda89..4664a6edb 100644 --- a/cmake/Modules/FindGRGN3S.cmake +++ b/cmake/Modules/FindGRGN3S.cmake @@ -1,4 +1,4 @@ -# Copyright (C) 2011-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2011-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -53,4 +53,15 @@ find_library( include(FindPackageHandleStandardArgs) find_package_handle_standard_args(GRGN3S DEFAULT_MSG GR_GN3S_LIBRARIES GR_GN3S_INCLUDE_DIRS) + +if(GRGN3S_FOUND AND NOT TARGET Gnuradio::gn3s) + add_library(Gnuradio::gn3s SHARED IMPORTED) + set_target_properties(Gnuradio::gn3s PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${GR_GN3S_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${GR_GN3S_INCLUDE_DIRS}" + INTERFACE_LINK_LIBRARIES "${GR_GN3S_LIBRARIES}" + ) +endif() + mark_as_advanced(GR_GN3S_LIBRARIES GR_GN3S_INCLUDE_DIRS) diff --git a/cmake/Modules/FindGROSMOSDR.cmake b/cmake/Modules/FindGROSMOSDR.cmake index 99f29208d..0054db97d 100644 --- a/cmake/Modules/FindGROSMOSDR.cmake +++ b/cmake/Modules/FindGROSMOSDR.cmake @@ -95,9 +95,9 @@ find_library(GROSMOSDR_LIBRARIES include(FindPackageHandleStandardArgs) find_package_handle_standard_args(GROSMOSDR DEFAULT_MSG GROSMOSDR_LIBRARIES GROSMOSDR_INCLUDE_DIR) -if(GROSMOSDR_FOUND AND NOT TARGET Gnuradio:osmosdr) - add_library(Gnuradio:osmosdr SHARED IMPORTED) - set_target_properties(Gnuradio:osmosdr PROPERTIES +if(GROSMOSDR_FOUND AND NOT TARGET Gnuradio::osmosdr) + add_library(Gnuradio::osmosdr SHARED IMPORTED) + set_target_properties(Gnuradio::osmosdr PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" IMPORTED_LOCATION "${GROSMOSDR_LIBRARIES}" INTERFACE_INCLUDE_DIRECTORIES "${GROSMOSDR_INCLUDE_DIR};${GROSMOSDR_INCLUDE_DIR}/osmosdr" diff --git a/cmake/Modules/FindLIBIIO.cmake b/cmake/Modules/FindLIBIIO.cmake index 642af5216..5a9a3806f 100644 --- a/cmake/Modules/FindLIBIIO.cmake +++ b/cmake/Modules/FindLIBIIO.cmake @@ -79,9 +79,9 @@ find_library( include(FindPackageHandleStandardArgs) find_package_handle_standard_args(LIBIIO DEFAULT_MSG LIBIIO_LIBRARIES LIBIIO_INCLUDE_DIRS) -if(LIBIIO_FOUND AND NOT TARGET Iio:iio) - add_library(Iio:iio SHARED IMPORTED) - set_target_properties(Iio:iio PROPERTIES +if(LIBIIO_FOUND AND NOT TARGET Iio::iio) + add_library(Iio::iio SHARED IMPORTED) + set_target_properties(Iio::iio PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" IMPORTED_LOCATION "${LIBIIO_LIBRARIES}" INTERFACE_INCLUDE_DIRECTORIES "${LIBIIO_INCLUDE_DIRS}" diff --git a/cmake/Modules/FindLIBOSMOSDR.cmake b/cmake/Modules/FindLIBOSMOSDR.cmake index 1fe3e6493..7534f4a00 100644 --- a/cmake/Modules/FindLIBOSMOSDR.cmake +++ b/cmake/Modules/FindLIBOSMOSDR.cmake @@ -82,9 +82,9 @@ find_library(LIBOSMOSDR_LIBRARIES NAMES osmosdr include(FindPackageHandleStandardArgs) find_package_handle_standard_args(LIBOSMOSDR DEFAULT_MSG LIBOSMOSDR_INCLUDE_DIR LIBOSMOSDR_LIBRARIES) -if(LIBOSMOSDR_FOUND AND NOT TARGET Osmosdr:osmosdr) - add_library(Osmosdr:osmosdr SHARED IMPORTED) - set_target_properties(Osmosdr:osmosdr PROPERTIES +if(LIBOSMOSDR_FOUND AND NOT TARGET Osmosdr::osmosdr) + add_library(Osmosdr::osmosdr SHARED IMPORTED) + set_target_properties(Osmosdr::osmosdr PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" IMPORTED_LOCATION "${LIBOSMOSDR_LIBRARIES}" INTERFACE_INCLUDE_DIRECTORIES "${LIBOSMOSDR_INCLUDE_DIR}" diff --git a/cmake/Modules/FindTELEORBIT.cmake b/cmake/Modules/FindTELEORBIT.cmake index eb2420687..b71473b02 100644 --- a/cmake/Modules/FindTELEORBIT.cmake +++ b/cmake/Modules/FindTELEORBIT.cmake @@ -47,4 +47,15 @@ find_library(TELEORBIT_LIBRARIES include(FindPackageHandleStandardArgs) find_package_handle_standard_args(TELEORBIT DEFAULT_MSG TELEORBIT_LIBRARIES TELEORBIT_INCLUDE_DIRS) + +if(TELEORBIT_FOUND AND NOT TARGET Gnuradio:teleorbit) + add_library(Gnuradio:teleorbit SHARED IMPORTED) + set_target_properties(Gnuradio:teleorbit PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "CXX" + IMPORTED_LOCATION "${TELEORBIT_LIBRARIES}" + INTERFACE_INCLUDE_DIRECTORIES "${TELEORBIT_INCLUDE_DIRS};${TELEORBIT_INCLUDE_DIR}/teleorbit" + INTERFACE_LINK_LIBRARIES "${TELEORBIT_LIBRARIES}" + ) +endif() + mark_as_advanced(TELEORBIT_LIBRARIES TELEORBIT_INCLUDE_DIRS) diff --git a/src/algorithms/signal_source/adapters/CMakeLists.txt b/src/algorithms/signal_source/adapters/CMakeLists.txt index b1850f529..b28f83fde 100644 --- a/src/algorithms/signal_source/adapters/CMakeLists.txt +++ b/src/algorithms/signal_source/adapters/CMakeLists.txt @@ -19,17 +19,13 @@ # Optional drivers -if(ENABLE_RAW_UDP) - find_package(PCAP) - if(NOT PCAP_FOUND) - message(FATAL_ERROR "PCAP required to compile custom UDP packet sample source (ENABLE_RAW_UDP)") - endif() +if(ENABLE_RAW_UDP AND PCAP_FOUND) set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} custom_udp_signal_source.cc) set(OPT_DRIVER_HEADERS ${OPT_DRIVER_HEADERS} custom_udp_signal_source.h) endif() + if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2) - find_package(GRIIO REQUIRED) if(NOT GRIIO_FOUND) message(STATUS "gnuradio-iio not found, its installation is required.") message(STATUS "Please build and install the following projects:") @@ -40,8 +36,8 @@ if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2) endif() endif() + if(ENABLE_AD9361) - find_package(LIBIIO REQUIRED) if(NOT LIBIIO_FOUND) message(STATUS "libiio not found, its installation is required.") message(STATUS "Please build and install the following projects:") @@ -90,33 +86,16 @@ if(ENABLE_GN3S) ############################################## # GN3S (USB dongle) ############################################## - find_package(GRGN3S REQUIRED) if(NOT GRGN3S_FOUND) message(" gr-gn3s not found, install it from https://github.com/gnss-sdr/gr-gn3s ") message(FATAL_ERROR "gr-gn3s required for building gnss-sdr with this option enabled") endif() - set(OPT_LIBRARIES ${OPT_LIBRARIES} ${GR_GN3S_LIBRARIES}) - set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${GR_GN3S_INCLUDE_DIRS}) set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} gn3s_signal_source.cc) set(OPT_DRIVER_HEADERS ${OPT_DRIVER_HEADERS} gn3s_signal_source.h) endif() -if(ENABLE_FLEXIBAND) - ############################################## - # TELEORBIT FLEXIBAND FRONTEND ADAPTER - ############################################## - find_package(TELEORBIT REQUIRED) - if(NOT TELEORBIT_FOUND) - message(FATAL_ERROR "Teleorbit Flexiband GNU Radio driver required to build gnss-sdr with the optional FLEXIBAND adapter") - endif() - # Set up variables - set(FLEXIBAND_DRIVER_INCLUDE_DIRS - ${OPT_DRIVER_INCLUDE_DIRS} - ${TELEORBIT_INCLUDE_DIR}/teleorbit - ) - set(OPT_LIBRARIES ${OPT_LIBRARIES} ${TELEORBIT_LIBRARIES}) - set(OPT_DRIVER_INCLUDE_DIRS ${OPT_DRIVER_INCLUDE_DIRS} ${FLEXIBAND_DRIVER_INCLUDE_DIRS}) +if(ENABLE_FLEXIBAND AND TELEORBIT_FOUND) set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} flexiband_signal_source.cc) set(OPT_DRIVER_HEADERS ${OPT_DRIVER_HEADERS} flexiband_signal_source.h) endif() @@ -126,7 +105,6 @@ if(ENABLE_ARRAY) ############################################## # DBFCTTC GNSS EXPERIMENTAL ARRAY PROTOTYPE ############################################## - find_package(GRDBFCTTC REQUIRED) if(NOT GRDBFCTTC_FOUND) message(" gr-dbfcttc not found, install it from https://github.com/gnss-sdr/gr-dbfcttc ") message(FATAL_ERROR "gr-dbfcttc required for building gnss-sdr with this option enabled") @@ -208,7 +186,6 @@ target_link_libraries(signal_source_adapters gnss_sp_libs gnss_rx signal_source_lib - ${OPT_LIBRARIES} PRIVATE Gflags::gflags Glog::glog @@ -228,8 +205,6 @@ if(ENABLE_OSMOSDR AND GROSMOSDR_FOUND) target_link_libraries(signal_source_adapters PUBLIC Gnuradio::osmosdr - PRIVATE - Osmosdr::osmosdr ) endif() @@ -247,9 +222,29 @@ if(ENABLE_RAW_UDP AND PCAP_FOUND) ) endif() +if(ENABLE_FLEXIBAND AND TELEORBIT_FOUND) + target_link_libraries(signal_source_adapters + PRIVATE + Gnuradio::teleorbit + ) +endif() + +if(ENABLE_GN3S AND GRGN3S_FOUND) + target_link_libraries(signal_source_adapters + PRIVATE + Gnuradio::gn3s + ) +endif() + +if(ENABLE_ARRAY AND GRDBFCTTC_FOUND) + target_link_libraries(signal_source_adapters + PRIVATE + Gnuradio::dbfcttc + ) +endif() + target_compile_definitions(signal_source_adapters PRIVATE -DGNSSSDR_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}") set_property(TARGET signal_source_adapters APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $ - $ ) diff --git a/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt b/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt index 3d1b342f1..04a26f71d 100644 --- a/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt @@ -17,11 +17,7 @@ # -if(ENABLE_RAW_UDP) - find_package(PCAP) - if(NOT PCAP_FOUND) - message(FATAL_ERROR "PCAP required to compile custom UDP packet sample source") - endif() +if(ENABLE_RAW_UDP AND PCAP_FOUND) set(OPT_DRIVER_SOURCES ${OPT_DRIVER_SOURCES} gr_complex_ip_packet_source.cc) set(OPT_DRIVER_HEADERS ${OPT_DRIVER_HEADERS} gr_complex_ip_packet_source.h) endif() diff --git a/src/algorithms/signal_source/libs/CMakeLists.txt b/src/algorithms/signal_source/libs/CMakeLists.txt index e05db43f7..0eea30c89 100644 --- a/src/algorithms/signal_source/libs/CMakeLists.txt +++ b/src/algorithms/signal_source/libs/CMakeLists.txt @@ -17,19 +17,17 @@ # if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2) - find_package(GRIIO REQUIRED) - if(NOT GRIIO_FOUND) - message(STATUS "gnuradio-iio not found, its installation is required.") - message(STATUS "Please build and install the following projects:") - message(STATUS " * libiio from https://github.com/analogdevicesinc/libiio") - message(STATUS " * libad9361-iio from https://github.com/analogdevicesinc/libad9361-iio") - message(STATUS " * gnuradio-iio from https://github.com/analogdevicesinc/gr-iio") - message(FATAL_ERROR "gnuradio-iio is required for building gnss-sdr with this option enabled") - endif() + if(NOT GRIIO_FOUND) + message(STATUS "gnuradio-iio not found, its installation is required.") + message(STATUS "Please build and install the following projects:") + message(STATUS " * libiio from https://github.com/analogdevicesinc/libiio") + message(STATUS " * libad9361-iio from https://github.com/analogdevicesinc/libad9361-iio") + message(STATUS " * gnuradio-iio from https://github.com/analogdevicesinc/gr-iio") + message(FATAL_ERROR "gnuradio-iio is required for building gnss-sdr with this option enabled") + endif() endif() if(ENABLE_FMCOMMS2 OR ENABLE_AD9361) - find_package(LIBIIO REQUIRED) if(NOT LIBIIO_FOUND) message(STATUS "libiio not found, its installation is required.") message(STATUS "Please build and install the following projects:") diff --git a/src/algorithms/telemetry_decoder/libs/libswiftcnav/CMakeLists.txt b/src/algorithms/telemetry_decoder/libs/libswiftcnav/CMakeLists.txt index 4921071c9..39e91323b 100644 --- a/src/algorithms/telemetry_decoder/libs/libswiftcnav/CMakeLists.txt +++ b/src/algorithms/telemetry_decoder/libs/libswiftcnav/CMakeLists.txt @@ -47,4 +47,5 @@ set_property(TARGET telemetry_decoder_libswiftcnav source_group(Headers FILES ${TELEMETRY_DECODER_LIBSWIFTCNAV_HEADERS}) set_target_properties(telemetry_decoder_libswiftcnav - PROPERTIES LINKER_LANGUAGE C) + PROPERTIES LINKER_LANGUAGE C +) diff --git a/src/core/receiver/CMakeLists.txt b/src/core/receiver/CMakeLists.txt index 1e4fe8edc..cf3dc90b5 100644 --- a/src/core/receiver/CMakeLists.txt +++ b/src/core/receiver/CMakeLists.txt @@ -121,9 +121,9 @@ if(ENABLE_ARRAY) target_compile_definitions(gnss_rx PRIVATE -DRAW_ARRAY_DRIVER=1) endif() -#if(ENABLE_FLEXIBAND) -# target_compile_definitions(gnss_rx PRIVATE -DFLEXIBAND_DRIVER=1) -#endif() +if(ENABLE_FLEXIBAND) + target_compile_definitions(gnss_rx PRIVATE -DFLEXIBAND_DRIVER=1) +endif() if(OPENCL_FOUND) message(STATUS "Adding processing blocks implemented using OpenCL") @@ -142,10 +142,8 @@ target_link_libraries(gnss_rx Boost::boost Boost::thread Gnuradio::runtime - gnss_system_parameters rx_core_lib core_monitor_lib - gnss_sp_libs PRIVATE Glog::glog signal_source_adapters @@ -159,19 +157,10 @@ target_link_libraries(gnss_rx telemetry_decoder_adapters obs_adapters pvt_adapters - Volkgnsssdr::volkgnsssdr ) -if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2 OR ENABLE_AD9361) - target_link_libraries(gnss_rx - PRIVATE - Iio::iio - ) -endif() - set_property(TARGET gnss_rx APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $ $ - $ $ ) diff --git a/src/core/receiver/tcp_cmd_interface.h b/src/core/receiver/tcp_cmd_interface.h index 4cafb898d..2e75298ec 100644 --- a/src/core/receiver/tcp_cmd_interface.h +++ b/src/core/receiver/tcp_cmd_interface.h @@ -34,7 +34,6 @@ #include "pvt_interface.h" #include #include -#include #include #include #include From 1789777070e48ce96eb965a5f29e13fcdfe56eab Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Mon, 4 Feb 2019 18:33:16 +0100 Subject: [PATCH 12/19] Remove unused lines --- src/utils/front-end-cal/CMakeLists.txt | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/utils/front-end-cal/CMakeLists.txt b/src/utils/front-end-cal/CMakeLists.txt index bb2614408..f96f0158c 100644 --- a/src/utils/front-end-cal/CMakeLists.txt +++ b/src/utils/front-end-cal/CMakeLists.txt @@ -26,11 +26,9 @@ source_group(Headers FILES ${FRONT_END_CAL_HEADERS}) target_link_libraries(front_end_cal_lib PUBLIC Armadillo::armadillo - ${MAC_LIBRARIES} ${THREAD_LIBRARIES} acq_adapters Volkgnsssdr::volkgnsssdr ${ORC_LIBRARIES} - ${GNSS_SDR_OPTIONAL_LIBS} rx_core_lib gnss_sdr_flags gnss_rx @@ -48,9 +46,7 @@ add_executable(front-end-cal ${CMAKE_CURRENT_SOURCE_DIR}/main.cc) target_link_libraries(front-end-cal PUBLIC - ${MAC_LIBRARIES} Volkgnsssdr::volkgnsssdr ${ORC_LIBRARIES} - ${GNSS_SDR_OPTIONAL_LIBS} rx_core_lib gnss_rx front_end_cal_lib From f38d6961e7b66c7203e0ab9a8463f5294b41d4b2 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Mon, 4 Feb 2019 18:45:34 +0100 Subject: [PATCH 13/19] Add gflags private target --- src/core/monitor/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/core/monitor/CMakeLists.txt b/src/core/monitor/CMakeLists.txt index a99668910..7849e9004 100644 --- a/src/core/monitor/CMakeLists.txt +++ b/src/core/monitor/CMakeLists.txt @@ -45,6 +45,7 @@ target_link_libraries(core_monitor_lib Gnuradio::runtime PRIVATE Gnuradio::pmt + Gflags::gflags Glog::glog ) From 02996bbc8a61fcaaa64eb581e4e7235b39e5695e Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Mon, 4 Feb 2019 20:00:29 +0100 Subject: [PATCH 14/19] Add some CMake fixes --- .../observables/gnuradio_blocks/CMakeLists.txt | 5 +++-- .../signal_source/adapters/CMakeLists.txt | 16 ++++++++-------- src/core/libs/CMakeLists.txt | 5 +++-- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt b/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt index 46786f539..d5b9561ec 100644 --- a/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt @@ -42,6 +42,7 @@ target_link_libraries(obs_gr_blocks Matio::matio ) -set_property(TARGET obs_gr_blocks APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES - $ +set_property(TARGET obs_gr_blocks + APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES + $ ) diff --git a/src/algorithms/signal_source/adapters/CMakeLists.txt b/src/algorithms/signal_source/adapters/CMakeLists.txt index b28f83fde..c72236907 100644 --- a/src/algorithms/signal_source/adapters/CMakeLists.txt +++ b/src/algorithms/signal_source/adapters/CMakeLists.txt @@ -192,6 +192,13 @@ target_link_libraries(signal_source_adapters Volk::volk ) +if(ENABLE_RAW_UDP AND PCAP_FOUND) + target_link_libraries(signal_source_adapters + PRIVATE + Pcap::pcap + ) +endif() + if(ENABLE_UHD AND GNURADIO_UHD_LIBRARIES_gnuradio-uhd) target_link_libraries(signal_source_adapters PUBLIC @@ -211,14 +218,7 @@ endif() if(ENABLE_AD9361 AND LIBIIO_FOUND) target_link_libraries(signal_source_adapters PRIVATE - Osmosdr::osmosdr - ) -endif() - -if(ENABLE_RAW_UDP AND PCAP_FOUND) - target_link_libraries(signal_source_adapters - PRIVATE - Pcap::pcap + Iio::iio ) endif() diff --git a/src/core/libs/CMakeLists.txt b/src/core/libs/CMakeLists.txt index 5088bc944..204bfd77d 100644 --- a/src/core/libs/CMakeLists.txt +++ b/src/core/libs/CMakeLists.txt @@ -41,12 +41,13 @@ source_group(Headers FILES ${CORE_LIBS_HEADERS}) target_link_libraries(rx_core_lib PUBLIC + Boost::boost supl_library gnss_system_parameters - Boost::boost PRIVATE - Glog::glog Boost::serialization + Gflags::gflags + Glog::glog Pugixml::pugixml ) From f1e4996091f473d57a6756f3a990374db9eba944 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Mon, 4 Feb 2019 20:27:33 +0100 Subject: [PATCH 15/19] Update and clean CMake scripts --- .../gnuradio_blocks/CMakeLists.txt | 30 +++++-------------- .../gnuradio_blocks/signal_generator_c.h | 1 - 2 files changed, 7 insertions(+), 24 deletions(-) diff --git a/src/algorithms/signal_generator/gnuradio_blocks/CMakeLists.txt b/src/algorithms/signal_generator/gnuradio_blocks/CMakeLists.txt index c88018421..7038b70bb 100644 --- a/src/algorithms/signal_generator/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/signal_generator/gnuradio_blocks/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -19,18 +19,6 @@ set(SIGNAL_GENERATOR_BLOCK_SOURCES signal_generator_c.cc) set(SIGNAL_GENERATOR_BLOCK_HEADERS signal_generator_c.h) -include_directories( - #${CMAKE_CURRENT_SOURCE_DIR} - #${CMAKE_SOURCE_DIR}/src/core/system_parameters - #${CMAKE_SOURCE_DIR}/src/core/interfaces - #${CMAKE_SOURCE_DIR}/src/core/receiver - #${CMAKE_SOURCE_DIR}/src/algorithms/libs - #${GLOG_INCLUDE_DIRS} - #${GFlags_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${VOLK_GNSSSDR_INCLUDE_DIRS} -) - add_library(signal_generator_blocks ${SIGNAL_GENERATOR_BLOCK_SOURCES} ${SIGNAL_GENERATOR_BLOCK_HEADERS} @@ -41,23 +29,19 @@ source_group(Headers FILES ${SIGNAL_GENERATOR_BLOCK_HEADERS}) target_link_libraries(signal_generator_blocks PUBLIC Boost::boost + Gnuradio::runtime gnss_system_parameters - ${GNURADIO_RUNTIME_LIBRARIES} - ${GNURADIO_FFT_LIBRARIES} - ${VOLK_GNSSSDR_LIBRARIES} - ${ORC_LIBRARIES} PRIVATE gnss_sp_libs + Volkgnsssdr::volkgnsssdr ) -target_include_directories(signal_generator_blocks PUBLIC ${CMAKE_SOURCE_DIR}/src/algorithms/libs) - +target_include_directories(signal_generator_blocks + PUBLIC + ${CMAKE_SOURCE_DIR}/src/algorithms/libs +) set_property(TARGET signal_generator_blocks APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $ ) - -if(NOT VOLKGNSSSDR_FOUND) - add_dependencies(signal_generator_blocks volk_gnsssdr_module) -endif() diff --git a/src/algorithms/signal_generator/gnuradio_blocks/signal_generator_c.h b/src/algorithms/signal_generator/gnuradio_blocks/signal_generator_c.h index d47fc558b..0c412432d 100644 --- a/src/algorithms/signal_generator/gnuradio_blocks/signal_generator_c.h +++ b/src/algorithms/signal_generator/gnuradio_blocks/signal_generator_c.h @@ -33,7 +33,6 @@ #include "gnss_signal.h" #include -//#include #include #include #include From b58b07fe01225529a0c1bf5e8535023cfef852d4 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Mon, 4 Feb 2019 20:29:42 +0100 Subject: [PATCH 16/19] Update and clean CMake scripts --- .../telemetry_decoder/adapters/CMakeLists.txt | 1 - .../tracking/adapters/CMakeLists.txt | 23 +++++-------------- .../tracking/gnuradio_blocks/CMakeLists.txt | 15 +++++------- src/algorithms/tracking/libs/CMakeLists.txt | 19 +++++---------- 4 files changed, 18 insertions(+), 40 deletions(-) diff --git a/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt b/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt index aab494d71..c1d708b28 100644 --- a/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt +++ b/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt @@ -61,7 +61,6 @@ target_link_libraries(telemetry_decoder_adapters telemetry_decoder_lib ) - set_property(TARGET telemetry_decoder_adapters APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $ diff --git a/src/algorithms/tracking/adapters/CMakeLists.txt b/src/algorithms/tracking/adapters/CMakeLists.txt index 08e75247e..6dc4190f8 100644 --- a/src/algorithms/tracking/adapters/CMakeLists.txt +++ b/src/algorithms/tracking/adapters/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -87,22 +87,6 @@ set(TRACKING_ADAPTER_HEADERS ${OPT_TRACKING_ADAPTERS_HEADERS} ) -include_directories( - #${CMAKE_CURRENT_SOURCE_DIR} - #${CMAKE_SOURCE_DIR}/src/core/system_parameters - #${CMAKE_SOURCE_DIR}/src/core/interfaces - #${CMAKE_SOURCE_DIR}/src/core/receiver - #${CMAKE_SOURCE_DIR}/src/algorithms/tracking/gnuradio_blocks - #${CMAKE_SOURCE_DIR}/src/algorithms/tracking/libs - #${CMAKE_SOURCE_DIR}/src/algorithms/libs - #${ARMADILLO_INCLUDE_DIRS} - #${GLOG_INCLUDE_DIRS} - #${GFlags_INCLUDE_DIRS} - ${GNURADIO_RUNTIME_INCLUDE_DIRS} - ${VOLK_GNSSSDR_INCLUDE_DIRS} - ${OPT_TRACKING_INCLUDE_DIRS} -) - list(SORT TRACKING_ADAPTER_HEADERS) list(SORT TRACKING_ADAPTER_SOURCES) @@ -120,6 +104,11 @@ target_link_libraries(tracking_adapters gnss_sdr_flags ) +target_include_directories(tracking_adapters + PUBLIC + ${OPT_TRACKING_INCLUDE_DIRS} +) + set_property(TARGET tracking_adapters APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $ diff --git a/src/algorithms/tracking/gnuradio_blocks/CMakeLists.txt b/src/algorithms/tracking/gnuradio_blocks/CMakeLists.txt index bf0a54baf..5451846e2 100644 --- a/src/algorithms/tracking/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/tracking/gnuradio_blocks/CMakeLists.txt @@ -78,20 +78,16 @@ set(TRACKING_GR_BLOCKS_HEADERS ${OPT_TRACKING_BLOCKS_HEADERS} ) -include_directories( - ${OPT_TRACKING_INCLUDES} -) - list(SORT TRACKING_GR_BLOCKS_HEADERS) list(SORT TRACKING_GR_BLOCKS_SOURCES) +source_group(Headers FILES ${TRACKING_GR_BLOCKS_HEADERS}) + add_library(tracking_gr_blocks ${TRACKING_GR_BLOCKS_SOURCES} ${TRACKING_GR_BLOCKS_HEADERS} ) -source_group(Headers FILES ${TRACKING_GR_BLOCKS_HEADERS}) - target_link_libraries(tracking_gr_blocks PUBLIC Boost::boost @@ -105,9 +101,10 @@ target_link_libraries(tracking_gr_blocks ${OPT_TRACKING_LIBRARIES} ) -if(ENABLE_GENERIC_ARCH) - target_compile_definitions(tracking_gr_blocks PUBLIC -DGENERIC_ARCH=1) -endif() +target_include_directories(tracking_gr_blocks + PUBLIC + ${OPT_TRACKING_INCLUDES} +) set_property(TARGET tracking_gr_blocks APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES diff --git a/src/algorithms/tracking/libs/CMakeLists.txt b/src/algorithms/tracking/libs/CMakeLists.txt index 66b84d544..d35765875 100644 --- a/src/algorithms/tracking/libs/CMakeLists.txt +++ b/src/algorithms/tracking/libs/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -66,18 +66,6 @@ if(ENABLE_FPGA) set(TRACKING_LIB_HEADERS ${TRACKING_LIB_HEADERS} fpga_multicorrelator.h dll_pll_conf_fpga.h) endif() -include_directories( - ${OPT_TRACKING_INCLUDES} -) - -if(ENABLE_GENERIC_ARCH) - add_definitions(-DGENERIC_ARCH=1) -endif() - -if(SSE3_AVAILABLE) - add_definitions(-DHAVE_SSE3=1) -endif() - list(SORT TRACKING_LIB_HEADERS) list(SORT TRACKING_LIB_SOURCES) @@ -98,6 +86,11 @@ target_link_libraries(tracking_lib Glog::glog ) +target_include_directories(tracking_lib + PUBLIC + ${OPT_TRACKING_INCLUDES} +) + set_property(TARGET tracking_lib APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $ From 708b288e61f287f545f642f575b8e25a0769299b Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Mon, 4 Feb 2019 22:44:45 +0100 Subject: [PATCH 17/19] Clean CMake scripts --- CMakeLists.txt | 25 +++--- src/algorithms/PVT/adapters/CMakeLists.txt | 4 +- .../PVT/gnuradio_blocks/CMakeLists.txt | 5 +- src/algorithms/PVT/libs/CMakeLists.txt | 11 ++- .../acquisition/adapters/CMakeLists.txt | 5 +- .../gnuradio_blocks/CMakeLists.txt | 9 +- .../acquisition/libs/CMakeLists.txt | 5 +- .../channel/adapters/CMakeLists.txt | 3 +- src/algorithms/channel/libs/CMakeLists.txt | 4 +- .../conditioner/adapters/CMakeLists.txt | 4 +- .../data_type_adapter/adapters/CMakeLists.txt | 7 +- .../gnuradio_blocks/CMakeLists.txt | 4 +- .../input_filter/adapters/CMakeLists.txt | 13 +-- .../gnuradio_blocks/CMakeLists.txt | 6 +- src/algorithms/libs/CMakeLists.txt | 18 +++- src/algorithms/libs/rtklib/CMakeLists.txt | 3 +- .../observables/adapters/CMakeLists.txt | 10 ++- .../gnuradio_blocks/CMakeLists.txt | 14 +-- .../resampler/adapters/CMakeLists.txt | 5 +- .../signal_generator/adapters/CMakeLists.txt | 5 +- .../gnuradio_blocks/CMakeLists.txt | 4 +- .../signal_source/adapters/CMakeLists.txt | 15 +++- .../gnuradio_blocks/CMakeLists.txt | 4 +- .../signal_source/libs/CMakeLists.txt | 5 +- .../telemetry_decoder/adapters/CMakeLists.txt | 6 +- .../gnuradio_blocks/CMakeLists.txt | 5 +- .../telemetry_decoder/libs/CMakeLists.txt | 7 +- .../libs/libswiftcnav/CMakeLists.txt | 4 +- .../tracking/adapters/CMakeLists.txt | 4 +- src/algorithms/tracking/libs/CMakeLists.txt | 4 +- src/core/libs/CMakeLists.txt | 4 +- src/core/monitor/CMakeLists.txt | 8 +- src/core/receiver/CMakeLists.txt | 9 +- src/core/system_parameters/CMakeLists.txt | 6 +- src/main/CMakeLists.txt | 89 ++++++++----------- 35 files changed, 189 insertions(+), 145 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5ba337dbd..7054ac48e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1619,9 +1619,9 @@ endif() # Setup of optional drivers ################################################################################ -################################################################################ +######################################## # USRP Hardware Driver (UHD) - OPTIONAL -################################################################################ +######################################## if(ENABLE_UHD) find_package(UHD) if(NOT UHD_FOUND) @@ -1647,9 +1647,10 @@ if(ENABLE_UHD) endif() -############################################## +########################################## # gr-osmosdr - OPTIONAL -############################################## +# https://github.com/osmocom/gr-osmosdr +########################################## if($ENV{RTLSDR_DRIVER}) message(STATUS "RTLSDR_DRIVER environment variable found.") set(ENABLE_OSMOSDR ON) @@ -1675,15 +1676,19 @@ endif() ############################################## # gr-iio - OPTIONAL +# IIO blocks for GNU Radio +# https://github.com/analogdevicesinc/gr-iio ############################################## if(ENABLE_PLUTOSDR OR ENABLE_FMCOMMS2) find_package(GRIIO) endif() -############################################## +################################################################################### # libiio - OPTIONAL -############################################## +# A cross platform library for interfacing with local and remote Linux IIO devices +# https://github.com/analogdevicesinc/libiio +################################################################################### if(ENABLE_AD9361) find_package(LIBIIO) endif() @@ -1736,9 +1741,9 @@ else() endif() -############################################## -# CTTC ARRAY - OPTIONAL -############################################## +####################################################### +# CTTC's digital array beamformer prototype - OPTIONAL +####################################################### if($ENV{RAW_ARRAY_DRIVER}) message(STATUS "RAW_ARRAY_DRIVER environment variable found.") set(ENABLE_ARRAY ON) @@ -1760,7 +1765,7 @@ endif() ################################################################################ -# GPerftools - https://github.com/gperftools/gperftools (OPTIONAL) +# GPerftools - https://github.com/gperftools/gperftools - OPTIONAL) ################################################################################ if(ENABLE_GPERFTOOLS) find_package(GPERFTOOLS) diff --git a/src/algorithms/PVT/adapters/CMakeLists.txt b/src/algorithms/PVT/adapters/CMakeLists.txt index 9b7adafe5..5972239c9 100644 --- a/src/algorithms/PVT/adapters/CMakeLists.txt +++ b/src/algorithms/PVT/adapters/CMakeLists.txt @@ -25,10 +25,10 @@ set(PVT_ADAPTER_HEADERS rtklib_pvt.h ) -add_library(pvt_adapters ${PVT_ADAPTER_SOURCES} ${PVT_ADAPTER_HEADERS}) - source_group(Headers FILES ${PVT_ADAPTER_HEADERS}) +add_library(pvt_adapters ${PVT_ADAPTER_SOURCES} ${PVT_ADAPTER_HEADERS}) + target_link_libraries(pvt_adapters PUBLIC pvt_gr_blocks diff --git a/src/algorithms/PVT/gnuradio_blocks/CMakeLists.txt b/src/algorithms/PVT/gnuradio_blocks/CMakeLists.txt index 7d9994704..d7c2891bf 100644 --- a/src/algorithms/PVT/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/PVT/gnuradio_blocks/CMakeLists.txt @@ -24,10 +24,10 @@ set(PVT_GR_BLOCKS_HEADERS rtklib_pvt_cc.h ) -add_library(pvt_gr_blocks ${PVT_GR_BLOCKS_SOURCES} ${PVT_GR_BLOCKS_HEADERS}) - source_group(Headers FILES ${PVT_GR_BLOCKS_HEADERS}) +add_library(pvt_gr_blocks ${PVT_GR_BLOCKS_SOURCES} ${PVT_GR_BLOCKS_HEADERS}) + target_link_libraries(pvt_gr_blocks PUBLIC Boost::date_time @@ -36,6 +36,7 @@ target_link_libraries(pvt_gr_blocks gnss_system_parameters gnss_rx PRIVATE + Gflags::gflags Glog::glog Boost::filesystem Boost::system diff --git a/src/algorithms/PVT/libs/CMakeLists.txt b/src/algorithms/PVT/libs/CMakeLists.txt index ce8d2bcad..2eb16e5ea 100644 --- a/src/algorithms/PVT/libs/CMakeLists.txt +++ b/src/algorithms/PVT/libs/CMakeLists.txt @@ -48,10 +48,10 @@ set(PVT_LIB_HEADERS list(SORT PVT_LIB_HEADERS) list(SORT PVT_LIB_SOURCES) -add_library(pvt_lib ${PVT_LIB_SOURCES} ${PVT_LIB_HEADERS}) - source_group(Headers FILES ${PVT_LIB_HEADERS}) +add_library(pvt_lib ${PVT_LIB_SOURCES} ${PVT_LIB_HEADERS}) + target_link_libraries(pvt_lib PUBLIC Armadillo::armadillo @@ -63,11 +63,16 @@ target_link_libraries(pvt_lib PRIVATE Boost::filesystem Boost::system + Gflags::gflags Glog::glog Matio::matio ) -target_include_directories(pvt_lib PUBLIC ${CMAKE_SOURCE_DIR}/src/algorithms/libs ${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib) +target_include_directories(pvt_lib + PUBLIC + ${CMAKE_SOURCE_DIR}/src/algorithms/libs + ${CMAKE_SOURCE_DIR}/src/algorithms/libs/rtklib +) target_compile_definitions(pvt_lib PUBLIC -DGNSS_SDR_VERSION="${VERSION}") diff --git a/src/algorithms/acquisition/adapters/CMakeLists.txt b/src/algorithms/acquisition/adapters/CMakeLists.txt index 5059da317..434c7e5cc 100644 --- a/src/algorithms/acquisition/adapters/CMakeLists.txt +++ b/src/algorithms/acquisition/adapters/CMakeLists.txt @@ -86,10 +86,10 @@ endif() list(SORT ACQ_ADAPTER_HEADERS) list(SORT ACQ_ADAPTER_SOURCES) -add_library(acq_adapters ${ACQ_ADAPTER_SOURCES} ${ACQ_ADAPTER_HEADERS}) - source_group(Headers FILES ${ACQ_ADAPTER_HEADERS}) +add_library(acq_adapters ${ACQ_ADAPTER_SOURCES} ${ACQ_ADAPTER_HEADERS}) + target_link_libraries(acq_adapters PUBLIC gnss_sp_libs @@ -100,6 +100,7 @@ target_link_libraries(acq_adapters gnss_system_parameters PRIVATE Boost::boost + Gflags::gflags Glog::glog Volkgnsssdr::volkgnsssdr acquisition_lib diff --git a/src/algorithms/acquisition/gnuradio_blocks/CMakeLists.txt b/src/algorithms/acquisition/gnuradio_blocks/CMakeLists.txt index abce9ac5b..67d639da4 100644 --- a/src/algorithms/acquisition/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/acquisition/gnuradio_blocks/CMakeLists.txt @@ -61,9 +61,11 @@ endif() list(SORT ACQ_GR_BLOCKS_HEADERS) list(SORT ACQ_GR_BLOCKS_SOURCES) -add_library(acq_gr_blocks ${ACQ_GR_BLOCKS_SOURCES} ${ACQ_GR_BLOCKS_HEADERS}) + source_group(Headers FILES ${ACQ_GR_BLOCKS_HEADERS}) +add_library(acq_gr_blocks ${ACQ_GR_BLOCKS_SOURCES} ${ACQ_GR_BLOCKS_HEADERS}) + target_link_libraries(acq_gr_blocks PUBLIC Gnuradio::runtime @@ -73,11 +75,12 @@ target_link_libraries(acq_gr_blocks acquisition_lib ${OPT_LIBRARIES} PRIVATE - gnss_sp_libs - Glog::glog Boost::filesystem + Gflags::gflags + Glog::glog Matio::matio Volkgnsssdr::volkgnsssdr + gnss_sp_libs gnss_rx ) diff --git a/src/algorithms/acquisition/libs/CMakeLists.txt b/src/algorithms/acquisition/libs/CMakeLists.txt index 4abdf4e12..aa753b054 100644 --- a/src/algorithms/acquisition/libs/CMakeLists.txt +++ b/src/algorithms/acquisition/libs/CMakeLists.txt @@ -27,18 +27,19 @@ set(ACQUISITION_LIB_SOURCES ${ACQUISITION_LIB_SOURCES} acq_conf.cc) list(SORT ACQUISITION_LIB_HEADERS) list(SORT ACQUISITION_LIB_SOURCES) +source_group(Headers FILES ${ACQUISITION_LIB_HEADERS}) + add_library(acquisition_lib ${ACQUISITION_LIB_SOURCES} ${ACQUISITION_LIB_HEADERS} ) -source_group(Headers FILES ${ACQUISITION_LIB_HEADERS}) - target_link_libraries(acquisition_lib PUBLIC Volk::volk Gnuradio::fft PRIVATE + Gflags::gflags Glog::glog gnss_system_parameters gnss_rx diff --git a/src/algorithms/channel/adapters/CMakeLists.txt b/src/algorithms/channel/adapters/CMakeLists.txt index c54b521e1..b3507210d 100644 --- a/src/algorithms/channel/adapters/CMakeLists.txt +++ b/src/algorithms/channel/adapters/CMakeLists.txt @@ -32,8 +32,9 @@ target_link_libraries(channel_adapters channel_fsm gnss_rx PRIVATE - gnss_sdr_flags + Gflags::gflags Glog::glog + gnss_sdr_flags ) set_property(TARGET channel_adapters diff --git a/src/algorithms/channel/libs/CMakeLists.txt b/src/algorithms/channel/libs/CMakeLists.txt index 032b13ef4..091b2ee38 100644 --- a/src/algorithms/channel/libs/CMakeLists.txt +++ b/src/algorithms/channel/libs/CMakeLists.txt @@ -29,14 +29,16 @@ set(CHANNEL_FSM_HEADERS list(SORT CHANNEL_FSM_HEADERS) list(SORT CHANNEL_FSM_SOURCES) -add_library(channel_fsm ${CHANNEL_FSM_SOURCES} ${CHANNEL_FSM_HEADERS}) source_group(Headers FILES ${CHANNEL_FSM_HEADERS}) +add_library(channel_fsm ${CHANNEL_FSM_SOURCES} ${CHANNEL_FSM_HEADERS}) + target_link_libraries(channel_fsm PUBLIC gnss_rx Gnuradio::runtime PRIVATE + Gflags::gflags Glog::glog ) diff --git a/src/algorithms/conditioner/adapters/CMakeLists.txt b/src/algorithms/conditioner/adapters/CMakeLists.txt index a71299664..ee3f854ce 100644 --- a/src/algorithms/conditioner/adapters/CMakeLists.txt +++ b/src/algorithms/conditioner/adapters/CMakeLists.txt @@ -30,14 +30,16 @@ set(COND_ADAPTER_HEADERS list(SORT COND_ADAPTER_HEADERS) list(SORT COND_ADAPTER_SOURCES) -add_library(conditioner_adapters ${COND_ADAPTER_SOURCES} ${COND_ADAPTER_HEADERS}) source_group(Headers FILES ${COND_ADAPTER_HEADERS}) +add_library(conditioner_adapters ${COND_ADAPTER_SOURCES} ${COND_ADAPTER_HEADERS}) + target_link_libraries(conditioner_adapters PUBLIC gnss_rx Gnuradio::runtime PRIVATE + Gflags::gflags Glog::glog ) diff --git a/src/algorithms/data_type_adapter/adapters/CMakeLists.txt b/src/algorithms/data_type_adapter/adapters/CMakeLists.txt index 15d1af7e8..c88b1f473 100644 --- a/src/algorithms/data_type_adapter/adapters/CMakeLists.txt +++ b/src/algorithms/data_type_adapter/adapters/CMakeLists.txt @@ -38,21 +38,22 @@ set(DATATYPE_ADAPTER_HEADERS list(SORT DATATYPE_ADAPTER_HEADERS) list(SORT DATATYPE_ADAPTER_SOURCES) +source_group(Headers FILES ${DATATYPE_ADAPTER_HEADERS}) + add_library(datatype_adapters ${DATATYPE_ADAPTER_SOURCES} ${DATATYPE_ADAPTER_HEADERS} ) -source_group(Headers FILES ${DATATYPE_ADAPTER_HEADERS}) - target_link_libraries(datatype_adapters PUBLIC + Gnuradio::blocks gnss_system_parameters gnss_rx data_type_gr_blocks gnss_sp_libs - Gnuradio::blocks PRIVATE + Gflags::gflags Glog::glog Volk::volk ) diff --git a/src/algorithms/data_type_adapter/gnuradio_blocks/CMakeLists.txt b/src/algorithms/data_type_adapter/gnuradio_blocks/CMakeLists.txt index d3d25038b..252f4490d 100644 --- a/src/algorithms/data_type_adapter/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/data_type_adapter/gnuradio_blocks/CMakeLists.txt @@ -32,13 +32,13 @@ set(DATA_TYPE_GR_BLOCKS_HEADERS list(SORT DATA_TYPE_GR_BLOCKS_HEADERS) list(SORT DATA_TYPE_GR_BLOCKS_SOURCES) +source_group(Headers FILES ${DATA_TYPE_GR_BLOCKS_HEADERS}) + add_library(data_type_gr_blocks ${DATA_TYPE_GR_BLOCKS_SOURCES} ${DATA_TYPE_GR_BLOCKS_HEADERS} ) -source_group(Headers FILES ${DATA_TYPE_GR_BLOCKS_HEADERS}) - target_link_libraries(data_type_gr_blocks PUBLIC Gnuradio::runtime diff --git a/src/algorithms/input_filter/adapters/CMakeLists.txt b/src/algorithms/input_filter/adapters/CMakeLists.txt index 296672235..c7a7c68e2 100644 --- a/src/algorithms/input_filter/adapters/CMakeLists.txt +++ b/src/algorithms/input_filter/adapters/CMakeLists.txt @@ -37,26 +37,27 @@ set(INPUT_FILTER_ADAPTER_HEADERS list(SORT INPUT_FILTER_ADAPTER_HEADERS) list(SORT INPUT_FILTER_ADAPTER_SOURCES) +source_group(Headers FILES ${INPUT_FILTER_ADAPTER_HEADERS}) + add_library(input_filter_adapters ${INPUT_FILTER_ADAPTER_SOURCES} ${INPUT_FILTER_ADAPTER_HEADERS} ) -source_group(Headers FILES ${INPUT_FILTER_ADAPTER_HEADERS}) - target_link_libraries(input_filter_adapters PUBLIC - input_filter_gr_blocks - Gnuradio::filter Gnuradio::blocks + Gnuradio::filter + input_filter_gr_blocks gnss_sp_libs gnss_rx PRIVATE Volk::volk ) -target_include_directories(input_filter_adapters PUBLIC ${CMAKE_SOURCE_DIR}/src/algorithms/libs) - +target_include_directories(input_filter_adapters + PUBLIC ${CMAKE_SOURCE_DIR}/src/algorithms/libs +) if(${PC_GNURADIO_RUNTIME_VERSION} VERSION_GREATER "3.7.13.4") target_compile_definitions(input_filter_adapters PUBLIC -DGR_GREATER_38=1) diff --git a/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt b/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt index b22aa79c4..682c1f01b 100644 --- a/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/input_filter/gnuradio_blocks/CMakeLists.txt @@ -34,16 +34,16 @@ set(INPUT_FILTER_GR_BLOCKS_HEADERS list(SORT INPUT_FILTER_GR_BLOCKS_HEADERS) list(SORT INPUT_FILTER_GR_BLOCKS_SOURCES) +source_group(Headers FILES ${INPUT_FILTER_GR_BLOCKS_HEADERS}) + add_library(input_filter_gr_blocks ${INPUT_FILTER_GR_BLOCKS_SOURCES} ${INPUT_FILTER_GR_BLOCKS_HEADERS}) -source_group(Headers FILES ${INPUT_FILTER_GR_BLOCKS_HEADERS}) - target_link_libraries(input_filter_gr_blocks PUBLIC - Gnuradio::filter Gnuradio::blocks + Gnuradio::filter Volkgnsssdr::volkgnsssdr PRIVATE Gflags::gflags diff --git a/src/algorithms/libs/CMakeLists.txt b/src/algorithms/libs/CMakeLists.txt index d22a0e553..6efef8079 100644 --- a/src/algorithms/libs/CMakeLists.txt +++ b/src/algorithms/libs/CMakeLists.txt @@ -103,9 +103,10 @@ endif() list(SORT GNSS_SPLIBS_HEADERS) list(SORT GNSS_SPLIBS_SOURCES) -add_library(gnss_sp_libs ${GNSS_SPLIBS_SOURCES} ${GNSS_SPLIBS_HEADERS}) source_group(Headers FILES ${GNSS_SPLIBS_HEADERS}) +add_library(gnss_sp_libs ${GNSS_SPLIBS_SOURCES} ${GNSS_SPLIBS_HEADERS}) + target_link_libraries(gnss_sp_libs PUBLIC Boost::boost @@ -119,11 +120,14 @@ target_link_libraries(gnss_sp_libs ${OPT_LIBRARIES} PRIVATE Boost::filesystem + Gflags::gflags Glog::glog gnss_rx ) -target_compile_definitions(gnss_sp_libs PUBLIC -DGNSSSDR_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}") +target_compile_definitions(gnss_sp_libs + PUBLIC -DGNSSSDR_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}" +) if(${GFLAGS_GREATER_20}) target_compile_definitions(gnss_sp_libs PUBLIC -DGFLAGS_GREATER_2_0=1) @@ -134,9 +138,13 @@ set_property(TARGET gnss_sp_libs $ ) -add_library(gnss_sdr_flags gnss_sdr_flags.cc gnss_sdr_flags.h) + +############################################################################### + source_group(Headers FILES gnss_sdr_flags.h) +add_library(gnss_sdr_flags gnss_sdr_flags.cc gnss_sdr_flags.h) + target_link_libraries(gnss_sdr_flags PUBLIC Gflags::gflags @@ -148,7 +156,9 @@ if(${GFLAGS_GREATER_20}) target_compile_definitions(gnss_sdr_flags PUBLIC -DGFLAGS_GREATER_2_0=1) endif() -target_compile_definitions(gnss_sdr_flags PUBLIC -DGNSSSDR_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}") +target_compile_definitions(gnss_sdr_flags + PUBLIC -DGNSSSDR_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}" +) set_property(TARGET gnss_sdr_flags APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES diff --git a/src/algorithms/libs/rtklib/CMakeLists.txt b/src/algorithms/libs/rtklib/CMakeLists.txt index bd8559893..22d3b198e 100644 --- a/src/algorithms/libs/rtklib/CMakeLists.txt +++ b/src/algorithms/libs/rtklib/CMakeLists.txt @@ -61,9 +61,10 @@ set(RTKLIB_LIB_HEADERS list(SORT RTKLIB_LIB_HEADERS) list(SORT RTKLIB_LIB_SOURCES) -add_library(rtklib_lib ${RTKLIB_LIB_SOURCES} ${RTKLIB_LIB_HEADERS}) source_group(Headers FILES ${RTKLIB_LIB_HEADERS}) +add_library(rtklib_lib ${RTKLIB_LIB_SOURCES} ${RTKLIB_LIB_HEADERS}) + if(OS_IS_MACOSX) set(MAC_LIBRARIES "-framework Accelerate") endif() diff --git a/src/algorithms/observables/adapters/CMakeLists.txt b/src/algorithms/observables/adapters/CMakeLists.txt index 1aad392a7..4ef4fd054 100644 --- a/src/algorithms/observables/adapters/CMakeLists.txt +++ b/src/algorithms/observables/adapters/CMakeLists.txt @@ -24,11 +24,14 @@ set(OBS_ADAPTER_HEADERS hybrid_observables.h ) -add_library(obs_adapters ${OBS_ADAPTER_SOURCES} ${OBS_ADAPTER_HEADERS}) - source_group(Headers FILES ${OBS_ADAPTER_HEADERS}) -target_include_directories(obs_adapters PUBLIC ${CMAKE_SOURCE_DIR}/src/algorithms/libs) +add_library(obs_adapters ${OBS_ADAPTER_SOURCES} ${OBS_ADAPTER_HEADERS}) + +target_include_directories(obs_adapters + PUBLIC + ${CMAKE_SOURCE_DIR}/src/algorithms/libs +) target_link_libraries(obs_adapters PUBLIC @@ -36,6 +39,7 @@ target_link_libraries(obs_adapters gnss_rx gnss_sp_libs PRIVATE + Gflags::gflags Glog::glog ) diff --git a/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt b/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt index d5b9561ec..c937ec741 100644 --- a/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/observables/gnuradio_blocks/CMakeLists.txt @@ -24,22 +24,26 @@ set(OBS_GR_BLOCKS_HEADERS hybrid_observables_cc.h ) +source_group(Headers FILES ${OBS_GR_BLOCKS_HEADERS}) + add_library(obs_gr_blocks ${OBS_GR_BLOCKS_SOURCES} ${OBS_GR_BLOCKS_HEADERS}) -target_include_directories(obs_gr_blocks PUBLIC ${CMAKE_SOURCE_DIR}/src/algorithms/libs) - -source_group(Headers FILES ${OBS_GR_BLOCKS_HEADERS}) +target_include_directories(obs_gr_blocks + PUBLIC + ${CMAKE_SOURCE_DIR}/src/algorithms/libs +) target_link_libraries(obs_gr_blocks PUBLIC - Gnuradio::blocks Boost::boost + Gnuradio::blocks gnss_system_parameters PRIVATE - gnss_sp_libs + Gflags::gflags Glog::glog Boost::filesystem Matio::matio + gnss_sp_libs ) set_property(TARGET obs_gr_blocks diff --git a/src/algorithms/resampler/adapters/CMakeLists.txt b/src/algorithms/resampler/adapters/CMakeLists.txt index 5ba4565cf..7c702aa47 100644 --- a/src/algorithms/resampler/adapters/CMakeLists.txt +++ b/src/algorithms/resampler/adapters/CMakeLists.txt @@ -30,19 +30,20 @@ set(RESAMPLER_ADAPTER_HEADERS list(SORT RESAMPLER_ADAPTER_HEADERS) list(SORT RESAMPLER_ADAPTER_SOURCES) +source_group(Headers FILES ${RESAMPLER_ADAPTER_HEADERS}) + add_library(resampler_adapters ${RESAMPLER_ADAPTER_SOURCES} ${RESAMPLER_ADAPTER_HEADERS} ) -source_group(Headers FILES ${RESAMPLER_ADAPTER_HEADERS}) - target_link_libraries(resampler_adapters PUBLIC Gnuradio::runtime resampler_gr_blocks gnss_rx PRIVATE + Gflags::gflags Glog::glog Volk::volk ) diff --git a/src/algorithms/signal_generator/adapters/CMakeLists.txt b/src/algorithms/signal_generator/adapters/CMakeLists.txt index 255e702f0..f82258f93 100644 --- a/src/algorithms/signal_generator/adapters/CMakeLists.txt +++ b/src/algorithms/signal_generator/adapters/CMakeLists.txt @@ -19,13 +19,13 @@ set(SIGNAL_GENERATOR_ADAPTER_SOURCES signal_generator.cc) set(SIGNAL_GENERATOR_ADAPTER_HEADERS signal_generator.h) +source_group(Headers FILES ${SIGNAL_GENERATOR_ADAPTER_HEADERS}) + add_library(signal_generator_adapters ${SIGNAL_GENERATOR_ADAPTER_SOURCES} ${SIGNAL_GENERATOR_ADAPTER_HEADERS} ) -source_group(Headers FILES ${SIGNAL_GENERATOR_ADAPTER_HEADERS}) - target_link_libraries(signal_generator_adapters PUBLIC signal_generator_blocks @@ -33,6 +33,7 @@ target_link_libraries(signal_generator_adapters Gnuradio::blocks gnss_rx PRIVATE + Gflags::gflags Glog::glog gnss_sp_libs ) diff --git a/src/algorithms/signal_generator/gnuradio_blocks/CMakeLists.txt b/src/algorithms/signal_generator/gnuradio_blocks/CMakeLists.txt index 7038b70bb..8d82e6ee6 100644 --- a/src/algorithms/signal_generator/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/signal_generator/gnuradio_blocks/CMakeLists.txt @@ -19,13 +19,13 @@ set(SIGNAL_GENERATOR_BLOCK_SOURCES signal_generator_c.cc) set(SIGNAL_GENERATOR_BLOCK_HEADERS signal_generator_c.h) +source_group(Headers FILES ${SIGNAL_GENERATOR_BLOCK_HEADERS}) + add_library(signal_generator_blocks ${SIGNAL_GENERATOR_BLOCK_SOURCES} ${SIGNAL_GENERATOR_BLOCK_HEADERS} ) -source_group(Headers FILES ${SIGNAL_GENERATOR_BLOCK_HEADERS}) - target_link_libraries(signal_generator_blocks PUBLIC Boost::boost diff --git a/src/algorithms/signal_source/adapters/CMakeLists.txt b/src/algorithms/signal_source/adapters/CMakeLists.txt index c72236907..66b580ff3 100644 --- a/src/algorithms/signal_source/adapters/CMakeLists.txt +++ b/src/algorithms/signal_source/adapters/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -173,9 +173,14 @@ list(SORT SIGNAL_SOURCE_ADAPTER_SOURCES) source_group(Headers FILES ${SIGNAL_SOURCE_ADAPTER_HEADERS}) -add_library(signal_source_adapters ${SIGNAL_SOURCE_ADAPTER_SOURCES} ${SIGNAL_SOURCE_ADAPTER_HEADERS}) +add_library(signal_source_adapters + ${SIGNAL_SOURCE_ADAPTER_SOURCES} + ${SIGNAL_SOURCE_ADAPTER_HEADERS} +) -target_include_directories(signal_source_adapters PUBLIC ${CMAKE_SOURCE_DIR}/src/algorithms/libs) +target_include_directories(signal_source_adapters + PUBLIC ${CMAKE_SOURCE_DIR}/src/algorithms/libs +) target_link_libraries(signal_source_adapters PUBLIC @@ -243,7 +248,9 @@ if(ENABLE_ARRAY AND GRDBFCTTC_FOUND) ) endif() -target_compile_definitions(signal_source_adapters PRIVATE -DGNSSSDR_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}") +target_compile_definitions(signal_source_adapters + PRIVATE -DGNSSSDR_INSTALL_DIR="${CMAKE_INSTALL_PREFIX}" +) set_property(TARGET signal_source_adapters APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES $ diff --git a/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt b/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt index 04a26f71d..d83fd26d5 100644 --- a/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/signal_source/gnuradio_blocks/CMakeLists.txt @@ -51,13 +51,13 @@ set(SIGNAL_SOURCE_GR_BLOCKS_HEADERS list(SORT SIGNAL_SOURCE_GR_BLOCKS_HEADERS) list(SORT SIGNAL_SOURCE_GR_BLOCKS_SOURCES) +source_group(Headers FILES ${SIGNAL_SOURCE_GR_BLOCKS_HEADERS}) + add_library(signal_source_gr_blocks ${SIGNAL_SOURCE_GR_BLOCKS_SOURCES} ${SIGNAL_SOURCE_GR_BLOCKS_HEADERS} ) -source_group(Headers FILES ${SIGNAL_SOURCE_GR_BLOCKS_HEADERS}) - target_link_libraries(signal_source_gr_blocks PUBLIC signal_source_lib diff --git a/src/algorithms/signal_source/libs/CMakeLists.txt b/src/algorithms/signal_source/libs/CMakeLists.txt index 0eea30c89..39a507961 100644 --- a/src/algorithms/signal_source/libs/CMakeLists.txt +++ b/src/algorithms/signal_source/libs/CMakeLists.txt @@ -61,14 +61,15 @@ set(SIGNAL_SOURCE_LIB_HEADERS list(SORT SIGNAL_SOURCE_LIB_HEADERS) list(SORT SIGNAL_SOURCE_LIB_SOURCES) -add_library(signal_source_lib ${SIGNAL_SOURCE_LIB_SOURCES} ${SIGNAL_SOURCE_LIB_HEADERS}) - source_group(Headers FILES ${SIGNAL_SOURCE_LIB_HEADERS}) +add_library(signal_source_lib ${SIGNAL_SOURCE_LIB_SOURCES} ${SIGNAL_SOURCE_LIB_HEADERS}) + target_link_libraries(signal_source_lib PUBLIC Boost::boost PRIVATE + Gflags::gflags Glog::glog ) diff --git a/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt b/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt index c1d708b28..1cdd15665 100644 --- a/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt +++ b/src/algorithms/telemetry_decoder/adapters/CMakeLists.txt @@ -44,19 +44,21 @@ set(TELEMETRY_DECODER_ADAPTER_HEADERS list(SORT TELEMETRY_DECODER_ADAPTER_HEADERS) list(SORT TELEMETRY_DECODER_ADAPTER_SOURCES) +source_group(Headers FILES ${TELEMETRY_DECODER_ADAPTER_HEADERS}) + add_library(telemetry_decoder_adapters ${TELEMETRY_DECODER_ADAPTER_SOURCES} ${TELEMETRY_DECODER_ADAPTER_HEADERS} ) -source_group(Headers FILES ${TELEMETRY_DECODER_ADAPTER_HEADERS}) - target_link_libraries(telemetry_decoder_adapters PUBLIC telemetry_decoder_gr_blocks gnss_system_parameters gnss_rx PRIVATE + Gflags::gflags + Glog::glog Gnuradio::runtime telemetry_decoder_lib ) diff --git a/src/algorithms/telemetry_decoder/gnuradio_blocks/CMakeLists.txt b/src/algorithms/telemetry_decoder/gnuradio_blocks/CMakeLists.txt index bd0dfd867..6b1c70661 100644 --- a/src/algorithms/telemetry_decoder/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/telemetry_decoder/gnuradio_blocks/CMakeLists.txt @@ -41,13 +41,13 @@ set(TELEMETRY_DECODER_GR_BLOCKS_HEADERS list(SORT TELEMETRY_DECODER_GR_BLOCKS_HEADERS) list(SORT TELEMETRY_DECODER_GR_BLOCKS_SOURCES) +source_group(Headers FILES ${TELEMETRY_DECODER_GR_BLOCKS_HEADERS}) + add_library(telemetry_decoder_gr_blocks ${TELEMETRY_DECODER_GR_BLOCKS_SOURCES} ${TELEMETRY_DECODER_GR_BLOCKS_HEADERS} ) -source_group(Headers FILES ${TELEMETRY_DECODER_GR_BLOCKS_HEADERS}) - target_link_libraries(telemetry_decoder_gr_blocks PUBLIC telemetry_decoder_libswiftcnav @@ -58,6 +58,7 @@ target_link_libraries(telemetry_decoder_gr_blocks Volkgnsssdr::volkgnsssdr PRIVATE Boost::boost + Gflags::gflags Glog::glog ) diff --git a/src/algorithms/telemetry_decoder/libs/CMakeLists.txt b/src/algorithms/telemetry_decoder/libs/CMakeLists.txt index a26de5d0f..d86e85bae 100644 --- a/src/algorithms/telemetry_decoder/libs/CMakeLists.txt +++ b/src/algorithms/telemetry_decoder/libs/CMakeLists.txt @@ -31,17 +31,20 @@ set(TELEMETRY_DECODER_LIB_HEADERS list(SORT TELEMETRY_DECODER_LIB_HEADERS) list(SORT TELEMETRY_DECODER_LIB_SOURCES) +source_group(Headers FILES ${TELEMETRY_DECODER_LIB_HEADERS}) + add_library(telemetry_decoder_lib ${TELEMETRY_DECODER_LIB_SOURCES} ${TELEMETRY_DECODER_LIB_HEADERS} ) -source_group(Headers FILES ${TELEMETRY_DECODER_LIB_HEADERS}) - target_link_libraries(telemetry_decoder_lib PUBLIC gnss_system_parameters gnss_rx + PRIVATE + Gflags::gflags + Glog::glog ) set_property(TARGET telemetry_decoder_lib diff --git a/src/algorithms/telemetry_decoder/libs/libswiftcnav/CMakeLists.txt b/src/algorithms/telemetry_decoder/libs/libswiftcnav/CMakeLists.txt index 39e91323b..ffe8b2c37 100644 --- a/src/algorithms/telemetry_decoder/libs/libswiftcnav/CMakeLists.txt +++ b/src/algorithms/telemetry_decoder/libs/libswiftcnav/CMakeLists.txt @@ -34,6 +34,8 @@ set(TELEMETRY_DECODER_LIBSWIFTCNAV_HEADERS list(SORT TELEMETRY_DECODER_LIBSWIFTCNAV_HEADERS) list(SORT TELEMETRY_DECODER_LIBSWIFTCNAV_SOURCES) +source_group(Headers FILES ${TELEMETRY_DECODER_LIBSWIFTCNAV_HEADERS}) + add_library(telemetry_decoder_libswiftcnav STATIC ${TELEMETRY_DECODER_LIBSWIFTCNAV_SOURCES} ${TELEMETRY_DECODER_LIBSWIFTCNAV_HEADERS} @@ -44,8 +46,6 @@ set_property(TARGET telemetry_decoder_libswiftcnav $ ) -source_group(Headers FILES ${TELEMETRY_DECODER_LIBSWIFTCNAV_HEADERS}) - set_target_properties(telemetry_decoder_libswiftcnav PROPERTIES LINKER_LANGUAGE C ) diff --git a/src/algorithms/tracking/adapters/CMakeLists.txt b/src/algorithms/tracking/adapters/CMakeLists.txt index 6dc4190f8..a7211b02d 100644 --- a/src/algorithms/tracking/adapters/CMakeLists.txt +++ b/src/algorithms/tracking/adapters/CMakeLists.txt @@ -90,13 +90,13 @@ set(TRACKING_ADAPTER_HEADERS list(SORT TRACKING_ADAPTER_HEADERS) list(SORT TRACKING_ADAPTER_SOURCES) +source_group(Headers FILES ${TRACKING_ADAPTER_HEADERS}) + add_library(tracking_adapters ${TRACKING_ADAPTER_SOURCES} ${TRACKING_ADAPTER_HEADERS} ) -source_group(Headers FILES ${TRACKING_ADAPTER_HEADERS}) - target_link_libraries(tracking_adapters PUBLIC tracking_gr_blocks diff --git a/src/algorithms/tracking/libs/CMakeLists.txt b/src/algorithms/tracking/libs/CMakeLists.txt index d35765875..3e66cd4e4 100644 --- a/src/algorithms/tracking/libs/CMakeLists.txt +++ b/src/algorithms/tracking/libs/CMakeLists.txt @@ -69,10 +69,10 @@ endif() list(SORT TRACKING_LIB_HEADERS) list(SORT TRACKING_LIB_SOURCES) -add_library(tracking_lib ${TRACKING_LIB_SOURCES} ${TRACKING_LIB_HEADERS}) - source_group(Headers FILES ${TRACKING_LIB_HEADERS}) +add_library(tracking_lib ${TRACKING_LIB_SOURCES} ${TRACKING_LIB_HEADERS}) + target_link_libraries(tracking_lib PUBLIC Armadillo::armadillo diff --git a/src/core/libs/CMakeLists.txt b/src/core/libs/CMakeLists.txt index 204bfd77d..30e172792 100644 --- a/src/core/libs/CMakeLists.txt +++ b/src/core/libs/CMakeLists.txt @@ -35,10 +35,10 @@ set(CORE_LIBS_HEADERS list(SORT CORE_LIBS_HEADERS) list(SORT CORE_LIBS_SOURCES) -add_library(rx_core_lib ${CORE_LIBS_SOURCES} ${CORE_LIBS_HEADERS}) - source_group(Headers FILES ${CORE_LIBS_HEADERS}) +add_library(rx_core_lib ${CORE_LIBS_SOURCES} ${CORE_LIBS_HEADERS}) + target_link_libraries(rx_core_lib PUBLIC Boost::boost diff --git a/src/core/monitor/CMakeLists.txt b/src/core/monitor/CMakeLists.txt index 7849e9004..a245b7a61 100644 --- a/src/core/monitor/CMakeLists.txt +++ b/src/core/monitor/CMakeLists.txt @@ -30,23 +30,23 @@ set(CORE_MONITOR_LIBS_HEADERS list(SORT CORE_MONITOR_LIBS_HEADERS) list(SORT CORE_MONITOR_LIBS_SOURCES) +source_group(Headers FILES ${CORE_MONITOR_LIBS_HEADERS}) + add_library(core_monitor_lib ${CORE_MONITOR_LIBS_SOURCES} ${CORE_MONITOR_LIBS_HEADERS} ) -source_group(Headers FILES ${CORE_MONITOR_LIBS_HEADERS}) - target_link_libraries(core_monitor_lib PUBLIC Boost::serialization Boost::system - gnss_system_parameters Gnuradio::runtime + gnss_system_parameters PRIVATE - Gnuradio::pmt Gflags::gflags Glog::glog + Gnuradio::pmt ) set_property(TARGET core_monitor_lib diff --git a/src/core/receiver/CMakeLists.txt b/src/core/receiver/CMakeLists.txt index cf3dc90b5..eb7b9a3de 100644 --- a/src/core/receiver/CMakeLists.txt +++ b/src/core/receiver/CMakeLists.txt @@ -62,15 +62,16 @@ set(GNSS_RECEIVER_INTERFACE_HEADERS list(SORT GNSS_RECEIVER_INTERFACE_HEADERS) +source_group(Headers FILES ${GNSS_RECEIVER_HEADERS} + ${GNSS_RECEIVER_INTERFACE_HEADERS} +) + add_library(gnss_rx ${GNSS_RECEIVER_SOURCES} ${GNSS_RECEIVER_HEADERS} ${GNSS_RECEIVER_INTERFACE_HEADERS} ) -source_group(Headers FILES ${GNSS_RECEIVER_HEADERS} - ${GNSS_RECEIVER_INTERFACE_HEADERS}) - if(ENABLE_FPGA) target_compile_definitions(gnss_rx PUBLIC -DENABLE_FPGA=1) endif() @@ -139,12 +140,14 @@ endif() target_link_libraries(gnss_rx PUBLIC + Armadillo::armadillo Boost::boost Boost::thread Gnuradio::runtime rx_core_lib core_monitor_lib PRIVATE + Gflags::gflags Glog::glog signal_source_adapters datatype_adapters diff --git a/src/core/system_parameters/CMakeLists.txt b/src/core/system_parameters/CMakeLists.txt index c70a47e15..70ca4f70d 100644 --- a/src/core/system_parameters/CMakeLists.txt +++ b/src/core/system_parameters/CMakeLists.txt @@ -103,19 +103,19 @@ set(SYSTEM_PARAMETERS_HEADERS list(SORT SYSTEM_PARAMETERS_HEADERS) list(SORT SYSTEM_PARAMETERS_SOURCES) +source_group(Headers FILES ${SYSTEM_PARAMETERS_HEADERS}) + add_library(gnss_system_parameters ${SYSTEM_PARAMETERS_SOURCES} ${SYSTEM_PARAMETERS_HEADERS} ) -source_group(Headers FILES ${SYSTEM_PARAMETERS_HEADERS}) - target_link_libraries(gnss_system_parameters PUBLIC Boost::date_time Boost::serialization - gnss_rx Glog::glog + gnss_rx PRIVATE Gflags::gflags ) diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt index ef41be12e..4d4e1d9f6 100644 --- a/src/main/CMakeLists.txt +++ b/src/main/CMakeLists.txt @@ -16,76 +16,59 @@ # along with GNSS-SDR. If not, see . # -set(GNSS_SDR_OPTIONAL_LIBS "") -set(GNSS_SDR_OPTIONAL_HEADERS "") - -if(ENABLE_GPERFTOOLS) - if(GPERFTOOLS_FOUND) - set(GNSS_SDR_OPTIONAL_LIBS "${GNSS_SDR_OPTIONAL_LIBS};${GPERFTOOLS_PROFILER};${GPERFTOOLS_TCMALLOC}") - set(GNSS_SDR_OPTIONAL_HEADERS "${GNSS_SDR_OPTIONAL_HEADERS};${GPERFTOOLS_INCLUDE_DIR}") - endif() -endif() - -if(ENABLE_UHD AND GNURADIO_UHD_LIBRARIES_gnuradio-uhd) - set(GNSS_SDR_OPTIONAL_LIBS ${GNSS_SDR_OPTIONAL_LIBS} ${UHD_LIBRARIES} ${GNURADIO_UHD_LIBRARIES}) - set(GNSS_SDR_OPTIONAL_HEADERS ${GNSS_SDR_OPTIONAL_HEADERS} ${UHD_INCLUDE_DIRS}) -endif() - -if(OPENSSL_FOUND) - add_definitions(-DUSE_OPENSSL_FALLBACK=1) -endif() - -if(ENABLE_CUDA) - add_definitions(-DCUDA_GPU_ACCEL=1) - set(GNSS_SDR_OPTIONAL_LIBS ${GNSS_SDR_OPTIONAL_LIBS} ${CUDA_LIBRARIES}) - set(GNSS_SDR_OPTIONAL_HEADERS ${GNSS_SDR_OPTIONAL_HEADERS} ${CUDA_INCLUDE_DIRS}) -endif() - -if(ORC_FOUND) - set(GNSS_SDR_OPTIONAL_LIBS ${GNSS_SDR_OPTIONAL_LIBS} ${ORC_LIBRARIES}) - set(GNSS_SDR_OPTIONAL_HEADERS ${GNSS_SDR_OPTIONAL_HEADERS} ${ORC_INCLUDE_DIRS}) -endif() if(OS_IS_MACOSX) if(CMAKE_CXX_COMPILER_ID MATCHES "Clang") - set(MAC_LIBRARIES "-framework Accelerate -lc++") + set(MAC_LIBRARIES "-lc++") endif() endif() add_executable(gnss-sdr ${CMAKE_CURRENT_SOURCE_DIR}/main.cc) -target_include_directories(gnss-sdr PRIVATE - ${GNSS_SDR_OPTIONAL_HEADERS} - ${OPT_GNSSSDR_INCLUDE_DIRS} +target_link_libraries(gnss-sdr + PUBLIC + Boost::filesystem + Boost::system + Gflags::gflags + Glog::glog + gnss_rx + gnss_sdr_flags + ${MAC_LIBRARIES} ) target_compile_definitions(gnss-sdr PUBLIC -DGNSS_SDR_VERSION="${VERSION}") +if(ENABLE_CUDA) + target_link_libraries(gnss-sdr + PUBLIC + ${CUDA_LIBRARIES} + ) + target_include_directories(gnss-sdr + PUBLIC + ${CUDA_INCLUDE_DIRS} + ) + target_compile_definitions(gnss-sdr PRIVATE -DCUDA_GPU_ACCEL=1) +endif() + +if(ENABLE_GPERFTOOLS) + if(GPERFTOOLS_FOUND) + target_link_libraries(gnss-sdr + PUBLIC + ${GPERFTOOLS_PROFILER} + ${GPERFTOOLS_TCMALLOC} + ) + target_include_directories(gnss-sdr + PRIVATE + ${GPERFTOOLS_INCLUDE_DIR} + ) + endif() +endif() + add_custom_command(TARGET gnss-sdr POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $ ${CMAKE_SOURCE_DIR}/install/$ ) -target_link_libraries(gnss-sdr - PUBLIC - Boost::filesystem - Boost::system - gnss_sdr_flags - gnss_system_parameters - gnss_sp_libs - gnss_rx - ${MAC_LIBRARIES} - ${THREAD_LIBRARIES} - ${GNSS_SDR_OPTIONAL_LIBS} - PRIVATE - rtklib_lib - Gflags::gflags - Glog::glog - Armadillo::armadillo - Volkgnsssdr::volkgnsssdr -) - - install(TARGETS gnss-sdr RUNTIME DESTINATION bin COMPONENT "gnss-sdr") From ce83462f8517b49e9140852a883668e461395bfe Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Mon, 4 Feb 2019 23:26:07 +0100 Subject: [PATCH 18/19] Add some fixes to CMake scripts --- src/main/CMakeLists.txt | 1 + src/utils/rinex2assist/CMakeLists.txt | 14 +++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/CMakeLists.txt b/src/main/CMakeLists.txt index 4d4e1d9f6..b154cb855 100644 --- a/src/main/CMakeLists.txt +++ b/src/main/CMakeLists.txt @@ -33,6 +33,7 @@ target_link_libraries(gnss-sdr Glog::glog gnss_rx gnss_sdr_flags + ${THREAD_LIBRARIES} ${MAC_LIBRARIES} ) diff --git a/src/utils/rinex2assist/CMakeLists.txt b/src/utils/rinex2assist/CMakeLists.txt index 636f540d7..4f859566d 100644 --- a/src/utils/rinex2assist/CMakeLists.txt +++ b/src/utils/rinex2assist/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2012-2018 (see AUTHORS file for a list of contributors) +# Copyright (C) 2012-2019 (see AUTHORS file for a list of contributors) # # This file is part of GNSS-SDR. # @@ -24,7 +24,6 @@ if(NOT GPSTK_FOUND OR ENABLE_OWN_GPSTK) set(GPSTK_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../../../thirdparty/gpstk-${GNSSSDR_GPSTK_LOCAL_VERSION}/install/include) endif() -set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} ${GPSTK_INCLUDE_DIR}/gpstk) find_package(Boost COMPONENTS iostreams serialization QUIET) if(CMAKE_VERSION VERSION_LESS 3.5) @@ -56,11 +55,6 @@ find_program(UNCOMPRESS_EXECUTABLE uncompress ) if(Boost_FOUND) - include_directories( - ${GPSTK_INCLUDE_DIR}/gpstk - ${GPSTK_INCLUDE_DIR} - ) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated") add_executable(rinex2assist ${CMAKE_CURRENT_SOURCE_DIR}/main.cc) @@ -76,6 +70,12 @@ if(Boost_FOUND) gnss_rx ) + target_include_directories(rinex2assist + PUBLIC + ${GPSTK_INCLUDE_DIR}/gpstk + ${GPSTK_INCLUDE_DIR} + ) + if(NOT UNCOMPRESS_EXECUTABLE-NOTFOUND) target_compile_definitions(rinex2assist PUBLIC -DUNCOMPRESS_EXECUTABLE="${UNCOMPRESS_EXECUTABLE}") else() From f509ebe49cd7326d0f6594cbb11cefe6bed50009 Mon Sep 17 00:00:00 2001 From: Carles Fernandez Date: Tue, 5 Feb 2019 00:01:04 +0100 Subject: [PATCH 19/19] Update minimum Boost version to 1.54 --- CMakeLists.txt | 7 +++---- src/algorithms/PVT/adapters/CMakeLists.txt | 2 +- .../PVT/gnuradio_blocks/CMakeLists.txt | 2 +- src/core/receiver/CMakeLists.txt | 4 ---- src/core/receiver/control_thread.cc | 9 +-------- src/tests/CMakeLists.txt | 3 --- .../acquisition/acq_performance_test.cc | 5 ----- ...ccwsr_ambiguous_acquisition_gsoc2013_test.cc | 8 +------- ...nass_l1_ca_pcps_acquisition_gsoc2017_test.cc | 17 ++--------------- .../glonass_l2_ca_pcps_acquisition_test.cc | 16 ++-------------- .../gps_l1_ca_pcps_acquisition_gsoc2013_test.cc | 16 ++-------------- 11 files changed, 13 insertions(+), 76 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 7054ac48e..64f8445e8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -329,7 +329,7 @@ set(GNSSSDR_GCC_MIN_VERSION "4.7.2") set(GNSSSDR_CLANG_MIN_VERSION "3.4.0") set(GNSSSDR_APPLECLANG_MIN_VERSION "500") set(GNSSSDR_GNURADIO_MIN_VERSION "3.7.3") -set(GNSSSDR_BOOST_MIN_VERSION "1.45") +set(GNSSSDR_BOOST_MIN_VERSION "1.54") set(GNSSSDR_PYTHON_MIN_VERSION "2.7") set(GNSSSDR_PYTHON3_MIN_VERSION "3.4") set(GNSSSDR_MAKO_MIN_VERSION "0.4.2") @@ -490,8 +490,7 @@ if(UNIX AND EXISTS "/usr/lib64") list(APPEND BOOST_LIBRARYDIR "/usr/lib64") # Fedora 64-bit fix endif() set(Boost_ADDITIONAL_VERSIONS - "1.45.0" "1.45" "1.46.0" "1.46" "1.48.0" "1.48" "1.49.0" "1.49" - "1.50.0" "1.50" "1.51.0" "1.51" "1.53.0" "1.53" "1.54.0" "1.54" + "1.54.0" "1.54" "1.55.0" "1.55" "1.56.0" "1.56" "1.57.0" "1.57" "1.58.0" "1.58" "1.59.0" "1.59" "1.60.0" "1.60" "1.61.0" "1.61" "1.62.0" "1.62" "1.63.0" "1.63" "1.64.0" "1.64" "1.65.0" "1.65" "1.66.0" "1.66" "1.67.0" "1.67" "1.68.0" "1.68" "1.69.0" "1.69" @@ -501,7 +500,7 @@ set(Boost_ADDITIONAL_VERSIONS ) set(Boost_USE_MULTITHREAD ON) set(Boost_USE_STATIC_LIBS OFF) -find_package(Boost COMPONENTS date_time system filesystem thread serialization chrono atomic REQUIRED) +find_package(Boost COMPONENTS atomic chrono date_time filesystem serialization system thread REQUIRED) if(NOT Boost_FOUND) message(FATAL_ERROR "Fatal error: Boost (version >=${GNSSSDR_BOOST_MIN_VERSION}) required.") endif() diff --git a/src/algorithms/PVT/adapters/CMakeLists.txt b/src/algorithms/PVT/adapters/CMakeLists.txt index 5972239c9..2bf0e3e95 100644 --- a/src/algorithms/PVT/adapters/CMakeLists.txt +++ b/src/algorithms/PVT/adapters/CMakeLists.txt @@ -42,7 +42,7 @@ target_link_libraries(pvt_adapters ) if(Boost_VERSION LESS 105800) - target_compile_definitions(pvt_adapters PUBLIC -DOLD_BOOST=1) + target_compile_definitions(pvt_adapters PRIVATE -DOLD_BOOST=1) endif() set_property(TARGET pvt_adapters diff --git a/src/algorithms/PVT/gnuradio_blocks/CMakeLists.txt b/src/algorithms/PVT/gnuradio_blocks/CMakeLists.txt index d7c2891bf..e9ce9906e 100644 --- a/src/algorithms/PVT/gnuradio_blocks/CMakeLists.txt +++ b/src/algorithms/PVT/gnuradio_blocks/CMakeLists.txt @@ -49,7 +49,7 @@ target_include_directories(pvt_gr_blocks ) if(Boost_VERSION LESS 105800) - target_compile_definitions(pvt_gr_blocks PUBLIC -DOLD_BOOST=1) + target_compile_definitions(pvt_gr_blocks PRIVATE -DOLD_BOOST=1) endif() set_property(TARGET pvt_gr_blocks diff --git a/src/core/receiver/CMakeLists.txt b/src/core/receiver/CMakeLists.txt index eb7b9a3de..7793b4ce4 100644 --- a/src/core/receiver/CMakeLists.txt +++ b/src/core/receiver/CMakeLists.txt @@ -80,10 +80,6 @@ if(ENABLE_RAW_UDP) target_compile_definitions(gnss_rx PRIVATE -DRAW_UDP=1) endif() -if(Boost_VERSION LESS 105000) - target_compile_definitions(gnss_rx PRIVATE -DOLD_BOOST=1) -endif() - if(PC_GNURADIO_RUNTIME_VERSION VERSION_GREATER 3.7.3) target_compile_definitions(gnss_rx PRIVATE -DMODERN_GNURADIO=1) endif() diff --git a/src/core/receiver/control_thread.cc b/src/core/receiver/control_thread.cc index 463815bcb..19843c718 100644 --- a/src/core/receiver/control_thread.cc +++ b/src/core/receiver/control_thread.cc @@ -276,17 +276,10 @@ int ControlThread::run() stop_ = true; flowgraph_->disconnect(); -// Join keyboard thread -#ifdef OLD_BOOST - keyboard_thread_.timed_join(boost::posix_time::seconds(1)); - sysv_queue_thread_.timed_join(boost::posix_time::seconds(1)); - cmd_interface_thread_.timed_join(boost::posix_time::seconds(1)); -#endif -#ifndef OLD_BOOST + // Join keyboard thread keyboard_thread_.try_join_until(boost::chrono::steady_clock::now() + boost::chrono::milliseconds(1000)); sysv_queue_thread_.try_join_until(boost::chrono::steady_clock::now() + boost::chrono::milliseconds(1000)); cmd_interface_thread_.try_join_until(boost::chrono::steady_clock::now() + boost::chrono::milliseconds(1000)); -#endif LOG(INFO) << "Flowgraph stopped"; diff --git a/src/tests/CMakeLists.txt b/src/tests/CMakeLists.txt index 76f4a0bcd..929b26bfe 100644 --- a/src/tests/CMakeLists.txt +++ b/src/tests/CMakeLists.txt @@ -133,9 +133,6 @@ if(ENABLE_GPERFTOOLS) endif() endif() -if(Boost_VERSION LESS 105000) - add_definitions(-DOLD_BOOST=1) -endif() if(${PC_GNURADIO_RUNTIME_VERSION} VERSION_GREATER "3.7.13.4") add_definitions(-DGR_GREATER_38=1) diff --git a/src/tests/unit-tests/signal-processing-blocks/acquisition/acq_performance_test.cc b/src/tests/unit-tests/signal-processing-blocks/acquisition/acq_performance_test.cc index 8b738eebf..56c7411e4 100644 --- a/src/tests/unit-tests/signal-processing-blocks/acquisition/acq_performance_test.cc +++ b/src/tests/unit-tests/signal-processing-blocks/acquisition/acq_performance_test.cc @@ -636,12 +636,7 @@ int AcquisitionPerformanceTest::run_receiver() top_block->run(); // Start threads and wait -#ifdef OLD_BOOST - ch_thread.timed_join(boost::posix_time::seconds(1)); -#endif -#ifndef OLD_BOOST ch_thread.try_join_until(boost::chrono::steady_clock::now() + boost::chrono::milliseconds(50)); -#endif return 0; } diff --git a/src/tests/unit-tests/signal-processing-blocks/acquisition/galileo_e1_pcps_cccwsr_ambiguous_acquisition_gsoc2013_test.cc b/src/tests/unit-tests/signal-processing-blocks/acquisition/galileo_e1_pcps_cccwsr_ambiguous_acquisition_gsoc2013_test.cc index 3388bf162..df2d68e1f 100644 --- a/src/tests/unit-tests/signal-processing-blocks/acquisition/galileo_e1_pcps_cccwsr_ambiguous_acquisition_gsoc2013_test.cc +++ b/src/tests/unit-tests/signal-processing-blocks/acquisition/galileo_e1_pcps_cccwsr_ambiguous_acquisition_gsoc2013_test.cc @@ -551,16 +551,10 @@ TEST_F(GalileoE1PcpsCccwsrAmbiguousAcquisitionTest, ValidationOfResults) { EXPECT_EQ(2, message) << "Acquisition failure. Expected message: 2=ACQ FAIL."; } -#ifdef OLD_BOOST - ASSERT_NO_THROW({ - ch_thread.timed_join(boost::posix_time::seconds(1)); - }) << "Failure while waiting the queue to stop"; -#endif -#ifndef OLD_BOOST + ASSERT_NO_THROW({ ch_thread.try_join_until(boost::chrono::steady_clock::now() + boost::chrono::milliseconds(50)); }) << "Failure while waiting the queue to stop"; -#endif } } diff --git a/src/tests/unit-tests/signal-processing-blocks/acquisition/glonass_l1_ca_pcps_acquisition_gsoc2017_test.cc b/src/tests/unit-tests/signal-processing-blocks/acquisition/glonass_l1_ca_pcps_acquisition_gsoc2017_test.cc index 70ad8e25e..cf515debb 100644 --- a/src/tests/unit-tests/signal-processing-blocks/acquisition/glonass_l1_ca_pcps_acquisition_gsoc2017_test.cc +++ b/src/tests/unit-tests/signal-processing-blocks/acquisition/glonass_l1_ca_pcps_acquisition_gsoc2017_test.cc @@ -553,16 +553,10 @@ TEST_F(GlonassL1CaPcpsAcquisitionGSoC2017Test, ValidationOfResults) { EXPECT_EQ(2, message) << "Acquisition failure. Expected message: 2=ACQ FAIL."; } -#ifdef OLD_BOOST - ASSERT_NO_THROW({ - ch_thread.timed_join(boost::posix_time::seconds(1)); - }) << "Failure while waiting the queue to stop."; -#endif -#ifndef OLD_BOOST + ASSERT_NO_THROW({ ch_thread.try_join_until(boost::chrono::steady_clock::now() + boost::chrono::milliseconds(50)); }) << "Failure while waiting the queue to stop"; -#endif } delete acquisition; @@ -649,18 +643,11 @@ TEST_F(GlonassL1CaPcpsAcquisitionGSoC2017Test, ValidationOfResultsProbabilities) std::cout << "Estimated probability of false alarm (satellite absent) = " << Pfa_a << std::endl; std::cout << "Mean acq time = " << mean_acq_time_us << " microseconds." << std::endl; } -#ifdef OLD_BOOST - ASSERT_NO_THROW({ - ch_thread.timed_join(boost::posix_time::seconds(1)); - }) << "Failure while waiting the queue to stop" - << std::endl; -#endif -#ifndef OLD_BOOST + ASSERT_NO_THROW({ ch_thread.try_join_until(boost::chrono::steady_clock::now() + boost::chrono::milliseconds(50)); }) << "Failure while waiting the queue to stop" << std::endl; -#endif } delete acquisition; diff --git a/src/tests/unit-tests/signal-processing-blocks/acquisition/glonass_l2_ca_pcps_acquisition_test.cc b/src/tests/unit-tests/signal-processing-blocks/acquisition/glonass_l2_ca_pcps_acquisition_test.cc index a8f668f69..6409a8d19 100644 --- a/src/tests/unit-tests/signal-processing-blocks/acquisition/glonass_l2_ca_pcps_acquisition_test.cc +++ b/src/tests/unit-tests/signal-processing-blocks/acquisition/glonass_l2_ca_pcps_acquisition_test.cc @@ -549,16 +549,10 @@ TEST_F(GlonassL2CaPcpsAcquisitionTest, ValidationOfResults) { EXPECT_EQ(2, message) << "Acquisition failure. Expected message: 2=ACQ FAIL."; } -#ifdef OLD_BOOST - ASSERT_NO_THROW({ - ch_thread.timed_join(boost::posix_time::seconds(1)); - }) << "Failure while waiting the queue to stop."; -#endif -#ifndef OLD_BOOST + ASSERT_NO_THROW({ ch_thread.try_join_until(boost::chrono::steady_clock::now() + boost::chrono::milliseconds(50)); }) << "Failure while waiting the queue to stop"; -#endif } delete acquisition; @@ -645,16 +639,10 @@ TEST_F(GlonassL2CaPcpsAcquisitionTest, ValidationOfResultsProbabilities) std::cout << "Estimated probability of false alarm (satellite absent) = " << Pfa_a << std::endl; std::cout << "Mean acq time = " << mean_acq_time_us << " microseconds." << std::endl; } -#ifdef OLD_BOOST - ASSERT_NO_THROW({ - ch_thread.timed_join(boost::posix_time::seconds(1)); - }) << "Failure while waiting the queue to stop"; -#endif -#ifndef OLD_BOOST + ASSERT_NO_THROW({ ch_thread.try_join_until(boost::chrono::steady_clock::now() + boost::chrono::milliseconds(50)); }) << "Failure while waiting the queue to stop"; -#endif } delete acquisition; diff --git a/src/tests/unit-tests/signal-processing-blocks/acquisition/gps_l1_ca_pcps_acquisition_gsoc2013_test.cc b/src/tests/unit-tests/signal-processing-blocks/acquisition/gps_l1_ca_pcps_acquisition_gsoc2013_test.cc index af4f5b6a5..641672a9a 100644 --- a/src/tests/unit-tests/signal-processing-blocks/acquisition/gps_l1_ca_pcps_acquisition_gsoc2013_test.cc +++ b/src/tests/unit-tests/signal-processing-blocks/acquisition/gps_l1_ca_pcps_acquisition_gsoc2013_test.cc @@ -546,16 +546,10 @@ TEST_F(GpsL1CaPcpsAcquisitionGSoC2013Test, ValidationOfResults) { EXPECT_EQ(2, message) << "Acquisition failure. Expected message: 2=ACQ FAIL."; } -#ifdef OLD_BOOST - ASSERT_NO_THROW({ - ch_thread.timed_join(boost::posix_time::seconds(1)); - }) << "Failure while waiting the queue to stop"; -#endif -#ifndef OLD_BOOST + ASSERT_NO_THROW({ ch_thread.try_join_until(boost::chrono::steady_clock::now() + boost::chrono::milliseconds(50)); }) << "Failure while waiting the queue to stop"; -#endif } delete acquisition; @@ -642,16 +636,10 @@ TEST_F(GpsL1CaPcpsAcquisitionGSoC2013Test, ValidationOfResultsProbabilities) std::cout << "Estimated probability of false alarm (satellite absent) = " << Pfa_a << std::endl; std::cout << "Mean acq time = " << mean_acq_time_us << " microseconds." << std::endl; } -#ifdef OLD_BOOST - ASSERT_NO_THROW({ - ch_thread.timed_join(boost::posix_time::seconds(1)); - }) << "Failure while waiting the queue to stop"; -#endif -#ifndef OLD_BOOST + ASSERT_NO_THROW({ ch_thread.try_join_until(boost::chrono::steady_clock::now() + boost::chrono::milliseconds(50)); }) << "Failure while waiting the queue to stop"; -#endif } delete acquisition;