[CMake] How to test environment variable in IF command
Philippe Fremy
phil at freehackers.org
Thu Jul 19 09:03:02 EDT 2007
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' )
More information about the CMake
mailing list