[cmake-developers] [PATCH] remove "x" placeholder from STREQUAL operands
Rolf Eike Beer
eike at sf-mail.de
Sun Apr 13 03:37:16 EDT 2014
Am Sonntag, 13. April 2014, 07:05:27 schrieb Jiri Malak:
> Hi,
>
> I enclosed patch for removing placeholder "x" from STREQUAL operands.
> It does comparision transparent.
I very much would like to see that, but there is a problem: CMake may
interpret the operands of STREQUAL both as text and as variable name.
So this does what you expect for the moment:
if (${CMAKE_SYSTEM_NAME} STREQUAL Linux) ...
But now you will get into trouble:
set(Linux Windows)
Sadly the expression is even expanded when it is quoted as long as it is a
valid variable name. So what you could do is: replace the "x" by a simple
space and then quote the match string, because " Linux" is no valid variable
name. And the test for STREQUAL "x" can indeed be changed to STREQUAL "".
Eike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20140413/8a0567c2/attachment-0002.sig>
More information about the cmake-developers
mailing list