This prevents myriad -TargetType=Editor invocations of UBT from suddenly becoming ambiguous as we introduce a new pseudo-Editor target.
#jira UE-214748
#rb Joe.Kirchoff
[CL 34657431 by zach brockway in ue5-main branch]
- Added ability to optionally skip SDK validation when making a Target instance even if we don't want to skip Target validation (used when we make the base UnrealEditor target to compare to project's Editor target - we don't need to manage SDK for that temporary UnrealEditor target).
- ShaderCompileWorker is now BuildEnvironment.UniqueIfNeeded, which will build into the project binaries dir if needed (based on per-project SDK override)
- UnrealPak is marked as not caring about an SDK versions so it can be built along with SCW that does care
- Added $(BinaryDir) variable to UEBuildTarget, etc, for the location of the first Binary in the output binaries
#rb David.Harvey, Joe.Kirchoff
[CL 31661939 by josh adams in ue5-main branch]
* Change (most) fields to properties
* Naming rule fixes for local variables
* Remove unnecessary default values
* Move ReadOnlyTargetRules to new file
* Remove RequiresUniqueBuildEnvironment from obsolete properties
* Document formatting
#rnx
[CL 30415265 by joe kirchoff in ue5-main branch]
[FYI] alex.kahn
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL30097541 - CIS Warning
[FYI] Josh.Adams
Original CL Desc
-----------------------------------------------------------------
- Added a new TargetBuildEnvronment - UniqueIfNeeded. This will use Shared if possible, but if a property that requires unique environment, of a project has overridden an SDK version, Unique will beused instead
#rb joe.kirchoff
[CL 30118373 by josh adams in ue5-main branch]
[FYI] Josh.Adams
Original CL Desc
-----------------------------------------------------------------
- Added a new TargetBuildEnvronment - UniqueIfNeeded. This will use Shared if possible, but if a property that requires unique environment, of a project has overridden an SDK version, Unique will beused instead
#rb joe.kirchoff
[CL 30103827 by alex kahn in ue5-main branch]
Expected usage:
```
[ModuleGroups("MyGroup"]
public class MyModule : ModuleRules {... }
public class MyOtherModule : ModuleRules
{
...
PrivateDependencyModuleNames.AddRange( GetModulesInGroup("MyGroup") );
}
```
#rnx
#rb Josh.Adams
[CL 29270167 by david harvey in ue5-main branch]
Obsolete bDisableDebugInfo and replace with TargetRules.DebugInfo which is a flags enum DebugInfoMode. TargetRules.DebugInfo can be set to any or all of [Engine, EnginePlugins, Project, ProjectPlugins], whichever flags are set will have debug info enabled for the modules in those groups if the Target would otherwise has debug info enabled
* DebugInfoMode.None is equalivant to bDisableDebugInfo=true (-NoDebugInfo will still set this)
* DebugInfoMode.ProjectOnly = Project | ProjectPlugins
* DebugInfoMode.EngineOnly = Engine | EnginePlugins
* DebugInfoMode.Full = Engine | EnginePlugins | Project | ProjectPlugins
* DebugInfoMode.Full is equalivant to bDisableDebugInfo=false (the current default)
Add TargetRules.DisableDebugInfoModules, this is a list of module names that should disable debug info regardless of TargetRules.DebugInfo
Add TargetRules.DisableDebugInfoPlugins, this is a list of plugin names that should disable debug info for all of their modules regardless of TargetRules.DebugInfo
[CL 28544448 by joe kirchoff in ue5-main branch]
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: Always enable ValidateFormatStrings for engine modules, and create a pch variant for modules that opt out
#rnx
[CL 27331965 by joe kirchoff in ue5-main branch]
This removes the old hack that renames the target based on nonunity being set while also adding a new intermediates folder for IWYU.
#jira UE-190274
#rb joe.kirchoff
[CL 26514944 by christopher waters in ue5-main branch]
* bIsPlatformExtension - true if there's a platform extension .Build.cs with a subclass
* PlatformDirectory - location of the main Build.cs or the platform extension's subclass Build.cs
* PlatformModuleDirectory - string version of above
* PlatformSubdirectoryName - this is the name underneath the ModuleDirectory that platform files are in, or '.' (because platform extensions are already under a platform dir, we don't add another directory - there would be ThirdParty/MyLib/MyPlatform/foo.lib vs Platforms/MyPlatform/ThirdParty/MyLib/foo.lib, in the extension case, there's no MyPlatform directory underneath the module dir)
- With these changes, basic Build.cs files can be written without needing to know if a platform is an extension or not, and the extension subclasses can be much simpler
#rb david.harvey
[CL 26483586 by Josh Adams in ue5-main branch]
- 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]