mirror of
				https://github.com/gnss-sdr/gnss-sdr
				synced 2025-10-30 14:53:03 +00:00 
			
		
		
		
	Improve dependency version identification in CMake modules
This commit is contained in:
		| @@ -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) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Carles Fernandez
					Carles Fernandez