diff --git a/CMakeLists.txt b/CMakeLists.txt index 520d68944..0577110bc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -610,16 +610,31 @@ 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" - DESCRIPTION "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) @@ -2248,10 +2263,18 @@ endif() find_package(LIBIIO) set_package_properties(LIBIIO PROPERTIES URL "https://github.com/analogdevicesinc/libiio" - DESCRIPTION "A library for interfacing with Linux IIO devices" 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() ############################################## diff --git a/cmake/Modules/FindLIBIIO.cmake b/cmake/Modules/FindLIBIIO.cmake index ccf9fd133..4c94bb9dd 100644 --- a/cmake/Modules/FindLIBIIO.cmake +++ b/cmake/Modules/FindLIBIIO.cmake @@ -85,6 +85,10 @@ endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args(LIBIIO DEFAULT_MSG LIBIIO_LIBRARIES LIBIIO_INCLUDE_DIRS) +if(PC_LIBIIO_VERSION) + set(LIBIIO_VERSION ${PC_LIBIIO_VERSION}) +endif() + if(LIBIIO_FOUND AND NOT TARGET Iio::iio) add_library(Iio::iio SHARED IMPORTED) set_target_properties(Iio::iio PROPERTIES diff --git a/cmake/Modules/FindUHD.cmake b/cmake/Modules/FindUHD.cmake index e0d6d77e0..6b9c09b5a 100644 --- a/cmake/Modules/FindUHD.cmake +++ b/cmake/Modules/FindUHD.cmake @@ -77,6 +77,20 @@ find_library(UHD_LIBRARIES include(FindPackageHandleStandardArgs) find_package_handle_standard_args(UHD DEFAULT_MSG UHD_LIBRARIES UHD_INCLUDE_DIRS) +if(PC_UHD_VERSION) + set(UHD_VERSION ${PC_UHD_VERSION}) +endif() +if(NOT PC_UHD_VERSION) + list(GET UHD_LIBRARIES 0 FIRST_DIR) + get_filename_component(UHD_LIBRARIES_DIR ${FIRST_DIR} DIRECTORY) + if(EXISTS ${UHD_LIBRARIES_DIR}/cmake/uhd/UHDConfigVersion.cmake) + include(${UHD_LIBRARIES_DIR}/cmake/uhd/UHDConfigVersion.cmake) + endif() + if(PACKAGE_VERSION) + set(UHD_VERSION ${PACKAGE_VERSION}) + endif() +endif() + if(UHD_FOUND AND NOT TARGET Uhd::uhd) add_library(Uhd::uhd SHARED IMPORTED) set_target_properties(Uhd::uhd PROPERTIES