On Sat, Jan 29, 2022 at 12:23 PM Miro Hrončok <mhron...@redhat.com> wrote:
>
> On 27. 01. 22 4:59, Kevin Kofler via devel wrote:
> > Hi,
> >
> > when working on finally fixing Trojitá to build (it had been FTBFS since
> > F34, so removal was impending), I have noticed that the Akonadi contacts
> > plugin was not getting built because of missing transitive build
> > dependencies:
> > https://bugzilla.redhat.com/show_bug.cgi?id=2046299
> > https://bugzilla.redhat.com/show_bug.cgi?id=2046310
> > https://bugzilla.redhat.com/show_bug.cgi?id=2046574
> >
> > They all have in common that FooConfig.cmake wants the CMake package Bar,
> > but foo-devel does not Require bar-devel. So building against Foo does not
> > work out of the box, only when manually BRing also bar-devel.
> >
> > The thing is, we have had for a while AutoProvides scripts for CMake that
> > automatically let bar-devel Provide cmake(Bar). This is already used in many
> > places. What is missing, though, is corresponding AutoRequires, so that foo-
> > devel automatically Requires: cmake(Bar) if FooConfig.cmake requires Bar.
> >
> > Would it not make sense to add such an AutoRequires script?
>
> Yes!

Sure, but is this doable? CMakeLists.txt files are very complex and
border on a Turing-complete language.
Does cmake support passing in "-D foo" options and returning a list of
dependencies it wants for those options?
Because otherwise you'd be back to reimplementing a CMake file format
parser / interpreter just to get the list dependencies you need.

Fabio
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure

Reply via email to