In cmVersionConfig.h we must define this macro with a value because
clients expect it to have one. Also ensure that all CMakeLists.txt
code paths have an initialized value.
Reported-by: Stephen Kelly <steveire@gmail.com>
The matches have already been calculated and can simply be taken from
CMAKE_MATCH_n variables. This avoids multiple compilations of the same or very
similar regular expressions.
For builds from Git repositories, add "-g<commit>" to the end of the
version number. If the source tree is modified, append "-dirty".
For builds from CVS checkouts, add "-cvs-<branch>".