- Allow for per-project override in a project's platform's config folder (this is merging with my other work on per-project SDKs and validation of multi-target builds)
- More versions will move over after this
#rb david.harvey
[CL 26150552 by josh adams in ue5-main branch]
Adding AssetRegistryCacheRootFolder commandline option support to the BuildCookFort command and the MakeCookedEditor command.
Adding the AssetRegistryCacheRootFolder to the ProfileCook, asset scan, and fast cook test to improve performance.
#preflight 63da959b3f006aee1191f2cd
[FYI] Bob.Tellez
[CL 23960951 by eric knapik in ue5-main branch]
- Creates the UnrealArchitectures class, which wraps a list of UnrealArch objects
- UnrealArch is a single architecture, expandable enum-like struct
- There is no more concept of "no/default architecture", there is always a valid active architecture when building
- Most uses of "string Architecture" are replaced with one of the two above, depending if multiple architectures are supported or not
- UnrealArch has some platform-extensions for platform-specific naming (like Linux adds in LinuxName that turns, for instance, Arm64 -> aarch64-unknown-linux-gnueabi, which is used in folder names, etc)
- UnrealArch has bIsX64 which can be used determine intel instruction set (as opposed to arm)
- TargetRules class has an "Architecture" accessor that will return a single architecture if the active architectures is a single architecture, or throw an exception if multiple. This is useful in a majority of the cases where a paltform can only have a single architecture active in TargetRules (microsoft platforms, for instance, will create separate targets when compiling multiple architectures at once)
- Added UnrealArchitectureConfig class, which contains all the architecture information for a platform (what architectures are supported, what ones are currently active for given project, etc)
#preflight 63c81fb5b065224750a1759e
#rb mike.fricker,roman.dzieciol,joe.kirchoff,dmytro.vovk,brandon.schaefer [various parts]
#p4v-preflight-copy 23562471
[CL 23829977 by josh adams in ue5-main branch]
Some of the editor UI text actually comes from the engine
#preflight 63bf29b5af3ebedd9998bb49
[FYI] Leon.Huang
#rnx
[CL 23658556 by jamie dale in ue5-main branch]
- Added a default implementation of GetCookPlatform, which allows BuildCookRun to run without needing any platform-specific automation DLLs (cook and staging can happen, but running/packaging would still need the platform automation dlls)
#rb graeme.thornton
#preflight 637d2ed8f514e1ded91d417b
[CL 23244387 by josh adams in ue5-main branch]
- It needs to have CookerSupportFilesSubdirectory passed in to BuildCookRun to activate (giving it the name of a subdirectory under the Staged directory to put the SDK files)
- it also writes a .bat file that can set the envvars needed for the minimal SDKs to be found by Unreal
#rb graeme.thornton
#preflight 634f1e9069246074dba2f09a
#p4v-cherrypick 22616289
[CL 22634717 by josh adams in ue5-main branch]
Only adjust the CookedEditor default staged dir if it's not already been overriden.
[FYI] Josh.Adams
#rb: Josh.Adams
#preflight
#ROBOMERGE-AUTHOR: eric.knapik
#ROBOMERGE-SOURCE: CL 21186791 via CL 21195237 via CL 21195428 via CL 21195504
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
[CL 21196929 by eric knapik in ue5-main branch]
Updating BuildCookFort and MakeCookedEditor to take an array of plugins for fast load.
Updated MakeCookedEditor to take override locations for the asset registry data as it will be in a different location than the Release folder when cooking locally.
This command will cook and pak the windows client, server and UEFN. Users will be able to modify this script to specify where the stage dir should be and if the Client, Server, UEFN should also be built as part of this.
#preflight 62d5dafddc4397d384e3b02c
#ROBOMERGE-AUTHOR: eric.knapik
#ROBOMERGE-SOURCE: CL 21155331 via CL 21157155 via CL 21159333 via CL 21164152
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
[CL 21182295 by eric knapik in ue5-main branch]
* Staged the wrong Dotnet directory when making CW from Windows (it would stage Dotnet/6.20.00/windows)
* The ScriptModule code that used the Automation.json files to discover the precompiled UAT script dlls didn't handle \'s on Linux in the paths, and since Windows wrote out the files, there are \'s aplenty. I fixed up the known issue, but possibly all paths loaded from the json files should be fixed up, but it's not easy to do automatically
* We moved to using RunUAT.sh instead of calling dotnet directly, however because we make the CW on Windows, dotnet was not executable, and the code in RunUAT.sh to find the dotnet executable and make it executable (chmod `which dotnet`) only works if dotnet is already executable! So, I moved the +x code into SetupDotnet.sh, on Linux and Mac
#rb eric.knapik
#preflight 62ccd2009922f7e512b6e51a
#ROBOMERGE-OWNER: josh.adams
#ROBOMERGE-AUTHOR: josh.adams
#ROBOMERGE-SOURCE: CL 21055451 via CL 21055464 via CL 21055478
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)
#ROBOMERGE-CONFLICT from-shelf
[CL 21076349 by josh adams in ue5-main branch]