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