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.

--
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

Reply via email to