The official document of CMake 2.8.12 says about macro
When it is invoked, the commands recorded in the macro are first modified by rep
The cmake documentation you quoted is so misleading that it's basically wrong. It should be clarified/fixed like this:
cmake --trace-expand
shows exactly what happens.
The cmake 3.13.3 doc hasn't changed compared to 2.8.12 with respect to this.