[cmake-developers] Exporting dependent library targets in multiple export sets
Alexander Neundorf
neundorf at kde.org
Mon Sep 17 15:52:45 EDT 2012
On Monday 17 September 2012, Brad King wrote:
> On 09/17/2012 03:35 PM, Alexander Neundorf wrote:
> > Let's say FooTargets.cmake provides the target foo.
> >
> > BarTargets.cmake provides the target bar, and requires FooTargets.cmake.
> >
> > Now if the user installed the bar-devel package, but not the foo-devel
> > package, the target foo will not be available.
> > This can or should be checked also outside maybe in the BarConfig.cmake
> > cmake, which could load BarTargets.cmake only if Foo could be found, but
> > still I think it's not necessary to abort in this error case.
>
> What would you do instead of aborting? Silently pretend the package
> Bar was not found at the current Bar_DIR and move on with the search?
> That would require the sandboxing I previously elaborated. It would
> also be confusing to users IMO because the package they know is in
> their search path would be skipped for a mysterious reason.
Isn't e.g. FindPNG.cmake doing just the same ?
If zlib wasn't found, fail at finding png.
Here we are again at generating error messages...
Instead of simply stating that a required target does not exist, it could also
state from which installed export this is expected to come, e.g.
FooTargets.cmake.
Alex
More information about the cmake-developers
mailing list