- Fixed small game-specific plugins always using non-unity and getting a unique PCH
- You can now override the default behavior of UBT which compiles small game modules for "fast iteration"
- Many small game modules have a low frequency of iteration, and never need a unique PCH or non-unity enabled
- You can use the following module-specific variables to override the default behavior:
MinSourceFilesForUnityBuildOverride = 1;
MinFilesUsingPrecompiledHeaderOverride = BuildConfiguration.MinFilesUsingPrecompiledHeader;
[CL 2648185 by Mike Fricker in Main branch]
* 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]