Commit Graph

80 Commits

Author SHA1 Message Date
joe kirchoff
4f5e1d5b1c UnrealBuildTool: Don't short circuit adaptive builds if all cpp in a module are in the working set
#rnx

[CL 27001130 by joe kirchoff in ue5-main branch]
2023-08-10 14:19:38 -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
henrik karlsson
a0566a456c [UnrealBuildTool]
* Fixed bug where every change to a header would cause invalidation of makefile due to workset changes.

#preflight skipped
#rb joe.kirchoff

[CL 24344625 by henrik karlsson in ue5-main branch]
2023-02-21 13:38:23 -05:00
bryan sefcik
3c6a04fdf6 Fixed an issue where SNDBS would fail to compile files on agents because the inlined gen.cpp files were not setup as prerequisites.
#rb joe.kirchoff

[CL 22464949 by bryan sefcik in ue5-main branch]
2022-10-11 16:49:17 -04:00
marc audy
0fc06b389b bStressTestUnity supercedes adaptive unity
#rb Joe.Kirchoff
#jira

[CL 22361863 by marc audy in ue5-main branch]
2022-10-05 15:50:57 -04:00
bryan sefcik
dc368e588b Added the ability to override the NumIncludedBytesPerUnityCPP from the module rules. This is needed by some modules to better tune the size of the unity files.
Before:
1 Unity file
Total CPU Time: 162.90625 s
Total time in Parallel executor: 61.62 seconds

After:
6 Unity files
Total CPU Time: 169.15625 s
Total time in Parallel executor: 16.64 seconds

#jira
[FYI] nick.darnell, joe.kirchoff
#preflight 632889795f55ba280ec1ef84

[CL 22087017 by bryan sefcik in ue5-main branch]
2022-09-19 21:57:04 -04:00
bryan sefcik
f402b6abb5 Fixed an issue where people using writable workspaces would compile everything without using unity files because of the change to merge .gen.cpp files with module .cpp files in unity files.
#jira
#preflight 631f967180642a7fa7851034

[CL 21985018 by bryan sefcik in ue5-main branch]
2022-09-13 12:23:39 -04:00
Joe Kirchoff
636d17c398 UnrealBuildTool: Option to remove '_of_x' from cpp unity filenames
#rnx
#rb trivial
#preflight 63055e53ae13a5a09802f76f

[CL 21525184 by Joe Kirchoff in ue5-main branch]
2022-08-23 19:26:22 -04:00
bryan sefcik
1b2a0a8c56 * Combined generated cpp files and module cpp files into the same unity files.
ShooterGame Editor with 8 processes:
Before:
3706 compile tasks
1517.98 seconds

After:
3372 compile tasks
1428.56 seconds

Game Editor with 64 processes:
Before:
6323 compile tasks
1090.78 seconds

After:
5666 compile tasks
1063.90 seconds
#preflight 62b4820d1371af05d9f26407

[CL 20796589 by bryan sefcik in ue5-main branch]
2022-06-23 12:22:28 -04:00
Ben Marsh
cbb950c578 UBT: Use ILogger throughout UBT, rather than legacy EpicGames.Core.Log methods. All output going forwards should use structured logging rather than String.Format style logging.
#preflight 628e9dc6e746de4961f60032

[CL 20373777 by Ben Marsh in ue5-main branch]
2022-05-25 19:55:37 -04:00
Joe Kirchoff
c512a89ace Rename UnrealBuildTool.EngineSourceDirectory -> Unreal.EngineSourceDirectory
#rnx
#rb trivial
#preflight 628e9fdaf622d972b59ebe85

[CL 20372061 by Joe Kirchoff in ue5-main branch]
2022-05-25 17:54:39 -04:00
devin doucette
c6b3357b73 UBT: Fixed bAdaptiveUnityCompilesHeaderFiles dependency tracking
The header is now added to the working set rather than the generated source file.

#rb Mark.Lintott
#rnx
#preflight 61bb6e026c2686e86320ec95

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18476588 in //UE5/Release-5.0/... via CL 18481358
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18481449 by devin doucette in ue5-release-engine-test branch]
2021-12-16 19:28:41 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
jonathan adamczewski
89677b0b3d UnrealBuildTool: Make WorkingSet & CandidateWorkingSet mutually exclusive.
Prevents a case where edits to source files would cause Makefile to be invalidated.

#rb ben.marsh
#jira none

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 17496558 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17496572 by jonathan adamczewski in ue5-release-engine-test branch]
2021-09-13 17:02:24 -04:00
ben marsh
9e32e05d71 UBT: Fix files added to the working set not invalidating the makefile.
[FYI] Andy.Firth

#ROBOMERGE-SOURCE: CL 17074097 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)

[CL 17074113 by ben marsh in ue5-release-engine-test branch]
2021-08-05 15:22:32 -04:00
joe kirchoff
9c7615fd72 UnrealBuildTool: Clean up VCToolChain functions that add command line args to be more consistently used, allowing more paths that can be relative to reduce command line length
Verified relative pathing works fine for msvc clang builds
Use .d files for dependencies when compiling with windows clang, instead of piping through cl-filter.exe
Use relative pathing for generated unity files

#rb Jonathan.Adamczewski
#rnx
#preflight 60d4de2bcaf0590001e62de9
#preflight 60d4efbccaf0590001e9af24

#ROBOMERGE-SOURCE: CL 16779820 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16779826 by joe kirchoff in ue5-release-engine-test branch]
2021-06-24 19:01:22 -04:00
jonathan adamczewski
ad86e81438 UnrealBuildTool:
Add a StringComparison argument to CreateIntermediateTextFile() and require callers to make a decision about the case-sensitivity used when considering whether to re-write a file.

(This is intentionally explicit and verbose at the call-site - we should implement a better solution. This change makes it clear that there is work to be done to be able to simplify the interface and achieve reliable behavior.)

As a first pass, C++ files (headers, cpp files, pch files) will have a case-sensitive comparison (C++ code is, mostly, case sensitive), Linux script files have a case-sensitive comparison (case-sensitive filesystem), and all other files are compared disregarding case - to match pre-existing behavior, and with the desire to not borrow more surprises than necessary.

#jira none

#ROBOMERGE-SOURCE: CL 16616339 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16616345 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-09 19:45:21 -04:00
jonathan adamczewski
a865a21fb0 Move FileItem and DirectoryItem into BuildUtilities
#jira none

#ROBOMERGE-SOURCE: CL 16596289 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16596323 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-08 19:06:03 -04:00
Devin Doucette
800b4e9427 UBT: Fixed bAdaptiveUnityCompilesHeaderFiles to use generated files to include headers
#rb Ben.Marsh
#rnx
#robomerge[STARSHIP] Release-5.0-EarlyAccess

[CL 15666062 by Devin Doucette in ue5-main branch]
2021-03-10 11:23:43 -04:00
Devin Doucette
8b1f950403 UBT: Apply optimization, precompiled header, and header build behaviors to the working set even when unity is disabled on the module
#rn Ben.Marsh
#robomerge[STARSHIP] Release-5.0-EarlyAccess
#fyi Brandon.Dawson

[CL 15645534 by Devin Doucette in ue5-main branch]
2021-03-08 16:58:01 -04:00
Devin Doucette
966706f9dd UBT: Restored OrdinalIgnoreCase sort order for unity files
#rb none
#rnx
#robomerge[STARSHIP] Release-5.0-EarlyAccess

[CL 15645525 by Devin Doucette in ue5-main branch]
2021-03-08 16:56:07 -04:00