discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gr-iqbal->gr-osmosdr->gqrx missing pkgconfig files break gr-3.8 buil


From: Sylvain Munaut
Subject: Re: gr-iqbal->gr-osmosdr->gqrx missing pkgconfig files break gr-3.8 builds
Date: Tue, 4 Feb 2020 08:45:03 +0100

> 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]