Eclipse: Skip generator expressions in COMPILE_DEFINITIONS (#14722)

This is a hot-fix for the bug. It seems like a good idea to generally
reform the generator to care about targets instead of directories,
but this patch at least makes the reported error go away.
graphviz: allow to disable per target graphs (#14746)

In CMakeGraphVizOptions.cmake, allow the options GRAPHVIZ_GENERATE_PER_TARGET
and GRAPHVIZ_GENERATE_DEPENDERS to enable the generation of per target graphs
and subgraphs respectively. Both options are TRUE per default to maintain
current behavior.
Help: Change version 3.0.0 -> 3.0 in policy docs

Starting with 3.0 we will use only two components for the feature level,
and policies are only ever introduced with a bump to the feature level
version.
cmStandardIncludes: Include cmIML/INT.h for portable integer types

Also teach the bootstrap script to configure the needed headers.
cmVersion: Fix CMake_VERSION_ENCODE for date in patch level

Use a uint64_t to store encoded version numbers so we have plenty of
bits available.  Encode with room for up to 1000 minor releases between
major releases and to encode dates until the year 10000 in the patch
level.  This is necessary because CMake development versions prior to
release 2.8.0 used the date in the patch level, and this practice may be
restored after the 3.0 release.
Export: Fix internal CMake version test logic

Fix the internal DEVEL_CMAKE_VERSION macro to use CMake_VERSION_ENCODE
to compare version component-wise.  Otherwise an old invocation of the
macro may be tricked into using the current version when the requested
major version is smaller than the current version but the requested
minor version is larger.  It should use the requested (old) version in
that case.
Merge topic 'doc-policy-version-3.0'

aab11bca Help: Change version 3.0.0 -> 3.0 in policy docs
CMake Nightly Date Stamp
cmTarget: Remove TODO comment.

The current behavior is desirable because while it is common to
set a per-config suffix on libraries, it is not common for exexutables.
Help: Add CMake 3.0 Release Notes

Manually read through version control history since the 2.8.12.2
release and write release notes for important user-facing changes.

Co-Author: Stephen Kelly <steveire@gmail.com>
Merge topic 'graphviz-one-file'

18bef4cd graphviz: allow to disable per target graphs (#14746)
Merge topic 'eclipse-hotfix'

311c0b98 Eclipse: Skip generator expressions in COMPILE_DEFINITIONS (#14722)
Merge topic 'backward-compatibility'

37e1894d cmTarget: Remove TODO comment.
Merge topic 'release-notes-3.0'

10f90d64 Help: Add CMake 3.0 Release Notes
Merge topic 'cmake-devel-version-macro'

9bcc1b21 Export: Fix internal CMake version test logic
d2059d25 cmVersion: Fix CMake_VERSION_ENCODE for date in patch level
28805109 cmStandardIncludes: Include cmIML/INT.h for portable integer types
stringapi: Pass strings as install directories in CPack
tests: Add variable expansion tests

There are some corner cases in variable expansion which would be nice to
capture before going and rewriting the variable expansion code.
EVIS: Reimplement using custom parsing code

Testing the configure (no generate) step with ParaView shows ~20%
performance improvement (~47s -> ~39s on my machine).

In terms of complete configure/generate steps, further testing with
ParaView shows a 20% performance improvement over 2.8.12.2 with Unix
Makefiles and minimal with Ninja. Ninja is less because it generate step
is the expensive part (future work will address this) by a long shot and
these changes help the configure step for the most part.
ExpandListArguments: Optimize the parser

Optimize cmSystemTools::ExpandListArguments so as not to build a string
character-by-character. This avoids excess reallocations of the result
string.
cmCommandArgument*: Remove!

Gone! Today is a happy day :) .