It's called an out-of-tree module when a module (like osmosdr) is built and installed outside of the rest of gnuradio. Here's a description:
Again, my osmosdr installation works in gnuradio as I mentioned earlier.
The problem appears to be that the included file uses the directory prefix, whereas the FIND_PATH in FindGnuradio-osmosdr.cmake does not. Further, when it's actually located the result is not included in the include directory list. When applying the changes found in my patch below gqrx builds on my system when I set the GNURADIO_OSMOSDR_DIR environment variable to point to my local installation.
Remove "fixme" from the e-mail address if you should apply it.
---- cut here ----
From ef05f8861d3528c79cfe3331c18de00bd010c212 Mon Sep 17 00:00:00 2001
Date: Fri, 1 Sep 2017 01:05:05 +0200
Subject: [PATCH] FindGnuradio-osmosdr.cmake to find include
The search is performed on the same path which is included in the
source. Also the GNURADIO_OSMOSDR_INCLUDE_DIRS is added to the include
directories list.
---
CMakeLists.txt | 1 +
cmake/Modules/FindGnuradio-osmosdr.cmake | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0a5095a..5e4c017 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -163,6 +163,7 @@ include_directories(
${CMAKE_SOURCE_DIR}/include
${Boost_INCLUDE_DIRS}
${GNURADIO_RUNTIME_INCLUDE_DIRS}
+ ${GNURADIO_OSMOSDR_INCLUDE_DIRS}
)
link_directories(
diff --git a/cmake/Modules/FindGnuradio-osmosdr.cmake b/cmake/Modules/FindGnuradio-osmosdr.cmake
index b0f4c43..11bc0c6 100644
--- a/cmake/Modules/FindGnuradio-osmosdr.cmake
+++ b/cmake/Modules/FindGnuradio-osmosdr.cmake
@@ -3,8 +3,8 @@ PKG_CHECK_MODULES(PC_GNURADIO_OSMOSDR gnuradio-osmosdr)
FIND_PATH(
GNURADIO_OSMOSDR_INCLUDE_DIRS
- NAMES source.h
- HINTS $ENV{GNURADIO_OSMOSDR_DIR}/include/osmosdr
+ NAMES osmosdr/source.h
+ HINTS $ENV{GNURADIO_OSMOSDR_DIR}/include
${PC_GNURADIO_OSMOSDR_INCLUDEDIR}
${CMAKE_INSTALL_PREFIX}/include/osmosdr
PATHS /usr/local/include/osmosdr
--
2.13.5
---- cut here ----