[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