[CMake] Bug in CMake documentation?
    Esben Mose Hansen 
    kde at mosehansen.dk
       
    Sun May  9 06:01:30 EDT 2010
    
    
  
On Sunday 09 May 2010 11:12:54 Esben Mose Hansen wrote:
> I quote from the documentation (2.8)
> 
> >   if(<constant>)
> > 
> >
> > True if the constant is 1, ON, YES, TRUE, Y, or a non-zero number. False
> > if the constant is 0, OFF, NO, FALSE, N, IGNORE, "", or ends in the
> > suffix '-NOTFOUND'. Named boolean constants are case-insensitive.
> 
> So what is the value of say "/home/esben/kde/lib/mylibrary.so"?
> Experimental  test and common sense say true, but the documentation
> doesn't say so. Wouldn't the correct documentation be
> 
>   if(<constant>)
> False if the constant is 0, OFF, NO, FALSE, N, IGNORE, "", or ends in the 
> suffix '-NOTFOUND'. Named boolean constants are case-insensitive. IF the 
> constant has any other value, it is true.
> 
> Right?
Wrong. I made some experiments, and as far as I have been able to determine, 
anything not on the true list (1 being there twice?!) is actually false, 
including non-zero numbers with space appended (but not prefixed) That means 
that the -NOTFOUND suffix is actually quite useless, except perhaps that it 
has a greater chance of being false in the future, too. So true constants 
include
"ON"
"on"
"On"
" 32"
and false constant include
"32 "
"Off"
" ON"
"ON "
"0"
"/usr/lib/libmylib.so"
Very interesting.
-- 
Kind regards, Esben
    
    
More information about the CMake
mailing list