Mike Talbot wrote: > Hi, > > I'm trying to work out how to test for an environment variable in an IF > command, the following doesn't work: > > SET(ENV{FOO} ON) > MESSAGE("FOO = $ENV{FOO}") # prints "FOO = ON" > IF(ENV{FOO}) > MESSAGE("FOO is set") > ENDIF(ENV{FOO}) > > Does anyone know what the right syntax for doing this is, please? > > Thanks, > Mike >
I can't tell you why because the syntax rules of CMake are still obscure to me but this works: SET(ENV{FOO} ON) MESSAGE(FOO = $ENV{FOO}) # prints "FOO = ON" SET( A $ENV{FOO} ) MESSAGE(A = ${A}) IF(A) MESSAGE("FOO is set") ELSE(A) MESSAGE("FOO is not set") ENDIF(A) EXECUTE_PROCESS( COMMAND bash -c 'echo EDITOR=$EDITOR' ) EXECUTE_PROCESS( COMMAND bash -c 'echo FOO=$FOO' ) _______________________________________________ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake