This allows running the editor without having to run UBT to determine all the available targets for a project.
#preflight none
[CL 24461562 by Ben Marsh 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]
Source code indexing allows Visual Studio to automatically fetch the right source code files from Perforce when debugging builds/crashdumps.
Previously, we had this functionality available only on Windows in the form of SrcSrv build task (build graph). This task takes generated pdbs and embeds information about the source code used into them. However, this functionality doesn't translate well into similar features on other platforms.
Resolved by extending SymStore task to handle source indexing in additional to uploading symbols to the symbol store. SrcSrv remains functional, but it still works only on Windows. For this reason, SymStore becomes the preferred solution as it's more general.
Fixed a few additional problems, both in the task itself and our game's build graph.
#preflight 63727a48ee4d25f90ace140b
#rb Robert.Millar
#jira UE-70463
[CL 23123619 by Wojciech Krywult in ue5-main branch]
Allows for using alternative but compatible Docker implementations.
#rb Ben.Marsh
#jira none
#preflight none
[CL 22332338 by carl bystrom in ue5-main branch]
Turns on automatically if CommandUtils.IsBuildMachine is true or the CompileTask sets AllowAllCores to true
#rnx
#jira none
#rb none
#preflight 633b3aaf3629a1a4f92f3ef1
[CL 22323425 by ryan hummer in ue5-main branch]
Extended ParamHelp attribute for BuildCommand to better describe the metadata of parameters for UAT scripts.
Update BuildGraph with ParamHelp attributes.
#rb: Eric.Knapik
#preflight: 6303e331c00af5e294fbb7e9
[CL 21525146 by gary yuan in ue5-main branch]