On Monday 18 February 2013, Brad King wrote:
> On 02/18/2013 04:52 PM, Stephen Kelly wrote:
> > Anyway, I don't agree with your conclusion, but I guess Brad gets the
> > casting vote of doing nothing or not. I understand your position and you
> > understand mine I'm sure. All that's needed is to decide :).
> 
> One thing that has always bothered me about FPHSA is that modules
> using it have no mention of a _FOUND variable in the call to it.
> It is just magically set under the hood.  A module author needs
> to read FPHSA docs to know what _FOUND variable will be set.

well, it's more or less the main purpose of FPHSA to set the _FOUND variable, 
and handle the options (REQUIRED, QUIET, versions) consistently for all Find-
modules which use it.
 
> OTOH we already pass <pkg>_INCLUDE_DIR, <pkg>_LIBRARY, and other
> <pkg>_ variables to FPHSA:
> 
>  FPHSA(Foo DEFAULT_MSG FOO_INCLUDE_DIR FOO_LIBRARY)
> 
> so that it can check if everything is found.  Why not also pass
> in the name of the _FOUND variable e.g.
> 
>  FPHSA(Foo DEFAULT_MSG FOO_INCLUDE_DIR FOO_LIBRARY
>        FOUND_VAR Foo_FOUND)
> 
> ?  Then it is clear when reading the call site what the _FOUND
> variable is called.  It also makes it clearer when reading the
> module when _FOUND is set.

I agree with this, OTOH the maintainer could now write

# copy'n paste error ?
FPHSA(Foo DEFAULT_MSG FOO_INCLUDE_DIR FOO_LIBRARY  FOUND_VAR Bar_FOUND)

# typo ?
FPHSA(Foo DEFAULT_MSG FOO_INCLUDE_DIR FOO_LIBRARY  FOUND_VAR foop_FOUND)


which bypasses the effect of consistent naming of the _FOUND variable.
This would not be the case with an option USE_EXACT_CASE or something similar.

Well, FPHSA could error out if FOUND_VAR does not equal PackageName_FOUND or 
PACKAGENAME_FOUND, but this would be somewhat strange.

Alex
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to