#rb none
#jira
#ROBOMERGE-SOURCE: CL 5240326 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5240327 by ben marsh in Main branch]
- This enables reporting of unresolved symbols within a single module. Full reporting (i.e. symbols missing from both library currently being linked and all other
libraries it is linking to) is not enabled, because it doesn't work with our circular (re)linking scheme. When full reporting is enabled, if module A links to module B
that links to module A again, then A's symbols referenced in B are reported as unresolved.
- Even with this, some modules cannot be solved at this moment, so this change introduces a setting to opt-out.
Initially there were 5 modules that needed this opt-out. I solved most of them (some by disabling, since they missed the necessary libs), and now there is only one left.
Even the last one is solvable (UE-70768), so it is tempting to remove this option. However, I anticipate that there will be moment when a new module addition
will be breaking CIS due to unresolved symbols, and there will be no immediate and easy way to disable that except for nixing the whole system. Also, licensees may have more.
#rb Ben.Marsh, Anthony.Bills, Brandon.Schaefer
#fyi Marcin.Undak, Michael.Sartain, Brandon.Schaefer
[CL 5237830 by Arciel Rekman in Dev-Editor branch]
- Brings over the necessary engine changes for embedding UE4 mobile as a dylib/so in native mobile app
- Various changes for facial animation, screen recording, others
- ARKit and ARCore plugins were removed, as deemed "not ready"
#rb many people
#ROBOMERGE-OWNER: josh.adams
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 5201138 via CL 5203024
[CL 5226277 by Josh Adams in Main branch]
The IMPLEMENT_MODULE macro now defines an empty function called IMPLEMENT_MODULE_{ModuleName}, to which we force a reference to via the linker command line. This behavior can be disabled on a per-module basis by setting bRequiresImplementModule = false from a .build.cs file.
#rb none
[CL 4827582 by Ben Marsh in Main branch]
* Engine modules are not built for program targets by default.
* Plugin modules that are whitelisted for the given program will be built by default, unless disabled via the PrecompileForTargets setting in the ModuleRules class.
* The same logic is used to determine plugin suitability for a target as the UEBuildTarget.AddPlugin() method.
#rb none
#rnx
[CL 4678478 by Ben Marsh in Dev-Build branch]