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