<div dir="ltr">Thank you all for your suggestion. I will go with the script shell wrapper trick even if I am not a big fan of it. I don&#39;t like the burden of generating a wrapper just to set environment variable. Luckily CMake will provides such a feature in the future.<div>

<br></div><div>Cheers,</div><div>Nico<div class="gmail_extra"><br><div class="gmail_quote">On Fri, Jul 19, 2013 at 5:39 PM, Dan Kegel <span dir="ltr">&lt;<a href="mailto:dank@kegel.com" target="_blank">dank@kegel.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Fri, Jul 19, 2013 at 8:21 AM, Andreas Pakulat &lt;<a href="mailto:apaku@gmx.de">apaku@gmx.de</a>&gt; wrote:<br>


&gt;&gt; In Unix shell we can do that:<br>
&gt;&gt; $ VAR=foo cmd in out<br>
</div><div class="im">&gt;&gt; I would like to be able to do the same for a custom command in CMake.<br>
<br>
</div>See <a href="http://public.kitware.com/Bug/view.php?id=5145" target="_blank">http://public.kitware.com/Bug/view.php?id=5145</a><br>
for previous discussion.<br>
<div class="im"><br>
&gt;&gt; add_custom_command(<br>
&gt;&gt;   OUTPUT out<br>
&gt;&gt;   COMMAND cmd in out<br>
&gt;&gt;   DEPENDS in<br>
&gt;&gt;   ENVIRONMENT VAR foo<br>
&gt;&gt;   )<br>
&gt;<br>
</div>&gt; I can see two options to achieve this: ...<br>
<div class="im">&gt; b) let cmake generate a shell script (using configure_file) and set the<br>
&gt; envvar in there, it would also contain the command executable and pass on<br>
&gt; any arguments using $@. Then use the script as custom command instead of the<br>
&gt; real command.<br>
<br>
</div>c) On Mac and Linux, you can do it inline something like this:<br>
<br>
 add_custom_command(<br>
   OUTPUT out<br>
   COMMAND &quot;FOO=${bar}&quot; my_cmd.sh&quot;<br>
   DEPENDS in<br>
   )<br>
<br>
On Windows, you might be able to do it inline like this:<br>
<br>
 add_custom_command(<br>
   OUTPUT out<br>
   COMMAND &quot;set FOO=${bar}&quot; &amp; my_cmd.bat&quot;<br>
   DEPENDS in<br>
   )<br>
<br>
(although I haven&#39;t tried it, so in both cases you might need to<br>
coax cmake into using a shell by prefixing the command with sh -c<br>
or cmd /c or something.)<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Nicolas Desprès<br>
</div></div></div>