Hi Clark

The expression inside the if statement has it's variables dereferenced
before evaluating and the non-variables are treated as constant
expressions.  In this case, a resolves to "b", b resolves to "c", and c is
not a variable so it's treated as the constant expression "c".  Thus

if(a STREQUAL b OR a STREQUAL c)

gets evaluated as

if( ("b" STREQUAL "c") OR ("b" STREQUAL "c") )

which is clearly false.  Hope that helps.

- Chuck
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to