1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2024-12-15 04:30:33 +00:00

Merge branch 'symplify-cmake' of https://github.com/carlesfernandez/gnss-sdr into next

This commit is contained in:
Carles Fernandez 2019-06-21 02:51:36 +02:00
commit 87d47b2a75
No known key found for this signature in database
GPG Key ID: 4C583C52B0C3877D
21 changed files with 307 additions and 166 deletions

View File

@ -589,19 +589,9 @@ endif()
find_package(GOOGLETEST)
set_package_properties(GOOGLETEST PROPERTIES
URL "https://github.com/google/googletest"
PURPOSE "Used for Unit and System Tests."
TYPE REQUIRED
)
if(GOOGLETEST_FOUND AND GOOGLETEST_VERSION)
set_package_properties(GOOGLETEST PROPERTIES
DESCRIPTION "Source code of Google's Testing Framework (found: ${GOOGLETEST_VERSION})"
)
else()
set_package_properties(GOOGLETEST PROPERTIES
DESCRIPTION "Source code of Google's Testing Framework"
)
endif()
if(NOT GOOGLETEST_FOUND)
set_package_properties(GOOGLETEST PROPERTIES
PURPOSE "Googletest v${GNSSSDR_GTEST_LOCAL_VERSION} will be downloaded and built when doing '${CMAKE_MAKE_PROGRAM_PRETTY_NAME}'."
@ -617,38 +607,19 @@ set(GR_REQUIRED_COMPONENTS RUNTIME PMT BLOCKS FFT FILTER ANALOG)
find_package(UHD)
set_package_properties(UHD PROPERTIES
URL "https://www.ettus.com/sdr-software/detail/usrp-hardware-driver"
PURPOSE "Used for communication with front-ends of the USRP family."
TYPE OPTIONAL
)
if(ENABLE_UHD)
if(NOT UHD_FOUND)
set(ENABLE_UHD OFF)
set_package_properties(UHD PROPERTIES
DESCRIPTION "USRP Hardware Driver"
)
else()
set(GR_REQUIRED_COMPONENTS ${GR_REQUIRED_COMPONENTS} UHD)
if(UHD_VERSION)
set_package_properties(UHD PROPERTIES
DESCRIPTION "USRP Hardware Driver (found: v${UHD_VERSION})"
)
else()
set_package_properties(UHD PROPERTIES
DESCRIPTION "USRP Hardware Driver"
)
endif()
endif()
else()
set_package_properties(UHD PROPERTIES
DESCRIPTION "USRP Hardware Driver"
)
endif()
find_package(GNURADIO)
set_package_properties(GNURADIO PROPERTIES
URL "https://www.gnuradio.org/"
DESCRIPTION "The free and open software radio ecosystem (found: v${GNURADIO_VERSION})"
PURPOSE "Implements flowgraph scheduler, provides some processing blocks and classes to create new ones."
TYPE REQUIRED
)
@ -660,8 +631,6 @@ set_package_properties(GNURADIO PROPERTIES
################################################################################
find_package(LOG4CPP)
set_package_properties(LOG4CPP PROPERTIES
URL "http://log4cpp.sourceforge.net/"
DESCRIPTION "Library of C++ classes for flexible logging to files"
PURPOSE "Required by GNU Radio."
TYPE REQUIRED
)
@ -836,19 +805,9 @@ if(NOT VOLK_FOUND)
message(FATAL_ERROR "*** VOLK is required to build gnss-sdr")
endif()
set_package_properties(VOLK PROPERTIES
URL "http://libvolk.org"
PURPOSE "Provides an abstraction of optimized math routines targeting several SIMD processors."
TYPE REQUIRED
)
if(VOLK_VERSION)
set_package_properties(VOLK PROPERTIES
DESCRIPTION "Vector-Optimized Library of Kernels (found: ${VOLK_VERSION})"
)
else()
set_package_properties(VOLK PROPERTIES
DESCRIPTION "Vector-Optimized Library of Kernels"
)
endif()
@ -857,7 +816,6 @@ endif()
################################################################################
find_package(VOLKGNSSSDR)
set_package_properties(VOLKGNSSSDR PROPERTIES
DESCRIPTION "Vector-Optimized Library of Kernels for GNSS-SDR."
PURPOSE "Accelerates math routines targeting several SIMD processors."
TYPE REQUIRED
)
@ -1009,19 +967,10 @@ if(NOT VOLKGNSSSDR_FOUND)
endif()
find_package(ORC)
set_package_properties(ORC PROPERTIES
URL "https://gstreamer.freedesktop.org/modules/orc.html"
PURPOSE "Used by volk_gnsssdr."
TYPE OPTIONAL
)
if(ORC_FOUND AND ORC_VERSION)
set_package_properties(ORC PROPERTIES
DESCRIPTION "The Optimized Inner Loops Runtime Compiler (found: v${ORC_VERSION})"
)
else()
set_package_properties(ORC PROPERTIES
DESCRIPTION "The Optimized Inner Loops Runtime Compiler"
)
endif()
if(NOT ORC_FOUND)
set(ORC_LIBRARIES "")
set(ORC_INCLUDE_DIRS "")
@ -1076,14 +1025,10 @@ endif()
set(LOCAL_GFLAGS false)
find_package(GFLAGS)
set_package_properties(GFLAGS PROPERTIES
URL "https://github.com/gflags/gflags"
PURPOSE "Used for commandline flags management."
TYPE REQUIRED
)
if(NOT GFLAGS_FOUND)
set_package_properties(GFLAGS PROPERTIES
DESCRIPTION "C++ library that implements commandline flags processing"
)
message(STATUS " gflags library has not been found.")
message(STATUS " gflags v${GNSSSDR_GFLAGS_LOCAL_VERSION} will be downloaded and built automatically ")
message(STATUS " when doing 'make'.")
@ -1142,16 +1087,6 @@ if(NOT GFLAGS_FOUND)
set_package_properties(GFLAGS PROPERTIES
PURPOSE "Gflags v${GNSSSDR_GFLAGS_LOCAL_VERSION} will be downloaded and built when doing '${CMAKE_MAKE_PROGRAM_PRETTY_NAME}'."
)
else()
if(GFLAGS_VERSION)
set_package_properties(GFLAGS PROPERTIES
DESCRIPTION "C++ library that implements commandline flags processing (found: v${GFLAGS_VERSION})"
)
else()
set_package_properties(GFLAGS PROPERTIES
DESCRIPTION "C++ library that implements commandline flags processing"
)
endif()
endif()
@ -1166,14 +1101,10 @@ if(NOT ${ENABLE_OWN_GLOG})
endif()
endif()
set_package_properties(GLOG PROPERTIES
URL "https://github.com/google/glog"
PURPOSE "Used for runtime internal logging."
TYPE REQUIRED
)
if(NOT GLOG_FOUND OR ${LOCAL_GFLAGS})
set_package_properties(GLOG PROPERTIES
DESCRIPTION "C++ implementation of the Google logging module"
)
message(STATUS " glog library has not been found")
if(NOT GFLAGS_FOUND)
message(STATUS " or it is likely not linked to gflags.")
@ -1330,16 +1261,6 @@ ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/glog/glog-${GNSSSDR_GLOG_LOCAL_VERSION}/c
set_package_properties(GLOG PROPERTIES
PURPOSE "Glog v${GNSSSDR_GLOG_LOCAL_VERSION} will be downloaded and built when doing 'make'."
)
else()
if(GLOG_VERSION)
set_package_properties(GLOG PROPERTIES
DESCRIPTION "C++ implementation of the Google logging module (found: v${GLOG_VERSION})"
)
else()
set_package_properties(GLOG PROPERTIES
DESCRIPTION "C++ implementation of the Google logging module"
)
endif()
endif()
if(NOT ENABLE_LOG)
@ -1453,8 +1374,6 @@ if(NOT ARMADILLO_FOUND OR ENABLE_OWN_ARMADILLO)
if(NOT OS_IS_MACOSX)
find_package(GFORTRAN)
set_package_properties(GFORTRAN PROPERTIES
URL "http://gcc.gnu.org/wiki/GFortran"
DESCRIPTION "GNU Fortran project"
PURPOSE "Required by Armadillo."
TYPE REQUIRED
)
@ -1533,10 +1452,18 @@ endif()
find_package(GnuTLS)
set_package_properties(GnuTLS PROPERTIES
URL "https://www.gnutls.org/"
DESCRIPTION "Transport Layer Security Library"
PURPOSE "Used for the SUPL protocol implementation."
TYPE REQUIRED
)
if(GnuTLS_FOUND AND GNUTLS_VERSION_STRING)
set_package_properties(GnuTLS PROPERTIES
DESCRIPTION "Transport Layer Security Library (found: v${GNUTLS_VERSION_STRING})"
)
else()
set_package_properties(GnuTLS PROPERTIES
DESCRIPTION "Transport Layer Security Library"
)
endif()
find_library(GNUTLS_OPENSSL_LIBRARY NAMES gnutls-openssl libgnutls-openssl.so.27
HINTS /usr/lib
/usr/lib64
@ -1615,7 +1542,6 @@ endif()
################################################################################
find_package(MATIO)
set_package_properties(MATIO PROPERTIES
URL "https://github.com/tbeu/matio"
PURPOSE "Used to store processing block's results in MAT files readable from MATLAB/Octave."
TYPE REQUIRED
)
@ -1625,9 +1551,6 @@ if(NOT MATIO_FOUND OR MATIO_VERSION_STRING VERSION_LESS ${GNSSSDR_MATIO_MIN_VERS
endif()
message(STATUS " Matio v${GNSSSDR_MATIO_LOCAL_VERSION} will be downloaded and built automatically")
message(STATUS " when doing '${CMAKE_MAKE_PROGRAM_PRETTY_NAME}'.")
set_package_properties(MATIO PROPERTIES
DESCRIPTION "MATLAB MAT File I/O Library"
)
find_package(ZLIB)
set_package_properties(ZLIB PROPERTIES
URL "https://www.zlib.net/"
@ -1774,10 +1697,6 @@ if(NOT MATIO_FOUND OR MATIO_VERSION_STRING VERSION_LESS ${GNSSSDR_MATIO_MIN_VERS
set_package_properties(MATIO PROPERTIES
PURPOSE "Matio v${GNSSSDR_MATIO_LOCAL_VERSION} will be downloaded and built when doing '${CMAKE_MAKE_PROGRAM_PRETTY_NAME}'."
)
else()
set_package_properties(MATIO PROPERTIES
DESCRIPTION "MATLAB MAT File I/O Library (found: v${MATIO_VERSION_STRING})"
)
endif()
@ -1787,14 +1706,10 @@ endif()
################################################################################
find_package(PUGIXML)
set_package_properties(PUGIXML PROPERTIES
URL "https://pugixml.org/"
PURPOSE "Used to handle Galileo almanac XML files published by the European GNSS Service Centre."
TYPE REQUIRED
)
if(NOT PUGIXML_FOUND)
set_package_properties(PUGIXML PROPERTIES
DESCRIPTION "Light-weight, simple and fast XML parser for C++"
)
message(STATUS " PugiXML v${GNSSSDR_PUGIXML_LOCAL_VERSION} will be downloaded and built when doing '${CMAKE_MAKE_PROGRAM_PRETTY_NAME}'.")
set(PUGIXML_COMPILER -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER})
set(TOOLCHAIN_ARG "")
@ -1844,16 +1759,6 @@ if(NOT PUGIXML_FOUND)
set_package_properties(PUGIXML PROPERTIES
PURPOSE "PugiXML v${GNSSSDR_PUGIXML_LOCAL_VERSION} will be downloaded and built when doing '${CMAKE_MAKE_PROGRAM_PRETTY_NAME}'."
)
else()
if(PUGIXML_VERSION)
set_package_properties(PUGIXML PROPERTIES
DESCRIPTION "Light-weight, simple and fast XML parser for C++ (found: ${PUGIXML_VERSION})"
)
else()
set_package_properties(PUGIXML PROPERTIES
DESCRIPTION "Light-weight, simple and fast XML parser for C++"
)
endif()
endif()
@ -2171,8 +2076,6 @@ endif()
################################################################################
find_package(OPENCL QUIET)
set_package_properties(OPENCL PROPERTIES
URL "https://www.khronos.org/opencl/"
DESCRIPTION "Library for parallel programming"
PURPOSE "Used in some processing block implementations."
TYPE OPTIONAL
)
@ -2232,19 +2135,9 @@ endif()
################################################################################
find_package(PCAP)
set_package_properties(PCAP PROPERTIES
URL "https://www.tcpdump.org"
PURPOSE "Used for the custom UDP IP packet source."
TYPE OPTIONAL
)
if(PCAP_FOUND AND PCAP_VERSION)
set_package_properties(PCAP PROPERTIES
DESCRIPTION "A portable C/C++ library for network traffic capture (found: ${PCAP_VERSION})"
)
else()
set_package_properties(PCAP PROPERTIES
DESCRIPTION "A portable C/C++ library for network traffic capture"
)
endif()
if(ENABLE_RAW_UDP)
message(STATUS "High-optimized custom UDP IP packet source is enabled.")
@ -2284,7 +2177,6 @@ endif()
find_package(GROSMOSDR)
set_package_properties(GROSMOSDR PROPERTIES
URL "https://osmocom.org/projects/gr-osmosdr/wiki"
PURPOSE "Used for communication with OsmoSDR and other front-ends (HackRF, bladeRF, Realtek's RTL2832U-based dongles, etc.)."
TYPE OPTIONAL
)
@ -2292,19 +2184,7 @@ if(ENABLE_OSMOSDR)
if(GROSMOSDR_FOUND)
message(STATUS "The driver for OsmoSDR and other front-ends (HackRF, bladeRF, Realtek's RTL2832U-based dongles, etc.) will be compiled.")
message(STATUS " You can disable it with 'cmake -DENABLE_OSMOSDR=OFF ..'")
if(GROSMOSDR_VERSION)
set_package_properties(GROSMOSDR PROPERTIES
DESCRIPTION "osmocom GNU Radio blocks (found: ${GROSMOSDR_VERSION})"
)
else()
set_package_properties(GROSMOSDR PROPERTIES
DESCRIPTION "osmocom GNU Radio blocks"
)
endif()
else()
set_package_properties(GROSMOSDR PROPERTIES
DESCRIPTION "osmocom GNU Radio blocks"
)
if(ENABLE_PACKAGING)
message(WARNING "gr-osmosdr has not been found. Source blocks depending on it will NOT be built.")
else()
@ -2312,9 +2192,6 @@ if(ENABLE_OSMOSDR)
endif()
endif()
else()
set_package_properties(GROSMOSDR PROPERTIES
DESCRIPTION "osmocom GNU Radio blocks"
)
message(STATUS "The (optional) driver for OsmoSDR and related front-ends is not enabled.")
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()
@ -2327,20 +2204,9 @@ endif()
##############################################
find_package(GRIIO)
set_package_properties(GRIIO PROPERTIES
URL "https://github.com/analogdevicesinc/gr-iio"
PURPOSE "Used for communication with PlutoSDR and FMCOMMS devices."
TYPE OPTIONAL
)
if(GRIIO_FOUND AND GRIIO_VERSION)
set_package_properties(GRIIO PROPERTIES
DESCRIPTION "IIO blocks for GNU Radio (found: v${GRIIO_VERSION})"
)
else()
set_package_properties(GRIIO PROPERTIES
DESCRIPTION "IIO blocks for GNU Radio"
)
endif()
#####################################################################
@ -2350,19 +2216,9 @@ endif()
#####################################################################
find_package(LIBIIO)
set_package_properties(LIBIIO PROPERTIES
URL "https://github.com/analogdevicesinc/libiio"
PURPOSE "Used for communication with the AD9361 chipset."
TYPE OPTIONAL
)
if(LIBIIO_FOUND AND LIBIIO_VERSION)
set_package_properties(LIBIIO PROPERTIES
DESCRIPTION "A library for interfacing with Linux IIO devices (found: v${LIBIIO_VERSION})"
)
else()
set_package_properties(LIBIIO PROPERTIES
DESCRIPTION "A library for interfacing with Linux IIO devices"
)
endif()
##############################################
@ -2457,8 +2313,6 @@ endif()
################################################################################
find_package(GPERFTOOLS)
set_package_properties(GPERFTOOLS PROPERTIES
URL "https://github.com/gperftools/gperftools"
DESCRIPTION "Collection of performance analysis tools"
PURPOSE "Used for performance analysis."
TYPE OPTIONAL
)

View File

@ -31,6 +31,11 @@
# Gflags::gflags
#
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
if(APPLE)
find_path(GFlags_ROOT_DIR
libgflags.dylib
@ -119,10 +124,25 @@ if(GFLAGS_FOUND)
endif()
if(PACKAGE_VERSION)
set(GFLAGS_VERSION ${PACKAGE_VERSION})
set_package_properties(GFLAGS PROPERTIES
DESCRIPTION "C++ library that implements commandline flags processing (found: v${GFLAGS_VERSION})"
)
else()
set_package_properties(GFLAGS PROPERTIES
DESCRIPTION "C++ library that implements commandline flags processing"
)
endif()
unset(PACKAGE_VERSION)
else()
set_package_properties(GFLAGS PROPERTIES
DESCRIPTION "C++ library that implements commandline flags processing"
)
endif()
set_package_properties(GFLAGS PROPERTIES
URL "https://github.com/gflags/gflags"
)
if(GFLAGS_FOUND AND NOT TARGET Gflags::gflags)
add_library(Gflags::gflags SHARED IMPORTED)
set_target_properties(Gflags::gflags PROPERTIES

View File

@ -15,6 +15,10 @@
# You should have received a copy of the GNU General Public License
# along with GNSS-SDR. If not, see <https://www.gnu.org/licenses/>.
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
find_library(GFORTRAN NAMES gfortran
PATHS /usr/lib
/usr/lib64
@ -189,5 +193,10 @@ find_library(GFORTRAN NAMES gfortran
$ENV{GFORTRAN_ROOT}/lib
)
set_package_properties(GFORTRAN PROPERTIES
URL "http://gcc.gnu.org/wiki/GFortran"
DESCRIPTION "GNU Fortran library"
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GFORTRAN DEFAULT_MSG GFORTRAN)

View File

@ -31,6 +31,10 @@
# Glog::glog
#
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
if(NOT DEFINED GLOG_ROOT)
set(GLOG_ROOT /usr /usr/local)
endif()
@ -148,6 +152,20 @@ else()
string(REGEX REPLACE "/libglog.so" "" GLOG_LIBRARIES_DIR ${GLOG_LIBRARIES})
endif()
if(GLOG_FOUND AND GLOG_VERSION)
set_package_properties(GLOG PROPERTIES
DESCRIPTION "C++ implementation of the Google logging module (found: v${GLOG_VERSION})"
)
else()
set_package_properties(GLOG PROPERTIES
DESCRIPTION "C++ implementation of the Google logging module"
)
endif()
set_package_properties(GLOG PROPERTIES
URL "https://github.com/google/glog"
)
if(GLOG_FOUND AND NOT TARGET Glog::glog)
add_library(Glog::glog SHARED IMPORTED)
set_target_properties(Glog::glog PROPERTIES

View File

@ -19,6 +19,10 @@
# Find GNU Radio
########################################################################
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH TRUE)
include(FindPkgConfig)
include(FindPackageHandleStandardArgs)
@ -256,4 +260,15 @@ if(GNURADIO_VERSION)
endif()
message(FATAL_ERROR "GNU Radio v${GNSSSDR_GNURADIO_MIN_VERSION} or later is required to build gnss-sdr.")
endif()
set_package_properties(GNURADIO PROPERTIES
DESCRIPTION "The free and open software radio ecosystem (found: v${GNURADIO_VERSION})"
)
else()
set_package_properties(GNURADIO PROPERTIES
DESCRIPTION "The free and open software radio ecosystem"
)
endif()
set_package_properties(GNURADIO PROPERTIES
URL "https://www.gnuradio.org/"
)

View File

@ -26,6 +26,10 @@
# LIBGTEST_DEV_DIR
# GTEST_INCLUDE_DIRS
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH TRUE)
include(FindPkgConfig)
pkg_check_modules(PC_GTEST gtest)
@ -56,6 +60,17 @@ find_package_handle_standard_args(GOOGLETEST DEFAULT_MSG LIBGTEST_DEV_DIR GTEST_
if(GOOGLETEST_FOUND AND PC_GTEST_VERSION)
set(GOOGLETEST_VERSION ${PC_GTEST_VERSION})
set_package_properties(GOOGLETEST PROPERTIES
DESCRIPTION "Source code of Google's Testing Framework (found: ${GOOGLETEST_VERSION})"
)
else()
set_package_properties(GOOGLETEST PROPERTIES
DESCRIPTION "Source code of Google's Testing Framework"
)
endif()
set_package_properties(GOOGLETEST PROPERTIES
URL "https://github.com/google/googletest"
)
mark_as_advanced(LIBGTEST_DEV_DIR GTEST_INCLUDE_DIRS)

View File

@ -40,6 +40,10 @@
# Gperftools::gperftools
#
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
find_library(GPERFTOOLS_TCMALLOC
NAMES tcmalloc
HINTS ${Gperftools_ROOT_DIR}/lib
@ -124,6 +128,11 @@ if(GPERFTOOLS_FOUND AND NOT TARGET Gperftools::gperftools)
)
endif()
set_package_properties(GPERFTOOLS PROPERTIES
URL "https://github.com/gperftools/gperftools"
DESCRIPTION "Collection of performance analysis tools"
)
mark_as_advanced(
GPERFTOOLS_TCMALLOC
GPERFTOOLS_PROFILER

View File

@ -22,6 +22,10 @@
# GPSTK_FOUND, If false, do not try to use GPSTK.
# GPSTK_LIBRARY, where to find the GPSTK library.
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
find_path(GPSTK_INCLUDE_DIR gpstk/Rinex3ObsBase.hpp
HINTS /usr/include
/usr/local/include
@ -59,6 +63,20 @@ if(GPSTK_FOUND)
unset(PACKAGE_VERSION)
endif()
if(GPSTK_FOUND AND GPSTK_VERSION)
set_package_properties(GPSTK PROPERTIES
DESCRIPTION "Library and suite of applications for satellite navigation (found: v${GPSTK_VERSION})"
)
else()
set_package_properties(GPSTK PROPERTIES
DESCRIPTION "Library and suite of applications for satellite navigation"
)
endif()
set_package_properties(GPSTK PROPERTIES
URL "http://www.gpstk.org"
)
mark_as_advanced(GPSTK_LIBRARY GPSTK_INCLUDE_DIR)
if(GPSTK_FOUND AND NOT TARGET Gpstk::gpstk)

View File

@ -20,6 +20,10 @@
# Gnuradio::iio
#
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH TRUE)
include(FindPkgConfig)
pkg_check_modules(PC_IIO gnuradio-iio)
@ -96,6 +100,19 @@ if(PC_IIO_VERSION)
set(GRIIO_VERSION ${PC_IIO_VERSION})
endif()
set_package_properties(GRIIO PROPERTIES
URL "https://github.com/analogdevicesinc/gr-iio"
)
if(GRIIO_FOUND AND GRIIO_VERSION)
set_package_properties(GRIIO PROPERTIES
DESCRIPTION "IIO blocks for GNU Radio (found: v${GRIIO_VERSION})"
)
else()
set_package_properties(GRIIO PROPERTIES
DESCRIPTION "IIO blocks for GNU Radio"
)
endif()
if(GRIIO_FOUND AND NOT TARGET Gnuradio::iio)
add_library(Gnuradio::iio SHARED IMPORTED)
set_target_properties(Gnuradio::iio PROPERTIES

View File

@ -38,6 +38,9 @@
# Gnuradio::osmosdr
#
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH TRUE)
include(FindPkgConfig)
@ -100,6 +103,20 @@ if(GROSMOSDR_PKG_VERSION)
set(GROSMOSDR_VERSION ${GROSMOSDR_PKG_VERSION})
endif()
set_package_properties(GROSMOSDR PROPERTIES
URL "https://osmocom.org/projects/gr-osmosdr/wiki"
)
if(GROSMOSDR_FOUND AND GROSMOSDR_VERSION)
set_package_properties(GROSMOSDR PROPERTIES
DESCRIPTION "osmocom GNU Radio blocks (found: ${GROSMOSDR_VERSION})"
)
else()
set_package_properties(GROSMOSDR PROPERTIES
DESCRIPTION "osmocom GNU Radio blocks"
)
endif()
if(GROSMOSDR_FOUND AND NOT TARGET Gnuradio::osmosdr)
add_library(Gnuradio::osmosdr SHARED IMPORTED)
set_target_properties(Gnuradio::osmosdr PROPERTIES

View File

@ -20,6 +20,10 @@
# Iio::iio
#
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH TRUE)
include(FindPkgConfig)
pkg_check_modules(PC_LIBIIO libiio)
@ -90,6 +94,20 @@ if(PC_LIBIIO_VERSION)
set(LIBIIO_VERSION ${PC_LIBIIO_VERSION})
endif()
if(LIBIIO_FOUND AND LIBIIO_VERSION)
set_package_properties(LIBIIO PROPERTIES
DESCRIPTION "A library for interfacing with Linux IIO devices (found: v${LIBIIO_VERSION})"
)
else()
set_package_properties(LIBIIO PROPERTIES
DESCRIPTION "A library for interfacing with Linux IIO devices"
)
endif()
set_package_properties(LIBIIO PROPERTIES
URL "https://github.com/analogdevicesinc/libiio"
)
if(LIBIIO_FOUND AND NOT TARGET Iio::iio)
add_library(Iio::iio SHARED IMPORTED)
set_target_properties(Iio::iio PROPERTIES

View File

@ -26,6 +26,10 @@
# Log4cpp::log4cpp
#
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
if(LOG4CPP_INCLUDE_DIR)
# Already in cache, be silent
set(LOG4CPP_FIND_QUIETLY TRUE)
@ -107,6 +111,20 @@ endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LOG4CPP DEFAULT_MSG LOG4CPP_INCLUDE_DIRS LOG4CPP_LIBRARIES)
set_package_properties(LOG4CPP PROPERTIES
URL "http://log4cpp.sourceforge.net/"
)
if(LOG4CPP_FOUND AND LOG4CPP_READY_FOR_CXX17)
set_package_properties(LOG4CPP PROPERTIES
DESCRIPTION "Library of C++ classes for flexible logging to files (the version found is C++17-ready)"
)
else()
set_package_properties(LOG4CPP PROPERTIES
DESCRIPTION "Library of C++ classes for flexible logging to files"
)
endif()
if (LOG4CPP_FOUND AND NOT TARGET Log4cpp::log4cpp)
add_library(Log4cpp::log4cpp SHARED IMPORTED)
set_target_properties(Log4cpp::log4cpp PROPERTIES

View File

@ -62,6 +62,10 @@
#=============================================================================
#
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
# Look for the header file.
find_path(MATIO_INCLUDE_DIR
NAMES matio.h
@ -131,6 +135,20 @@ else()
set(MATIO_INCLUDE_DIRS)
endif()
if(MATIO_FOUND AND MATIO_VERSION_STRING)
set_package_properties(MATIO PROPERTIES
DESCRIPTION "MATLAB MAT File I/O Library (found: v${MATIO_VERSION_STRING})"
)
else()
set_package_properties(MATIO PROPERTIES
DESCRIPTION "MATLAB MAT File I/O Library"
)
endif()
set_package_properties(MATIO PROPERTIES
URL "https://github.com/tbeu/matio"
)
if(MATIO_FOUND AND NOT TARGET Matio::matio)
add_library(Matio::matio SHARED IMPORTED)
set_target_properties(Matio::matio PROPERTIES

View File

@ -29,6 +29,10 @@
#
# WIN32 should work, but is untested
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
include(FindPackageHandleStandardArgs)
set(OPENCL_VERSION_STRING "0.1.0")
@ -101,6 +105,11 @@ mark_as_advanced(
OPENCL_INCLUDE_DIRS
)
set_package_properties(OPENCL PROPERTIES
URL "https://www.khronos.org/opencl/"
DESCRIPTION "Library for parallel programming"
)
if(OPENCL_INCLUDE_DIRS AND OPENCL_LIBRARIES)
set( OPENCL_FOUND TRUE )
add_definitions( -DOPENCL=1 )

View File

@ -15,6 +15,10 @@
# You should have received a copy of the GNU General Public License
# along with GNSS-SDR. If not, see <https://www.gnu.org/licenses/>.
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH TRUE)
include(FindPkgConfig)
pkg_check_modules(PC_ORC "orc-0.4 > 0.4.22")
@ -77,4 +81,18 @@ set(ORC_LIBRARY_DIRS ${ORC_LIBRARY_DIR})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(ORC "orc files" ORC_LIBRARY ORC_INCLUDE_DIR ORCC_EXECUTABLE)
set_package_properties(ORC PROPERTIES
URL "https://gstreamer.freedesktop.org/modules/orc.html"
)
if(ORC_FOUND AND ORC_VERSION)
set_package_properties(ORC PROPERTIES
DESCRIPTION "The Optimized Inner Loops Runtime Compiler (found: v${ORC_VERSION})"
)
else()
set_package_properties(ORC PROPERTIES
DESCRIPTION "The Optimized Inner Loops Runtime Compiler"
)
endif()
mark_as_advanced(ORC_INCLUDE_DIR ORC_LIBRARY ORCC_EXECUTABLE)

View File

@ -48,6 +48,10 @@
# Pcap::pcap
#
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH TRUE)
include(FindPkgConfig)
pkg_check_modules(PC_PCAP libpcap)
@ -136,6 +140,20 @@ if(PCAP_FOUND AND PC_PCAP_VERSION)
set(PCAP_VERSION ${PC_PCAP_VERSION})
endif()
set_package_properties(PCAP PROPERTIES
URL "https://www.tcpdump.org"
)
if(PCAP_FOUND AND PCAP_VERSION)
set_package_properties(PCAP PROPERTIES
DESCRIPTION "A portable C/C++ library for network traffic capture (found: ${PCAP_VERSION})"
)
else()
set_package_properties(PCAP PROPERTIES
DESCRIPTION "A portable C/C++ library for network traffic capture"
)
endif()
if(PCAP_FOUND AND NOT TARGET Pcap::pcap)
add_library(Pcap::pcap SHARED IMPORTED)
set_target_properties(Pcap::pcap PROPERTIES

View File

@ -27,6 +27,10 @@
# Pugixml::pugixml
#
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH TRUE)
include(FindPkgConfig)
pkg_check_modules(PC_PUGIXML pugixml QUIET)
@ -93,6 +97,20 @@ else()
message(STATUS "PugiXML not found.")
endif()
set_package_properties(PUGIXML PROPERTIES
URL "https://pugixml.org/"
)
if(PUGIXML_FOUND AND PUGIXML_VERSION)
set_package_properties(PUGIXML PROPERTIES
DESCRIPTION "Light-weight, simple and fast XML parser for C++ (found: ${PUGIXML_VERSION})"
)
else()
set_package_properties(PUGIXML PROPERTIES
DESCRIPTION "Light-weight, simple and fast XML parser for C++"
)
endif()
mark_as_advanced(PUGIXML_LIBRARY PUGIXML_INCLUDE_DIR)
if(PUGIXML_FOUND AND NOT TARGET Pugixml::pugixml)

View File

@ -23,6 +23,10 @@
########################################################################
# Find the library for the USRP Hardware Driver
########################################################################
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH TRUE)
include(FindPkgConfig)
pkg_check_modules(PC_UHD uhd)
@ -93,6 +97,20 @@ if(NOT PC_UHD_VERSION)
unset(PACKAGE_VERSION)
endif()
set_package_properties(UHD PROPERTIES
URL "https://www.ettus.com/sdr-software/detail/usrp-hardware-driver"
)
if(UHD_FOUND AND UHD_VERSION)
set_package_properties(UHD PROPERTIES
DESCRIPTION "USRP Hardware Driver (found: v${UHD_VERSION})"
)
else()
set_package_properties(UHD PROPERTIES
DESCRIPTION "USRP Hardware Driver"
)
endif()
if(UHD_FOUND AND NOT TARGET Uhd::uhd)
add_library(Uhd::uhd SHARED IMPORTED)
set_target_properties(Uhd::uhd PROPERTIES

View File

@ -23,6 +23,9 @@
########################################################################
# Find VOLK (Vector-Optimized Library of Kernels)
########################################################################
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH TRUE)
include(FindPkgConfig)
@ -96,6 +99,20 @@ if(NOT VOLK_VERSION)
unset(PACKAGE_VERSION)
endif()
set_package_properties(VOLK PROPERTIES
URL "http://libvolk.org"
)
if(VOLK_FOUND AND VOLK_VERSION)
set_package_properties(VOLK PROPERTIES
DESCRIPTION "Vector-Optimized Library of Kernels (found: v${VOLK_VERSION})"
)
else()
set_package_properties(VOLK PROPERTIES
DESCRIPTION "Vector-Optimized Library of Kernels"
)
endif()
mark_as_advanced(VOLK_LIBRARIES VOLK_INCLUDE_DIRS VOLK_VERSION)
if(VOLK_FOUND AND NOT TARGET Volk::volk)

View File

@ -24,6 +24,9 @@
########################################################################
# Find VOLK (Vector-Optimized Library of Kernels) GNSS-SDR library
########################################################################
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH TRUE)
include(FindPkgConfig)
@ -59,6 +62,10 @@ 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)
set_package_properties(VOLKGNSSSDR PROPERTIES
DESCRIPTION "Vector-Optimized Library of Kernels for GNSS-SDR."
)
if(VOLKGNSSSDR_FOUND AND NOT TARGET Volkgnsssdr::volkgnsssdr)
add_library(Volkgnsssdr::volkgnsssdr SHARED IMPORTED)

View File

@ -198,19 +198,9 @@ add_feature_info(ENABLE_GNSS_SIM_INSTALL ENABLE_GNSS_SIM_INSTALL "Enables downlo
find_package(GPSTK)
set_package_properties(GPSTK PROPERTIES
URL "http://www.gpstk.org"
PURPOSE "Used in some Extra Tests."
TYPE OPTIONAL
)
if(GPSTK_FOUND AND GPSTK_VERSION)
set_package_properties(GPSTK PROPERTIES
DESCRIPTION "Library and suite of applications for satellite navigation (found: v${GPSTK_VERSION})"
)
else()
set_package_properties(GPSTK PROPERTIES
DESCRIPTION "Library and suite of applications for satellite navigation"
)
endif()
if(ENABLE_UNIT_TESTING_EXTRA OR ENABLE_SYSTEM_TESTING_EXTRA OR ENABLE_FPGA)
if(ENABLE_FPGA)