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