[CMake] What does this mean: IF("${VARIABLE}" MATCHES
	"^${VARIABLE}$")
    Pau Garcia i Quiles 
    pgquiles at elpauer.org
       
    Tue Dec 11 05:49:24 EST 2007
    
    
  
Quoting "Clark J. Wang" <dearvoid at gmail.com>:
> The header of many CMake modules often looks like this (take
> CheckIncludeFile as an example):
>
> MACRO(CHECK_INCLUDE_FILE INCLUDE VARIABLE)
>   IF("${VARIABLE}" MATCHES "^${VARIABLE}$")
>   ... ...
>
> The IF statement really puzzles me a lot. What is it used to do?
>
In strings it would mean "if this string is exactly equal to". The  
caret (^) represents string beginning and the $ represents string end.
Why is IF("${VARIABLE}" MATCHES "^${VARIABLE}$") used instead of IF(  
${VARIABLE} STREQUAL ${VARIABLE} ) (which would always return true)?  
I'm not sure of use case but I'd say it's checking for special  
characters in VARIABLE.
-- 
Pau Garcia i Quiles
http://www.elpauer.org
(Due to my workload, I may need 10 days to answer)
    
    
More information about the CMake
mailing list