271 Commits

Author SHA1 Message Date
Joe Kirchoff
361f2a20fd UnrealBuildTool: Fix /analyze not being applied to -SingleFile when the module contains generated cpp files
#jira UE-213788
#rb henrik.karlsson

[CL 33459034 by Joe Kirchoff in 5.4 branch]
2024-05-06 12:12:29 -04:00
joe kirchoff
a842e7245b UnrealBuildTool: Don't analyze generated files by default
#rnx
#jira UE-207534

[CL 32485014 by joe kirchoff in 5.4 branch]
2024-03-25 17:09:20 -04:00
joe kirchoff
97a349c425 UnrealBuildTool: Option to disable anaylzing engine modules or generated code
#jira UE-207534, UE-207535

[CL 32485002 by joe kirchoff in 5.4 branch]
2024-03-25 17:08:52 -04:00
joe kirchoff
b6a6ef74f8 UnrealBuildTool: bTreatAsEngine module creates a pch variant, clean up some unneeded logic
#rnx
#rb christopher.waters, henrik.karlsson

[CL 31070246 by joe kirchoff in 5.4 branch]
2024-01-31 17:55:21 -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
neil henning
7072d7f7af Fix the PCH rules when the AutoRTFM compiler is being used.
[CL 27347492 by neil henning in ue5-main branch]
2023-08-24 12:59:31 -04:00
joe kirchoff
092ff454ad [Backout] - CL27330584
[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]
2023-08-23 22:16:13 -04:00
joe kirchoff
c0b34f9bb3 UnrealBuildTool: Always enable ValidateFormatStrings for engine modules, and create a pch variant for modules that opt out
#rnx

[CL 27330607 by joe kirchoff in ue5-main branch]
2023-08-23 20:55:29 -04:00
bryan sefcik
6c45442dd6 Removed debug logging in release because it is noticeably slowing down the project generation.
[FYI] josh.adams and joe.kirchoff
#rnx
#jira

[CL 27107713 by bryan sefcik in ue5-main branch]
2023-08-15 12:56:22 -04:00
robert millar
02fc2577b1 Remove natvis files from precompiled manifest so they aren't added to linker as if they were object files in builds against precompiled engine.
#rb joe.kirchoff
#jira UE-191866, UE-192019
#lockdown marc.audy

[CL 27009534 by robert millar in ue5-main branch]
2023-08-10 16:30:49 -04:00
marc audy
434a1b9e47 Remove circular reference entries that are no longer accurate post CL# 25899269
#jira
#rnx
[FYI] Bryan.Sefcik

[CL 26903173 by marc audy in ue5-main branch]
2023-08-07 18:43:44 -04:00
joe kirchoff
da089d0875 Support for .natstepfilter
#rnx
#jira UE-190863
#jira UE-191341

#ushell-cherrypick of 26715542 by Joe.Kirchoff

[CL 26723680 by joe kirchoff in ue5-main branch]
2023-07-31 18:02:16 -04:00
robert millar
c1261e2c67 Add natvis files to build outputs and manifest to ensure they are copied to intermediate directory during precompile and tagged in horde builds.
#rb joe.kirchoff
#jira UE-182499

[CL 26720420 by robert millar in ue5-main branch]
2023-07-31 16:50:42 -04:00