macro

Unlike function command the macro command doesn’t create scope so it does modify variables from scope where it called.

Note

CMake documentation