If that can help those interested in GQRX under GNURadio 3.8
(this worked for me under an Ubuntu 1.04 fresh install):
Without a .pc in gr-iqbal, gr-osmosdr (3.8 branch) will not build as it
can't find gr-iqbal.
I just had a look at gr-osmosdr-0.1.4.127-3.mga7.src.rpm and this is
not using the official code from the gr3.8 branch of
git.osmocom.org/gr-osmosdr
The code in that repo at absolutely no point will ever look for a pkg
config file.
In 3.8 the modules install 3 cmake specific files :
gnuradio-osmosdrConfig.cmake
gnuradio-osmosdrTargets.cmake
gnuradio-osmosdrTargets-release.cmake
and these contain all the informations needed by cmake to know which
libraries to link and which include directory the add to the include
path and any dependency on other cmake modules.
Theses are also automatically generated by cmake, without the need to
duplicate the information in another file.
If you look at CMakeList for iqbal for instance :
target_include_directories(gnuradio-iqbalance
PRIVATE ${LIBOSMODSP_SEL_INCLUDE_DIRS}
PUBLIC ${Boost_INCLUDE_DIRS}
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include>
PUBLIC $<INSTALL_INTERFACE:include>
)
the PRIVATE / PUBLIC / INTERFACE / ... are all specifiers for cmake to
generate those files properly and include everything needed
automatically.
If this doesn't work for you, either :
- You're not using the right source as pointed out above ...
- Something is broken in the gr-iqbal / gr-osmosdr CMake that makes
it not work properly ( wronge PRIVATE / PUBLIC specifier or something
omitted or something like this )
- Something else in your setup is broken that breaks cmake's module system
In anycase, none of this requires pkg-config files.
Cheers,
Sylvain