* Modules that use #import (DatabaseSupport & VisualStudioSourceCodeAccessor) are forced to be built locally due to SN-DBS limitation . These are very small modules so have a minimal impact on build time.
#codereview Mike.Fricker
[CL 2610243 by Lee Clark in Main branch]
CaselessDictionary made serializable.
New FileContentsCacheType for enabling simple lookup and caching of file contents.
Fix for module references differing in case from module definitions e.g. Http and HTTP.
Some general refactoring.
#codereview robert.manuszewski
[CL 2581357 by Steve Robb in Main branch]
UEBuildModule stores its .Module.cs filename.
UEBuildTarget stores a map of dictionaries from module names to .Target.cs files.
Timestamps of serialized .Target.cs and .Module.cs files compared against makefile and used for invalidation.
More sensible Dictionary logic in ConditionallyCompileAndLoadRulesAssembly.
InstantiateModule can no longer return a null.
UEBuildModule constructors no longer default.
#codereview robert.manuszewski
[CL 2543446 by Steve Robb in Main branch]
* Shared PCHs were disabled for static libraries in monolithic builds -> now disabled for static libraries in all builds
* Modules could not use their own shared PCH in non-monolithic builds due to exports -> now disabled if their binary has exports
#codereview Mike.Fricker
[CL 2508390 by Ben Marsh in Main branch]
Introduce versioning system to GENERATED_*BODY macros
Search for existing functions using case sensitive and whole word match.
Move checks for existing of *_Validate and *_Implementation functions to *generated.cpp to allow changing that code in hotfixes.
#codereview Robert.Manuszewski
[CL 2508131 by Mikolaj Sieluzycki in Main branch]
Changed Module Manager so that it adds restricted directories to modified PATH if they exist, removed unnecessary recursive use of FindModulePathsInDirectory
Updated setup of any projects that were flagged up using this system
Added old locations of restricted output to junk manifest
Added Util function to get min/max of IComparable types (used for enums)
[CL 2493565 by Matthew Griffin in Main branch]
* Import libraries are added to the build manifest whenever precompiling modules
* UHT now just generates headers to the project directory, and headers aren't included in the engine distribution. UHT was generating them anyway, just not writing them.
* Plugins binaries now just use UE4Game prefix in Rocket (since that's where they're built from), rather than using a special name.
* Platform-specific plugins are not explicitly excluded from builds - will be stripped out by directory instead
* XMPP is not manually excluded from Rocket builds.
* Removed BuildingRocket() function.
[CL 2487163 by Ben Marsh in Main branch]