Commit Graph

279 Commits

Author SHA1 Message Date
henrik karlsson
026b657d49 [UBT]
* Fixed so Classes/Public/Internal/Private includes are only added if there are files directly or indirectly under directory. Change is to make rsp files deterministic even if p4 left empty directories behind

#rb joe.kirchoff

[CL 33206443 by henrik karlsson in ue5-main branch]
2024-04-24 14:08:39 -04:00
joe kirchoff
65f7eab2cd UnrealBuildTool: Resolve CA2254, IDE0011, IDE0017, IDE0030, IDE0031, IDE0037, IDE0056, IDE0075, IDE2000, IDE2001
#rnx

[CL 32711093 by joe kirchoff in ue5-main branch]
2024-04-03 17:18:04 -04:00
joe kirchoff
a20c9fbb9e UnrealBuildTool: Format documents, remove and sort usings
#rnx

[CL 32700883 by joe kirchoff in ue5-main branch]
2024-04-03 12:22:43 -04:00
joe kirchoff
b7c0b15b6c UnrealBuildTool: Fix CS8603: Possible null reference return
#rnx

[CL 32687187 by joe kirchoff in ue5-main branch]
2024-04-02 20:40:48 -04:00
joe kirchoff
89805bc149 UnrealBuildTool: Resolve IDE0008, IDE0049
#rnx

[CL 32687030 by joe kirchoff in ue5-main branch]
2024-04-02 20:29:22 -04:00
christopher waters
0a67185c9f When compiling with -IncludeHeaders, don't include headers from modules that are marked as not supporting IWYU.
#rb Joe.Kirchoff

[CL 31683228 by christopher waters in ue5-main branch]
2024-02-21 10:44:13 -05:00
joe kirchoff
38eea919ce UnrealBuildTool: Don't analyze generated files by default
#rnx
#jira UE-207534

[CL 31669338 by joe kirchoff in ue5-main branch]
2024-02-20 20:49:13 -05:00
joe kirchoff
c0357d6a15 UnrealBuildTool: Option to disable anaylzing engine modules or generated code
#jira UE-207534, UE-207535

[CL 31669299 by joe kirchoff in ue5-main branch]
2024-02-20 20:48:55 -05:00
christopher waters
2dffacefb6 Removing exclusions from using matching header files first.
#rb henrik.karlsson, Joe.Kirchoff

[CL 31658298 by christopher waters in ue5-main branch]
2024-02-20 17:15:34 -05:00
steve robb
9fa9b31697 Added UE_DEPRECATED_FORENGINE deprecation warnings for engine modules, and TargetRules.bDisableEngineDeprecations to silence engine deprecations in non-engine modules, to allow incremental fixup. Disabling engine deprecations should be regarded as short-term to allow incremental fixup.
#rb Joe.Kirchoff

[CL 31185022 by steve robb in ue5-main branch]
2024-02-05 14:40:33 -05:00
steve robb
b5ddfbd202 Removed DEPRECATED_FORGAME from UBT, as it hasn't existed since CL# 19480377.
[FYI] joe.kirchoff

[CL 31159324 by steve robb in ue5-main branch]
2024-02-03 11:44:03 -05:00
joe kirchoff
e294f152e8 UnrealBuildTool: bTreatAsEngine module creates a pch variant, clean up some unneeded logic
#rnx
#rb christopher.waters, henrik.karlsson

[CL 31070432 by joe kirchoff in ue5-main branch]
2024-01-31 17:57:54 -05:00
matt johnson
19a5270ad5 UBT: add "bVcRemoveUnreferencedComdat" ModuleRules property to control whether /Zc:inline is enabled with MSVC
#rb Joe.Kirchoff

