Commit Graph

1703 Commits

Author SHA1 Message Date
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
joe kirchoff
8d61991e8a Managed p/invoke libray for box rather than use a managed c++ library
#rnx
#rb Henrik.Karlsson
#preflight 64763f524b0d5a1eb1e81c38

[CL 25683741 by joe kirchoff in ue5-main branch]
2023-05-30 14:47:11 -04:00
tim smith
cf626105dd 1) Replaced bCanCache with new artifact mode flags
2) Added support in artifacts for relative paths
3) Modified ISPC header generation to be cached

At this time, only MSVC compiles are cached and -deterministic must be specified when building.

#rb josh.adams
#preflight 6470a172054af2576a2bd4b9

[CL 25647092 by tim smith in ue5-main branch]
2023-05-26 12:48:45 -04:00
stephen ma
e3ce54d344 UBT: Add debugging flag -dumpiniloads to show which .ini files are being loaded into hierarchy with ConfigCache.cs
#rb Josh.Adams
#preflight 6467bad3d1617529a447f6c7

[CL 25550397 by stephen ma in ue5-main branch]
2023-05-19 15:27:50 -04:00
stephen ma
190d569079 - Fixes NFL + Programs + Platform directories to look in the removed restricted program path, brings structure closer to Engine standard within Restricted Platform folders.
Before:
 "Engine\Restricted\NoRedist\Platforms\{Platform}\Restricted\NotForLicensees\Programs\{Project}Config\{Platform}Engine.ini"
After:
 "Engine\Restricted\NoRedist\Platforms\{Platform}\Programs\{Project}\Config\{Platform}Engine.ini"
- Fixed config paths for Restricted, non-Platform, program ini files (last change had put OPT_SUBDIR in too many places, it's only needed for Restricted Programs Platform files)

#rb Josh.Adams
#preflight 6466f5b775696d2bd71832dc

[CL 25548254 by stephen ma in ue5-main branch]
2023-05-19 13:53:24 -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
will brown
6364a02056 UnrealBuildTool: Ensure that plugins do not have dependencies on any plugin that is sealed. Throw a build error if detected
#rb Joe.Kirchoff

[CL 25516847 by will brown in ue5-main branch]
2023-05-17 17:10:44 -04:00
Josh Adams
b7b60ee321 - Fixed an issue with checking to see if a project is a hybrid (content-only treated as code-based) when the project and engine contain plugins with the same name
#preflight 646506a4063e77985cb34e2b
#rb stuart.hill

[CL 25513702 by Josh Adams in ue5-main branch]
2023-05-17 14:58:08 -04:00
David Harvey
0d0744a604 Add missing NotNullWhen to config string array TryParse helper function.
#rb trivial
#rnx
#jira none
#preflight 6464b073317ee2d9d12c64fe

[CL 25504694 by David Harvey in ue5-main branch]
2023-05-17 07:07:05 -04:00
Josh Adams
9d4caec55a - Brought the idea of hybrid/temp targets for content only projects that need to be treated as code, to UBT instead of UAT. Generate temp targets when building or generating projects
- Only active when the project generator says it supports ContentOnly projects, although that is just for now until Xcode can test it out, in case it causes Visual Studio issues
#rb joe.kirchoff
#preflight 64638f4a4404e3cdd240327f

[CL 25490732 by Josh Adams in ue5-main branch]
2023-05-16 11:49:47 -04:00
brian white
87670c07a6 Restore functionality of the "-ini:" command line argument in UBT. Also restrict the scope of command line arguments parsed in ConfigCache::ReadHierarchy to prevent reading arguments from other "Target" command lines.
#jira none, seen on horde: https://horde.devtools.epicgames.com/job/6452e7bef007deab84c2680c?step=6cf6
#rb Josh.Adams
#preflight 645414f36c35ad81e6167d51

[CL 25388035 by brian white in ue5-main branch]
2023-05-09 10:56:54 -04:00
tim smith
e32f741420 1) Addition of the artifact interfaces
2) Moved common code from executors into an immediate action queue.
3) Added support in the immediate action queue to read/write artifacts

#rb joe.kirchoff
#preflight 6454f3c5ed7ffaa0f5b2fbfa

[CL 25355149 by tim smith in ue5-main branch]
2023-05-05 11:19:57 -04:00
joe kirchoff
54e368d84b UnrealBuildTool: Print time spent in executor before throwing any execeptions
#rnx
#rb trivial

[CL 25336919 by joe kirchoff in ue5-main branch]
2023-05-04 12:10:45 -04:00
Joe Kirchoff
d1da550c73 UnrealBuildTool: Fix line that was accidently commented out
#rnx
#rb trivial
#preflight 64487dc6b208f61af8d26e15

[CL 25193668 by Joe Kirchoff in ue5-main branch]
2023-04-25 21:42:26 -04:00
henrik karlsson
11ea5c4396 [UBT]
* Added bCanExecuteRemotelyWithXGE so actions that can't execute remotely because of xge don't turn of remote execution for sndbs etc

#preflight 6448200b877716c878468070
#rb joe.kirchoff

[CL 25192137 by henrik karlsson in ue5-main branch]
2023-04-25 19:24:51 -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
ionut matasaru
1172a216a1 UBT: Deprecated TragetInfo::bUseMallocProfiler toggle. No longer used as MallocProfiler2 and FMallocProfiler runtime is removed in favor of UnrealInsights.
#jira UE-141779
#rb Joe.Kirchoff
#preflight 64380bdbae4448e6f909db87

[CL 25142451 by ionut matasaru in ue5-main branch]
2023-04-21 02:24:21 -04:00
Ben Marsh
3889217961 UBT: Merging CL 25121561 to support async ToolMode and ActionExecutor instances.
#preflight none

[CL 25121660 by Ben Marsh in ue5-main branch]
2023-04-19 21:44:13 -04:00
Joe Kirchoff
bcedb28640 UnrealBuildTool: MSVC deterministic mode pch variant
#rnx
#rb trivial
#preflight 643f391a211b661dc483c71f

[CL 25099894 by Joe Kirchoff in ue5-main branch]
2023-04-18 22:23:21 -04:00