On Dec 11, 2007 6:49 PM, Pau Garcia i Quiles <[EMAIL PROTECTED]> wrote:

> Quoting "Clark J. Wang" <[EMAIL PROTECTED]>:
>
> > 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.

If it's checking for special characters then I have to say that it's not the
right way. For example, if VARIABLE == "a/b" then the IF statement is still
TRUE.

>
>
> --
> Pau Garcia i Quiles
> http://www.elpauer.org
> (Due to my workload, I may need 10 days to answer)
>
> _______________________________________________
> CMake mailing list
> CMake@cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
>
_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to