Commit Graph

240 Commits

Author SHA1 Message Date
joe kirchoff
0485ee26c9 UnrealBuildTool: Remove PCH variants for ShadowVariableWarningLevel, UnsafeTypeCastWarningLevel & bEnableUndefinedIdentifierWarnings
#rnx
#rb Henrik.Karlsson

[CL 25907869 by joe kirchoff in ue5-main branch]
2023-06-09 19:06:05 -04:00
bryan sefcik
699eb3731e Removed a hack in the sharedpch logic that is no longer needed.
Changed a warning to a debug message because it broke a branch that is behind in merges. I will bring back the warnings when the branch catches up.

#jira

[CL 25907256 by bryan sefcik in ue5-main branch]
2023-06-09 18:34:08 -04:00
bryan sefcik
a949488972 Updated the logic that determines which dependencies a shared PCH has. This new logic goes through all the includes of the pch header and finds the actual headers and modules used. This creates a smaller list of dependencies than before, which is later used to determine whether it is safe or not for the PCH to be used by other modulres.
#rb joe.kirchoff

[CL 25906157 by bryan sefcik in ue5-main branch]
2023-06-09 17:55:56 -04:00
christopher waters
c1db7ce35f Adding header specific compile options
- -IncludeHeaders will add individual header compiles to the build.
- -HeadersOnly when used with -IncludeHeaders will compile only the headers. This replaces -IWYUHeadersOnly.
- Ported file collision support over from ClangToolChain into VCToolChain

#rb henrik.karlsson

[CL 25899533 by christopher waters in ue5-main branch]
2023-06-09 14:23:34 -04:00
bryan sefcik
adc423d1db Fixed an issue where the linux editor would not create/use the unrealed shared PCH.
#jira

[CL 25861570 by bryan sefcik in ue5-main branch]
2023-06-07 18:56:39 -04:00
joe kirchoff
c5fd3412c1 UnrealBuildTool: Always add CppStandard to PCH variant name, to prevent creating duplicate PCH when the engine's cpp standard is mismatched with a project
#rnx

[CL 25826166 by joe kirchoff in ue5-main branch]
2023-06-06 15:59:09 -04:00
joe kirchoff
3cde89ad9a BuildSettingsVersion.V4: Default CppStandard to Cpp20. Latest is not being updated to V4 with this change and will happen at a later date
* Add new setting CppStandardEngine so this can be controlled separately for engine module
* CppStandard no longer requires RequiresUniqueBuildEnvironment as it does not affect engine modules

#rb christopher.waters

[CL 25821375 by joe kirchoff in ue5-main branch]
2023-06-06 13:38:28 -04:00
robert millar
6bdae7d69e Additional crash reporting information.
- Whether the binaries were created with debug info.
- Engine 'compatible' version from build info.
- CIS job URL that created the binaries.
- Currently executing CIS job URL.

#rb johan.berg

[CL 25796770 by robert millar in ue5-main branch]
2023-06-05 13:22:14 -04:00
galeone
431c09150e [UBT] Add support for Code coverage on Linux
#rb Brandon.Schaefer, Jerome.Delattre, Joe.Kirchoff

[CL 25794147 by galeone in ue5-main branch]
2023-06-05 12:03:25 -04:00
bryan sefcik
e40d241cde Updated the shared pch logic to not follow the private module dependencies/includes when getting all the possible modules referenced in the pch header.
#jira
#preflight 647bc13b67505cf55c9db0c0

[CL 25783023 by bryan sefcik in ue5-main branch]
2023-06-03 19:34:57 -04:00
bryan sefcik
5fcc1c97a3 Updated the shared pch logic to traverse the dependency tree to find the best shared pch for each module. The logic before would only look at the direct dependencies which if changed could result in possibly worse compile times because a less optimal pch could be picked.
Note: There however are occasions where the old logic can give better shared pchs because it doesn't check whether there is a circular dependency. The new logic does check for circular dependencies so it can sometimes return a safer but less optimal shared PCH. If we find the old logic gives a better shared pch then we go ahead and use it. This will be removed after some of the circular dependencies are resolved.

#rb joe.kirchoff
#preflight 6477e3b87f02573726be946c

[CL 25720154 by bryan sefcik in ue5-main branch]
2023-05-31 23:29:01 -04:00
joe kirchoff
acacd6a8de UnrealBuildTool: More automated code cleanup
* Use object type rather than var
* Remove double newlines
* Use pattern matching

#rnx
#preflight 647780095d23eca37d28a387

[CL 25706751 by joe kirchoff in ue5-main branch]
2023-05-31 13:37:21 -04:00
joe kirchoff
acf80ab609 [Backout] - CL25694851
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: More automated code cleanup

#rnx

