There are 10 difficult problems in computer science:

 * Naming things
 * Cache invalidation
 * Off-by-one errors

And this feature has them all.
Merge topic 'minor-fixes' into next

c850527 There are 10 difficult problems in computer science:
Ensure that the build interface includes have been added.

This is needed in the case that Automoc is used, as that calls
GetIncludeDirectories, which may cache the resulting include dirs
too early in the generate step.

Also, because the automoc step is so early, we can't cache the
include directories at that point. At that point the build interface
of all dependencies are not populated yet, so we'd be caching the
includes before appending the build interface. Only start caching
when we're definitely generating the buildsystem. At that point, the
includes should be stable.

We still need to invoke AppendBuildInterfaceIncludes
in the GlobalGenerator because the build interface includes affect
mostly the dependencies of targets (such as the automoc targets),
rather than the targets themselves, so the build interface needs
to be appended for all targets before generation is done.
Merge topic 'minor-fixes' into next

1f17a9f Ensure that the build interface includes have been added.