[CMake] cache variable prevents FIND_LIBRARY to be called again :/

Bill Hoffman bill.hoffman at kitware.com
Fri Nov 3 14:26:05 EST 2006

Alan W. Irwin wrote:
> On 2006-11-01 16:39-0500 Tristan Carel wrote:
>> On 11/1/06, Tristan Carel <tristan.carel at gmail.com> wrote:
>>> On 11/1/06, Brad King <brad.king at kitware.com> wrote:
>>> > SET(MYLIB)
>>> It doesn't seem to work, the cache value is not updated.
>> Ok it works if I set
>> which is logic!
>> Thanks to Brad & Alan
> Brad, would it be easier to treat all FALSE values the same way (as you
> assumed above)?
> What I mean by FALSE is the same things the IF(NOT variable) considers to
> be TRUE.  According to the documentation that is
> "IF(NOT variable)
>        True if the variable's value is empty, 0, N, NO, OFF, FALSE, 
>        or <variable>-NOTFOUND."
> As you found out, it can be confusing if FIND_XXX makes distinctions 
> between
> these various kinds of FALSE values.  Whatever the final decision on this
> issue, please make sure the documentation reflects that decision.

The NOTFOUND has to remain special for the FIND_XXX.   It is in the 
current CVS docs for
the command.   The reason is you may want to set the variable to a FALSE 
value that will stop the
FIND_XXX from looking for some reason.   For example, I am running a 
dashboard and I know there
is a bad version of some software on that machine, and for some reason I 
can not fix that software.
I can preload the cache with the variable set to FALSE, and this will 
keep the FIND_XXX stuff from
finding the bad software on the machine when cmake is run.


More information about the CMake mailing list