[CL 25695155 by joe kirchoff in ue5-main branch]
2023-05-30 19:55:37 -04:00
joe kirchoff
7ed1a39679 UnrealBuildTool: More automated code cleanup
#rnx

[CL 25694864 by joe kirchoff in ue5-main branch]
2023-05-30 19:36:05 -04:00
joe kirchoff
c04da27b3b UnrealBuildTool: More automated code cleanup
#rnx
#preflight 64767efb4b1ead7c7f428c7a

[CL 25693857 by joe kirchoff in ue5-main branch]
2023-05-30 18:59:32 -04:00
joe kirchoff
36d266e932 UnrealBuildTool: Automated code cleanup
#rnx
#preflight 6476799e947ff6973c225619

[CL 25693241 by joe kirchoff in ue5-main branch]
2023-05-30 18:38:07 -04:00
joe kirchoff
57a8fe409c UnrealBuildTool: Use expression body for simple properties and accessors
#rnx
#preflight 64766abcfe6a3b258a04cb50

[CL 25691579 by joe kirchoff in ue5-main branch]
2023-05-30 18:01:50 -04:00
tim smith
cdcd50de2d Fix issue with UBT where the UE_TARGET_NAME isn't the actual target name. This resulted in HotReload and Live Coding to no longer work when used with a non-unity build.
#rb joe.kirchoff
#preflight 646e3a986c2a2532b1e663d4

[CL 25608143 by tim smith in ue5-main branch]
2023-05-24 13:48:35 -04:00
brandon schaefer
918a67f6d9 Support enabling AutoRTFM instrumentation on a Module level in UBT
#rb Neil.Henning, Joe.Kirchoff
#preflight 646655bd743f7c995bc7a7ff

[CL 25532181 by brandon schaefer in ue5-main branch]
2023-05-18 15:44:35 -04:00
Joe Kirchoff
2907946ca1 Remove platform
#rnx
#jira UE-114382
#rb Josh.Adams
#rb Ryan.Hummer
#preflight 645eaf1eb71b8186aa02706b

[CL 25460968 by Joe Kirchoff in ue5-main branch]
2023-05-12 18:03:33 -04:00
eric knapik
27ddbbdbde #jira: UE-177511
Make UEFN a modular build
Move UEFNEngine.ini under the UEFN plugin so it correctly is loaded

[REVIEW] [at]Chris.Varnsverry, [at]Henrik.Karlsson, [at]Josh.Adams
#preflight 644aeb72b208f61af8395b09
#preflight 644b517b9c50ddcc0b171ca8

[CL 25309650 by eric knapik in ue5-main branch]
2023-05-02 18:25:37 -04:00
Joe Kirchoff
5cc66e0c21 UnrealBuildTool: Correct naming on PCH variants for CppStandard
#rnx
#rb trivial
#preflight 644c1d8609453df5485eda50

[CL 25238379 by Joe Kirchoff in ue5-main branch]
2023-04-28 15:46:18 -04:00
Joe Kirchoff
6f42800561 UnrealBuildTool: Change some LogDebug to LogTrace for very verbose messages
#rnx
#rb trivial
#preflight 64498a3f1150e908d0af862f

[CL 25206696 by Joe Kirchoff in ue5-main branch]
2023-04-26 16:45:59 -04:00
Joe Kirchoff
328db31586 UnrealBuildTool: Always compile engine modules with C++20, unless the platform doesn't support it
* Add MaxCppStandard option to the target, so the CppStd can be limited if it would be set higher for any reason. HoloLens for example does not support c++20 because it uses the /ZW flag to enable WinRT and these are incompatible. I will look into making WinRT only be added if it is required for a Module at a later time
* Any module that sets bTreatAsEngineModule will be upgraded to c++20 unless it has already overridden it to c++17, unless MaxCppStandard is set.
* Some modules, mostly in plugins, are set in the ModuleRules to always build with c++17. This is generally because third party source is included that are incompatible with c++20 but there are a few cases that should be looked into later
* VS2019 needed a few extra fixes but also supports c++20. Reminder that support for the 2019 toolchain is going to be removed in 5.5

#jira UE-182121
#rb Francis.Hurteau
#preflight 6441adee434155a8f8688d45
#preflight 6441adfcf030f684d53981c5

[CL 25153700 by Joe Kirchoff in ue5-main branch]
2023-04-21 17:04:15 -04:00
bryan sefcik
baa4c8aada Updated UBT to throw warnings or errors(based a build config xml property) if there are PCH performance issues detected in the buildgraph.
#rb joe.kirchoff
#fyi marc.audy
#preflight 644172b9935b5081b07edd6c

[CL 25132236 by bryan sefcik in ue5-main branch]
2023-04-20 14:17:10 -04:00