mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-02-14 10:00:11 +00:00
Improve dependency version identification in CMake modules
This commit is contained in:
parent
bfae31390f
commit
bbe7707282
@ -2242,7 +2242,6 @@ else()
|
||||
endif()
|
||||
find_package(TELEORBIT)
|
||||
set_package_properties(TELEORBIT PROPERTIES
|
||||
DESCRIPTION "The Teleorbit's Flexiband GNU Radio block."
|
||||
PURPOSE "Used for communication with the Flexiband front-end."
|
||||
TYPE OPTIONAL
|
||||
)
|
||||
|
@ -30,6 +30,10 @@ if(NOT COMMAND feature_summary)
|
||||
include(FeatureSummary)
|
||||
endif()
|
||||
|
||||
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH TRUE)
|
||||
include(FindPkgConfig)
|
||||
pkg_check_modules(PC_LOG4CPP log4cpp QUIET)
|
||||
|
||||
if(LOG4CPP_INCLUDE_DIR)
|
||||
# Already in cache, be silent
|
||||
set(LOG4CPP_FIND_QUIETLY TRUE)
|
||||
@ -41,6 +45,7 @@ find_path(LOG4CPP_INCLUDE_DIR log4cpp/Category.hh
|
||||
/usr/include
|
||||
${LOG4CPP_ROOT}/include
|
||||
$ENV{LOG4CPP_ROOT}/include
|
||||
${PC_LOG4CPP_INCLUDEDIR}
|
||||
)
|
||||
|
||||
if(LOG4CPP_INCLUDE_DIR)
|
||||
@ -61,7 +66,7 @@ set(LOG4CPP_NAMES log4cpp)
|
||||
find_library(LOG4CPP_LIBRARY
|
||||
NAMES ${LOG4CPP_NAMES}
|
||||
HINTS $ENV{GNURADIO_RUNTIME_DIR}/lib
|
||||
${PC_LIBDIR}
|
||||
${PC_LOG4CPP_LIBDIR}
|
||||
${CMAKE_INSTALL_PREFIX}/lib/
|
||||
PATHS /usr/local/lib
|
||||
/usr/lib/x86_64-linux-gnu
|
||||
@ -115,13 +120,23 @@ 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)"
|
||||
)
|
||||
if(LOG4CPP_FOUND AND PC_LOG4CPP_VERSION)
|
||||
set(LOG4CPP_VERSION ${PC_LOG4CPP_VERSION})
|
||||
endif()
|
||||
|
||||
if(LOG4CPP_FOUND AND LOG4CPP_VERSION)
|
||||
if(LOG4CPP_READY_FOR_CXX17)
|
||||
set_package_properties(LOG4CPP PROPERTIES
|
||||
DESCRIPTION "Library of C++ classes for flexible logging (found: v${LOG4CPP_VERSION}, C++17-ready)"
|
||||
)
|
||||
else()
|
||||
set_package_properties(LOG4CPP PROPERTIES
|
||||
DESCRIPTION "Library of C++ classes for flexible logging (found: v${LOG4CPP_VERSION})"
|
||||
)
|
||||
endif()
|
||||
else()
|
||||
set_package_properties(LOG4CPP PROPERTIES
|
||||
DESCRIPTION "Library of C++ classes for flexible logging to files"
|
||||
DESCRIPTION "Library of C++ classes for flexible logging"
|
||||
)
|
||||
endif()
|
||||
|
||||
|
@ -54,7 +54,7 @@ endif()
|
||||
|
||||
set(PKG_CONFIG_USE_CMAKE_PREFIX_PATH TRUE)
|
||||
include(FindPkgConfig)
|
||||
pkg_check_modules(PC_PCAP libpcap)
|
||||
pkg_check_modules(PC_PCAP libpcap QUIET)
|
||||
|
||||
if(EXISTS $ENV{PCAPDIR})
|
||||
find_path(PCAP_INCLUDE_DIR
|
||||
|
@ -41,11 +41,14 @@ find_path(PUGIXML_INCLUDE_DIR
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
/usr/local/include/pugixml-1.9
|
||||
/usr/local/include/pugixml-${PC_PUGIXML_VERSION}
|
||||
/opt/local/include
|
||||
${PUGIXML_ROOT}/include
|
||||
$ENV{PUGIXML_ROOT}/include
|
||||
${PUGIXML_ROOT}/include/pugixml-1.9
|
||||
$ENV{PUGIXML_ROOT}/include/pugixml-1.9
|
||||
${PUGIXML_ROOT}/include/pugixml-${PC_PUGIXML_VERSION}
|
||||
$ENV{PUGIXML_ROOT}/include/pugixml-${PC_PUGIXML_VERSION}
|
||||
${PC_PUGIXML_INCLUDEDIR}
|
||||
)
|
||||
|
||||
@ -64,6 +67,7 @@ find_library(PUGIXML_LIBRARY
|
||||
/usr/lib/s390x-linux-gnu
|
||||
/usr/local/lib
|
||||
/usr/local/lib/pugixml-1.9
|
||||
/usr/local/lib/pugixml-${PC_PUGIXML_VERSION}
|
||||
/opt/local/lib
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
@ -76,6 +80,10 @@ find_library(PUGIXML_LIBRARY
|
||||
$ENV{PUGIXML_ROOT}/lib/pugixml-1.9
|
||||
${PUGIXML_ROOT}/lib64/pugixml-1.9
|
||||
$ENV{PUGIXML_ROOT}/lib64/pugixml-1.9
|
||||
${PUGIXML_ROOT}/lib/pugixml-${PC_PUGIXML_VERSION}
|
||||
$ENV{PUGIXML_ROOT}/lib/pugixml-${PC_PUGIXML_VERSION}
|
||||
${PUGIXML_ROOT}/lib64/pugixml-${PC_PUGIXML_VERSION}
|
||||
$ENV{PUGIXML_ROOT}/lib64/pugixml-${PC_PUGIXML_VERSION}
|
||||
${PC_PUGIXML_LIBDIR}
|
||||
)
|
||||
|
||||
|
@ -15,9 +15,13 @@
|
||||
# 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_TELEORBIT teleorbit)
|
||||
pkg_check_modules(PC_TELEORBIT teleorbit QUIET)
|
||||
|
||||
find_path(TELEORBIT_INCLUDE_DIRS
|
||||
NAMES teleorbit/api.h
|
||||
@ -49,6 +53,20 @@ find_library(TELEORBIT_LIBRARIES
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(TELEORBIT DEFAULT_MSG TELEORBIT_LIBRARIES TELEORBIT_INCLUDE_DIRS)
|
||||
|
||||
if(PC_TELEORBIT_VERSION)
|
||||
set(TELEORBIT_VERSION ${PC_TELEORBIT_VERSION})
|
||||
endif()
|
||||
|
||||
if(TELEORBIT_FOUND AND TELEORBIT_VERSION)
|
||||
set_package_properties(TELEORBIT PROPERTIES
|
||||
DESCRIPTION "The Teleorbit's Flexiband GNU Radio block (found: v${TELEORBIT_VERSION})"
|
||||
)
|
||||
else()
|
||||
set_package_properties(TELEORBIT PROPERTIES
|
||||
DESCRIPTION "The Teleorbit's Flexiband GNU Radio block."
|
||||
)
|
||||
endif()
|
||||
|
||||
if(TELEORBIT_FOUND AND NOT TARGET Gnuradio::teleorbit)
|
||||
add_library(Gnuradio::teleorbit SHARED IMPORTED)
|
||||
set_target_properties(Gnuradio::teleorbit PROPERTIES
|
||||
|
@ -62,10 +62,19 @@ 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(PC_VOLK_GNSSSDR_VERSION)
|
||||
set(VOLKGNSSSDR_VERSION ${PC_VOLK_GNSSSDR_VERSION})
|
||||
endif()
|
||||
|
||||
if(VOLKGNSSSDR_FOUND AND VOLKGNSSSDR_VERSION)
|
||||
set_package_properties(VOLKGNSSSDR PROPERTIES
|
||||
DESCRIPTION "Vector-Optimized Library of Kernels for GNSS-SDR (found: v${VOLKGNSSSDR_VERSION})."
|
||||
)
|
||||
else()
|
||||
set_package_properties(VOLKGNSSSDR PROPERTIES
|
||||
DESCRIPTION "Vector-Optimized Library of Kernels for GNSS-SDR."
|
||||
)
|
||||
endif()
|
||||
|
||||
if(VOLKGNSSSDR_FOUND AND NOT TARGET Volkgnsssdr::volkgnsssdr)
|
||||
add_library(Volkgnsssdr::volkgnsssdr SHARED IMPORTED)
|
||||
|
Loading…
x
Reference in New Issue
Block a user