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".

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________
--

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