Sometimes it's useful to inject CMake variables into the source code such as in the case of printing the project versions and do conditional builds.
Click for more...