[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