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]