Perform dependency calculation in parallel, and overlap with array sorting. Reduces function runtime on my machine by 0.5 seconds for UnrealEditor target.
#jira none
#rb tim.smith
#ROBOMERGE-SOURCE: CL 17153366 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)
[CL 17153373 by jonathan adamczewski in ue5-release-engine-test branch]
Support "Internal" include directory that will only be added to a Referencing module if the referenced module has the same scope. Intent is to to "hide" APIs from external modules that do not need to include headers that are intended for internal module use only.
#jira UE-112188
#rb Ben.Marsh
#preflight 610085314cd79300016e7269
#ROBOMERGE-SOURCE: CL 16976401 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)
[CL 16976411 by joe kirchoff in ue5-release-engine-test branch]
From UDN 00331538, record PublicPreBuildLibraries in PublicLibraries, not PublicSystemLibraries.
#rb ben.marsh
#jira none
#preflight 60d3a3d73b6163000129ac28
#ROBOMERGE-SOURCE: CL 16764406 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)
[CL 16764431 by jonathan adamczewski in ue5-release-engine-test branch]
RootDirectory, EngineDirectory, UnrealBuildToolPath are now found in BuildUtilities' UnrealBuild namesapce.
The way these are computed has changed. Previously, it was assumed that the application is UnrealBuildTool, and paths were constructed relative to that assembly.
Now, the assumption is that the process is located under a "Engine/Build/DotNET" sub-path and paths are constructed relative to that.
#jira none
#ROBOMERGE-SOURCE: CL 16607440 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)
[CL 16607455 by jonathan adamczewski in ue5-release-engine-test branch]
Requires Visual Studio 2019 15.8 Preview 3, and targets to specify bEnableCppModules = true. Unsupported on other compilers.
Notes:
- Module interfaces need to be placed in .IXX files.
- Module/module dependencies are determined by a post-makefile/pre-build scan of all module interfaces using the compiler, and cause additional prerequisites to be inserted into the dependency graph before execution.
- Available module IFC search paths use normal UE module dependency rules.
- Header units are not currently supported.
- Regular C++ files cannot currently implement functions defined in module interfaces, due to the macros force included by UBT. These macros need to be placed in the global module fragment, but declaring a global module fragment must be done from the translation unit being compiled (making force-included headers invalid).
#rb none
[CL 14354539 by Ben Marsh in ue5-main branch]
#rb Ben.Marsh
#ROBOMERGE-OWNER: james.hopkin
#ROBOMERGE-AUTHOR: james.hopkin
#ROBOMERGE-SOURCE: CL 12779149 via CL 12779152 via CL 12779160
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)
[CL 12782243 by James Hopkin in Main branch]
#rb ben.marsh
#ROBOMERGE-SOURCE: CL 12754541 via CL 12754548 via CL 12754551
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v678-12743200)
[CL 12754556 by josh adams in Main branch]
#rb david.harvey
#jira UE-85318
#rnx
#ROBOMERGE-SOURCE: CL 12498390 in //UE4/Release-4.25/... via CL 12498411 via CL 12498434
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)
[CL 12498451 by jeff newquist in Main branch]
#JIRA: None
#rnx
[FYI] Michael.Kirzinger
#ROBOMERGE-OWNER: tony.wong
#ROBOMERGE-AUTHOR: tony.wong
#ROBOMERGE-SOURCE: CL 12249526 via CL 12249529 via CL 12250581
#ROBOMERGE-BOT: (v668-12245121)
[CL 12250582 by tony wong in Main branch]
#jira
#rb none
#rnx
#ROBOMERGE-SOURCE: CL 12223682 in //UE4/Release-4.25/... via CL 12223688
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v663-12210973)
[CL 12223696 by ben marsh in Main branch]
#rb CopyUp
#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: ryan.vance
#ROBOMERGE-SOURCE: CL 12149088 via CL 12150247
#ROBOMERGE-BOT: (v659-12123632)
[CL 12150618 by ryan vance in Main branch]
#rb none
#jira
#ROBOMERGE-SOURCE: CL 12038895 in //UE4/Release-4.25/... via CL 12038911
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v657-12064184)
[CL 12076066 by ben marsh in Main branch]
#rb none
#jira UE-85511
#ROBOMERGE-SOURCE: CL 11592169 in //UE4/Release-4.25/... via CL 11592173
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v654-11333218)
[CL 11592176 by ben marsh in Main branch]
Also add support for using Visual Studio DTE type libraries from AutoSDK, to fix accessor not working in installed builds built from licensee workspaces.
#jira UE-88791, UE-89124, UE-89162
#rb none
#ROBOMERGE-SOURCE: CL 11590477 in //UE4/Release-4.25/... via CL 11590479
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v654-11333218)
[CL 11590486 by ben marsh in Main branch]