[CL 30329213 by matt johnson in ue5-main branch]
2023-12-14 15:09:30 -05:00
joe kirchoff
64138fc204 UnrealBuildTool: Ensure FileInlineGenCPPMap is set for the module compile environment
[CL 30218610 by joe kirchoff in ue5-main branch]
2023-12-08 15:30:50 -05:00
yiliang siew
36b63b4a46 Making changes so that VerseVM will compile without the WITH_VERSE_VM macro being defined normally,
and also removing the escape hatch for "the source file must include the header of the same name" and
just including the superfluous header files for now to silence UBT warnings.

#rb Tim.Smith
#rb Tim.Smith
[FYI] Joe.Kirchoff
[FYI] Chris.Waters

[CL 30196956 by yiliang siew in ue5-main branch]
2023-12-07 19:05:24 -05:00
joe kirchoff
fbc3e63d8a UnrealBuildTool: Set UE_VALIDATE_INTERNAL_API to control the define UE_INTERNAL which will be set to an empty macro for Engine modules and [[deprecated]] for non-engine modules. This will create a pch variant but will allow a way to stop (or at least discourage) the use of internal code that needs to be in public headers for performance or historical reasons, as well as a way to migrate internal code out of public headers over the span of a few releases
#jira UE-201038
#rb David.Harvey, Devin.Doucette

[CL 30172737 by joe kirchoff in ue5-main branch]
2023-12-06 19:31:44 -05:00
joe kirchoff
1a5a20811f UnrealBuildTool: Fix not building files in override paths with -SingleFile
#rnx

[CL 29193865 by joe kirchoff in ue5-main branch]
2023-10-27 15:43:55 -04:00
joe kirchoff
a2d7686337 UnrealBuildTool: Don't try to get files in a directory if null
#rnx
#jira UE-198584

[CL 28971602 by joe kirchoff in ue5-main branch]
2023-10-20 13:26:45 -04:00
joe kirchoff
bdb33956c4 UnrealBuildTool: C Standard doesn't matter for PCH variants as C files don't use PCH when compiled
#rnx

[CL 28849973 by joe kirchoff in ue5-main branch]
2023-10-17 15:38:46 -04:00
henrik karlsson
cf55259f08 [UBT]
* Fixed so CompileEnvironment bUseUnity is set properly for each module

[FYI] Joe.kirchoff

[CL 28740588 by henrik karlsson in ue5-main branch]
2023-10-12 23:25:44 -04:00
joe kirchoff
d6b2c9077a UnrealBuildTool: Support emiting line tables only for debugging rather than disabling debug info entirely
Configuration is the same as TargetRules.DebugInfo and will override that setting except when debug info is disabled for the entire target

[CL 28558101 by joe kirchoff in ue5-main branch]
2023-10-06 17:13:05 -04:00
joe kirchoff
46eab319e3 UnrealBuildTool: Add the ability to disable debugging info for select modules and plugins via TargetRules configuration
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]
2023-10-06 12:28:59 -04:00
yiliang siew
664fd7f23c Introduces VClass. Emergent types are vended by VClass when a new object is requested to be constructed given a class and the fields that are being overrriden.
- Opcodes now support having immediate operands.
- Fixes the indices not being generated correctly for object shapes.
- New opcodes `NewClass`, `NewObject`, `LoadField` and `UnifyField` for working with classes and objects.
- Some `const` cleanup of arguments.
- Also update UBT to disable the "first include must match in terms of filename" check on `VerseVM`, since it brings us no benefits and actively interferes with the way we do inline versions of our headers.

#rnx
#rb Saam.Barati
#rb Phil.Pizlo

[CL 28541942 by yiliang siew in ue5-main branch]
2023-10-06 11:32:14 -04:00
joe kirchoff
a6e94ff649 UnrealBuildTool: Invalidate makefile if a header only directory is added or removed
#jira UE-191921

[CL 28257409 by joe kirchoff in ue5-main branch]
2023-09-26 20:28:19 -04:00
joe kirchoff
9b2f302d4b UnrealBuildTool: Always enable ValidateFormatStrings for engine modules, and create a pch variant for modules that opt out
#rnx

[CL 27352456 by joe kirchoff in ue5-main branch]
2023-08-24 14:59:44 -04:00