> I'm having a couple of issues when trying to switch from
> FindGnuradioRuntime to GnuradioConfig

Attached a patch that deals with issue 1 & 3. Issue 2 doesn't seem to
be an issue since ALL_LIBRARIES has absolute path in it.

Cheers,

    Sylvain
diff --git a/cmake/Modules/GnuradioConfig.cmake b/cmake/Modules/GnuradioConfig.cmake
index eae9a4a..c162d09 100644
--- a/cmake/Modules/GnuradioConfig.cmake
+++ b/cmake/Modules/GnuradioConfig.cmake
@@ -50,6 +50,10 @@ function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE)
     # check for .pc hints
     PKG_CHECK_MODULES(PC_GNURADIO_${EXTVAR} ${PCNAME})
 
+    if(NOT PC_GNURADIO_${EXTVAR}_FOUND)
+        set(PC_GNURADIO_${EXTVAR}_LIBRARIES ${LIBFILE})
+    endif()
+
     set(INCVAR_NAME "GNURADIO_${EXTVAR}_INCLUDE_DIRS")
     set(LIBVAR_NAME "GNURADIO_${EXTVAR}_LIBRARIES")
     set(PC_INCDIR ${PC_GNURADIO_${EXTVAR}_INCLUDEDIR})
@@ -67,26 +71,29 @@ function(GR_MODULE EXTVAR PCNAME INCFILE LIBFILE)
     )
 
     # look for libs
-    FIND_LIBRARY(
-        ${LIBVAR_NAME}
-        NAMES ${LIBFILE}
-        HINTS $ENV{GNURADIO_RUNTIME_DIR}/lib
-            ${PC_LIBDIR}
-            ${CMAKE_INSTALL_PREFIX}/lib/
-            ${CMAKE_INSTALL_PREFIX}/lib64/
-        PATHS /usr/local/lib
-              /usr/local/lib64
-              /usr/lib
-              /usr/lib64
-    )
+    foreach(libname ${PC_GNURADIO_${EXTVAR}_LIBRARIES})
+        FIND_LIBRARY(
+            ${LIBVAR_NAME}_${libname}
+            NAMES ${libname}
+            HINTS $ENV{GNURADIO_RUNTIME_DIR}/lib
+                ${PC_LIBDIR}
+                ${CMAKE_INSTALL_PREFIX}/lib/
+                ${CMAKE_INSTALL_PREFIX}/lib64/
+            PATHS /usr/local/lib
+                  /usr/local/lib64
+                  /usr/lib
+                  /usr/lib64
+        )
+	list(APPEND ${LIBVAR_NAME} ${${LIBVAR_NAME}_${libname}})
+    endforeach(libname)
 
     # show results
     message(" * INCLUDES=${GNURADIO_${EXTVAR}_INCLUDE_DIRS}")
     message(" * LIBS=${GNURADIO_${EXTVAR}_LIBRARIES}")
 
     # append to all includes and libs list
-    LIST(APPEND GNURADIO_ALL_INCLUDE_DIRS ${GNURADIO_${EXTVAR}_INCLUDE_DIRS})
-    LIST(APPEND GNURADIO_ALL_LIBRARIES ${GNURADIO_${EXTVAR}_LIBRARIES})
+    set(GNURADIO_ALL_INCLUDE_DIRS ${GNURADIO_ALL_INCLUDE_DIRS} ${GNURADIO_${EXTVAR}_INCLUDE_DIRS} PARENT_SCOPE)
+    set(GNURADIO_ALL_LIBRARIES    ${GNURADIO_ALL_LIBRARIES}    ${GNURADIO_${EXTVAR}_LIBRARIES}    PARENT_SCOPE)
 
     FIND_PACKAGE_HANDLE_STANDARD_ARGS(GNURADIO_${EXTVAR} DEFAULT_MSG GNURADIO_${EXTVAR}_LIBRARIES GNURADIO_${EXTVAR}_INCLUDE_DIRS)
     message("GNURADIO_${EXTVAR}_FOUND = ${GNURADIO_${EXTVAR}_FOUND}")
@@ -121,3 +128,6 @@ GR_MODULE(VOCODER gnuradio-vocoder gnuradio/vocoder/api.h gnuradio-vocoder)
 GR_MODULE(WAVELET gnuradio-wavelet gnuradio/wavelet/api.h gnuradio-wavelet)
 GR_MODULE(WXGUI gnuradio-wxgui gnuradio/wxgui/api.h gnuradio-wxgui)
 GR_MODULE(PMT gnuradio-runtime pmt/pmt.h gnuradio-pmt)
+
+list(REMOVE_DUPLICATES GNURADIO_ALL_INCLUDE_DIRS)
+list(REMOVE_DUPLICATES GNURADIO_ALL_LIBRARIES)
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to