MACRO (mtest var) SET(varname "var") SET(argname "ARGV0") SET(varval "${var}") SET(argval "${ARGV0}") IF (var STREQUAL varval) MESSAGE("var OK") ENDIF () IF (var STREQUAL varname) MESSAGE("var FAIL") ENDIF () IF (ARGV0 STREQUAL argval) MESSAGE("ARGV OK") ENDIF () IF (ARGV0 STREQUAL argname) MESSAGE("ARGV FAIL") ENDIF () IF (argval STREQUAL varval) MESSAGE("set OK") ENDIF () ENDMACRO () FUNCTION (ftest var) SET(varname "var") SET(argname "ARGV0") SET(varval "${var}") SET(argval "${ARGV0}") IF (var STREQUAL varval) MESSAGE("var OK") ENDIF () IF (var STREQUAL varname) MESSAGE("var FAIL") ENDIF () IF (ARGV0 STREQUAL argval) MESSAGE("ARGV OK") ENDIF () IF (ARGV0 STREQUAL argname) MESSAGE("ARGV FAIL") ENDIF () IF (argval STREQUAL varval) MESSAGE("set OK") ENDIF () ENDFUNCTION () mtest("blah") ftest("blah")