This makes it possible to build UAT with these references without having to run UBT first. Thus also fixes net core building of the project.
This adds about 5 seconds to the build time of automation tool but eliminates the need to run UBT and should avoid the need to implement -compile in UAT (in the end saving more then these 5 seconds)
This essentially does the same as UBT did before, create a .reference file on disk that can then be read by msbuild, it just does this in msbuild as well so we have fewer components involved.
#rb ben.marsh
[CL 14640899 by Joakim Lindqvist in ue5-main branch]
* Fixed all includes of OpenEXR in the engine and plugins
* Will allow building other middlewares that rely on OpenEXR without hassle (ex: OpenVDB)
* Created build scripts (Windows only for now)
* Replicated a few UE specific changes that were made under Deploy/OpenEXR-2.3.0 to the source, so that a rebuild of the lib will not erase them
#rb jeanfrancois.dube, anousack.kitisa
[CL 14613618 by Sebastien Lussier in ue5-main branch]
Added a NET_CORE define to allow us to have changes side by side.
The AWS S3 changes are required due to us requiring to upgrade the S3 assembly version to get net core support (which made all methods async).
The ACL checks for files are not available in the system libraries of net core, as such the api is a bit different.
AutomationToolLauncher now just spawns a subprocess when used in netcore, as netcore does not support custom AppDomains and shadow copying. We will generally need to revisit this for netcore as this whole feature of building the source for UAT in UAT is not really possible.
To enable this set environment variable "UE_USE_DOTNET=1", note that with netcore all applications change their output path so this will likely break a bit of tooling when enabled.
#rb ben.marsh
[CL 14572339 by Joakim Lindqvist in ue5-main branch]
* Added support for more complex Msbuild conditions (using static property methods) as we use this to do per platform checks in the csprojs.
* Tweaks to the parsing of csprojs as expecations are different for netcore (mostly for how configurations are defined)
* Lastly if -dotnetcore flag is present when generating projects, use the netcore project files instead.
#rb ben.marsh
[CL 14572331 by Joakim Lindqvist in ue5-main branch]
This because we do not need this added dependency and it is not available by default in net core.
#rb ben.marsh
[CL 14572295 by Joakim Lindqvist in ue5-main branch]
While these were present no csproj actually referenced them and built them, thus these files do not actually compile.
#rb none
[CL 14532228 by Joakim Lindqvist in ue5-main branch]
#jira FORT-321990
#ue4
#android
#rb Brandon.Schaefer
#ushell-cherrypick of 14518496 by chris.babcock
[CL 14518566 by Andrew Davidson in ue5-main branch]