macro(recursive x) message("${x}") math(EXPR y "${x} + 1") recursive(${y}) endmacro() recursive(3)