Because &quot;WHATEVER&quot; is not empty...<br><br>I frequently use:<br>IF(&quot;${literal_string}&quot; STREQUAL &quot;&quot;)<br><br>or:<br>IF(NOT &quot;${literal_string}&quot; STREQUAL &quot;&quot;)<br><br>...to achieve this goal. It&#39;s verbose, but it works and doesn&#39;t take too much getting used to.
<br><br>HTH,<br>David<br><br><br><div><span class="gmail_quote">On 10/30/07, <b class="gmail_sendername">Brandon Van Every</b> &lt;<a href="mailto:bvanevery@gmail.com">bvanevery@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
IF(&quot;WHATEVER&quot;)<br>&nbsp;&nbsp;MESSAGE(&quot;WHATEVER string is true&quot;)<br>ELSE(&quot;WHATEVER&quot;)<br>&nbsp;&nbsp;MESSAGE(&quot;WHATEVER string is false&quot;)<br>ENDIF(&quot;WHATEVER&quot;)<br><br>C:\devel\src\cbugs\trueorfalse&gt;cmake -P 
trueorfalse.cmake<br>WHATEVER string is false<br><br>I would expect the literal string &quot;WHATEVER&quot; to evaluate to true.&nbsp;&nbsp;By<br>analogy to IF(variable) as per the docs.&nbsp;&nbsp;The practical application is<br>I&#39;m trying to sanity check an argument that&#39;s a literal string.
<br><br>MACRO(DOSOMETHING literal_string result)<br>&nbsp;&nbsp;IF(${literal_string})<br>&nbsp;&nbsp;&nbsp;&nbsp;SET(result &quot;valid&quot;)<br>&nbsp;&nbsp;ELSE(${literal_string})<br>&nbsp;&nbsp;&nbsp;&nbsp;MESSAGE(SEND_ERROR &quot;I don&#39;t like the input!&quot;)<br>&nbsp;&nbsp;ENDIF(${literal_string})
<br>ENDMACRO(DOSOMETHING)<br>DOSOMETHING(&quot;WHATEVER&quot; out)<br><br>C:\devel\src\cbugs\trueorfalse&gt;cmake -P trueorfalse.cmake<br>CMake Error: I don&#39;t like the input!<br><br><br>Cheers,<br>Brandon Van Every<br>
_______________________________________________<br>CMake mailing list<br><a href="mailto:CMake@cmake.org">CMake@cmake.org</a><br><a href="http://www.cmake.org/mailman/listinfo/cmake">http://www.cmake.org/mailman/listinfo/cmake
</a><br></blockquote></div><br>