Is it not possible to call a variable macroname from within a macro? MACRO(INDIRECT_MACRO MACRONAME LIST) FOREACH(L ${LIST}) ${MACRONAME}(${L}) ENDFOREACH(L) ENDMACRO(INDIRECT_MACRO) INDIRECT_MACRO(MESSAGE ONE TWO THREE) Joe