[cmake-developers] Remaining issues around umbrella Config files?

Alexander Neundorf neundorf at kde.org
Tue Jan 22 14:42:46 EST 2013


On Monday 21 January 2013, Stephen Kelly wrote:
> Stephen Kelly wrote:
> > Alexander Neundorf wrote:
> >> On Monday 21 January 2013, Stephen Kelly wrote:
> >>> I didn't closely follow the threads around this. Is there any other
> >>> behavior that I should account for here?
> >> 
> >> Seems ok.
> >> 
> >> Minor nitpick:
> >> I would probably prefer an error message which mentions component and
> >> the exact name of the expected config-file instead of the generic
> >> find_package() error message.
> > 
> > Sorry, I don't understand. Could you be more specific and write the error
> > you expect?
> > 
> >> Also, since in the patch you only have
> >> find_package() check in ${_qt5_install_prefix}, I think the error
> >> message should mention where it expects this file exactly.
> > 
> > Generically, it could be in one of (for example):
> >  ${_qt5_install_prefix}/Qt5QuickConfig.cmake
> >  ${_qt5_install_prefix}/Qt5Quick/Qt5QuickConfig.cmake
> >  ${_qt5_install_prefix}/lib/cmake/Qt5Quick/Qt5QuickConfig.cmake
> >  // etc
> > 
> > so, in the general case for umbrella config files, the prefix is the best
> > we can put in the error message (and I already do, in the patch).
> > 
> > I was thinking though that as Qt puts all cmake files in
> > 
> >  ${_qt5_install_prefix}/lib/cmake/<name>
> > 
> > that I could put that in the error message. Is that what you meant too?
> 
> I've now updated the patch to generate this in the case of not-found non-
> optional components:
> 
>   Failed to find Qt5 component "Qml" config file at
>   "/home/stephen/dev/prefix/qtbase/lib/cmake/Qt5Qml/Qt5QmlConfig.cmake"


yes, much better IMO :-)

> I notice there does not seem to be any way to warn about why missing
> optional components are missing. Is that a missing feature? I mean, when I
> do this:
> 
>  find_package(Qt5 COMPONENTS Qml)
> 
> Qt5 is not found, and the warning is printed. However, with:
> 
>  find_package(Qt5 OPTIONAL_COMPONENTS Qml)
> 
> Qt5 *is* found, and no warning can be printed.

I think in the "umbrella" config file you can still print something if you 
want to, can't you ?

Alex



More information about the cmake-developers mailing list