On Fri, Jul 19, 2013 at 8:29 PM, Alan W. Irwin <ir...@beluga.phys.uvic.ca>wrote:

> On 2013-07-19 12:35-0400 Matthew Woehlke wrote:
>
>  On 2013-07-19 10:36, Nicolas Desprès wrote:
>>
>>> In Unix shell we can do that:
>>> $ VAR=foo cmd in out
>>>
>>> This way the environment variable is only set in the environment of the
>>> process of the command and not the in current shell like when using the
>>> "export" built-in.
>>>
>>> I would like to be able to do the same for a custom command in CMake.
>>> Ideally I was looking for something like that:
>>>
>>> add_custom_command(
>>>    OUTPUT out
>>>    COMMAND cmd in out
>>>    DEPENDS in
>>>    ENVIRONMENT VAR foo
>>>    )
>>>
>>> Any idea?
>>>
>>
>> Well, if you only care about UNIX you can always use /bin/env :-).
>>
>
> Actually, using env is not that platform-limiting since it is
> available with MSYS.  For those not aware of the env capabilities a
> simple example (setting the PATH in various ways to run different
> cmake varsions) is
>
> COMMAND ${ENV_EXECUTABLE} PATH=<whatever> ${CMAKE_COMMAND} --version
>
> where ENV_EXECUTABLE is the result of "find_program(ENV_EXECUTABLE
> env)".  Also note that env can be used to set multiple environment
> variables for a particular command.
>
> I use env a lot for the custom commands in the build_projects project.
> I have found it works fine (with some care) for a number of different
> generators/platforms, e.g., "Unix Makefiles" on Linux, "Ninja" (both
> on Linux and for MinGW/MSYS/Windows), "MSYS Makefiles", "MinGW
> Makefiles", and "NMake Makefiles Jom".
>
>
That's greate. I did not think about it. Actually, like many developpers I
guess, I use env only the she-bang line of my script or to print the
environment.

Thanks!

-- 
Nicolas Desprès
--

Powered by www.kitware.com

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

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

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

Reply via email to