&nbsp;Hello, I&#39;m testing the new FUNCTION command. In documentation says it&#39;s the same as a MACRO but local variables are deleted at exit.<br>Because of this, I want to port all my macros to functions, but it doesn&#39;t changes parent variables. Check the following example:<br>
<br><font face="Courier New, Courier, monospace">FUNCTION(MYTEST VAR1 VAR2 OUTPUTVAR)<br>&nbsp;&nbsp;&nbsp; MESSAGE(STATUS &quot;OUTPUTVAR = ${OUTPUTVAR}&quot;)<br>&nbsp;&nbsp;&nbsp; SET(${OUTPUTVAR} &quot;Values var1 = ${VAR1} var2 = ${VAR2}&quot;)<br>
&nbsp;&nbsp;&nbsp; MESSAGE(STATUS &quot;${OUTPUTVAR}: ${${OUTPUTVAR}}&quot;)<br>ENDFUNCTION(MYTEST)<br><br>MESSAGE(STATUS &quot;Test functions&quot;)<br><br>MYTEST(&quot;Hello&quot; &quot;World&quot; MYMSG)<br>MESSAGE(STATUS ${MYMSG})<br>
<br>MYTEST(&quot;1&quot; &quot;2&quot; MYMSG)<br>MESSAGE(STATUS ${MYMSG})<br><br>MYTEST(&quot;3&quot; &quot;4&quot; MYMSG)<br>MESSAGE(STATUS ${MYMSG})</font><br><br>The output of executing this (with &quot;cmake -P MyTest.cmake&quot;) it&#39;s the following:<br>
<font face="Verdana">-- Test functions<br>-- OUTPUTVAR = MYMSG<br>-- MYMSG: Values var1 = Hello var2 = World<br>--<br>-- OUTPUTVAR = MYMSG<br>-- MYMSG: Values var1 = 1 var2 = 2<br>--<br>-- OUTPUTVAR = MYMSG<br>-- MYMSG: Values var1 = 3 var2 = 4<br>
--</font><br><br>Why MYTEST function doesn&#39;t changes the parent variable MYMSG?<br>Do I need to FORCE it?<br><br>Thanks.<br><br>(Sorry for my english :P)