Files
gnss-sdr/cmake/Modules/FindGRPOCKETSDR.cmake
T
Minhaj Ahmad a02cdef172 housekeeping
Signed-off-by: Minhaj Ahmad <mahmad12@crimson.ua.edu>
Signed-off-by: Minhaj Ahmad <minhaj.sixbyte@gmail.com>
2026-06-15 11:12:10 -05:00

99 lines
2.8 KiB
CMake

# GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
# This file is part of GNSS-SDR.
#
# SPDX-FileCopyrightText: 2011-2026 C. Fernandez-Prades cfernandez(at)cttc.es
# SPDX-License-Identifier: BSD-3-Clause
# Tries to find gr-pocketsdr.
#
# Usage of this module as follows:
#
# find_package(GRPOCKETSDR)
#
# Variables used by this module, they can change the default behaviour and need
# to be set before calling find_package:
#
# GRPOCKETSDR_ROOT Set this variable to the root installation of
# gr-pocketsdr if the module has problems finding
# the proper installation path.
#
# Variables defined by this module:
#
# GRPOCKETSDR_FOUND System has gr-pocketsdr libs/headers
# GRPOCKETSDR_LIBRARIES The gr-pocketsdr libraries (gnuradio-pocketsdr)
# GRPOCKETSDR_INCLUDE_DIR The location of gr-pocketsdr headers
#
# Provides the following imported target:
# Gnuradio::pocketsdr
#
if(NOT COMMAND feature_summary)
include(FeatureSummary)
endif()
if(NOT PKG_CONFIG_FOUND)
include(FindPkgConfig)
endif()
if(NOT DEFINED GNSSSDR_LIB_PATHS)
include(GnsssdrFindPaths)
endif()
pkg_check_modules(GRPOCKETSDR_PKG QUIET gnuradio-pocketsdr)
if(NOT GRPOCKETSDR_ROOT)
set(GRPOCKETSDR_ROOT_USER_DEFINED /usr)
else()
set(GRPOCKETSDR_ROOT_USER_DEFINED ${GRPOCKETSDR_ROOT})
endif()
if(DEFINED ENV{GRPOCKETSDR_ROOT})
set(GRPOCKETSDR_ROOT_USER_DEFINED
${GRPOCKETSDR_ROOT_USER_DEFINED}
$ENV{GRPOCKETSDR_ROOT}
)
endif()
find_path(GRPOCKETSDR_INCLUDE_DIR
NAMES
gnuradio/pocketsdr/pocketsdr_source.h
gnuradio/pocketsdr/api.h
HINTS
${GRPOCKETSDR_PKG_INCLUDEDIR}
PATHS
${GRPOCKETSDR_ROOT_USER_DEFINED}/include
${GNSSSDR_INCLUDE_PATHS}
)
find_library(GRPOCKETSDR_LIBRARIES
NAMES
gnuradio-pocketsdr
HINTS
${GRPOCKETSDR_PKG_LIBDIR}
PATHS
${GRPOCKETSDR_ROOT_USER_DEFINED}/lib
${GRPOCKETSDR_ROOT_USER_DEFINED}/lib64
${GRPOCKETSDR_ROOT_USER_DEFINED}/lib/x86_64-linux-gnu
${GNSSSDR_LIB_PATHS}
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GRPOCKETSDR DEFAULT_MSG GRPOCKETSDR_LIBRARIES GRPOCKETSDR_INCLUDE_DIR)
set_package_properties(GRPOCKETSDR PROPERTIES
URL "https://github.com/minhaj6/gr-pocketsdr"
DESCRIPTION "Pocket SDR FE GNU Radio blocks"
)
if(GRPOCKETSDR_FOUND AND NOT TARGET Gnuradio::pocketsdr)
add_library(Gnuradio::pocketsdr SHARED IMPORTED)
set_target_properties(Gnuradio::pocketsdr PROPERTIES
IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
IMPORTED_LOCATION "${GRPOCKETSDR_LIBRARIES}"
INTERFACE_INCLUDE_DIRECTORIES "${GRPOCKETSDR_INCLUDE_DIR}"
INTERFACE_LINK_LIBRARIES "${GRPOCKETSDR_LIBRARIES}"
)
message(STATUS "The (optional) gr-pocketsdr module has been found.")
endif()
mark_as_advanced(GRPOCKETSDR_LIBRARIES GRPOCKETSDR_INCLUDE_DIR)