Commit Graph

21 Commits

Author SHA1 Message Date
bryan sefcik
a25ee30a0d Optimized the reading of the text files in the SourceFileMetadataCache. The same file was being redundantly read for different information.
#fyi joe.kirchoff
#preflight 6439b3538901e5ef98394b27

[CL 25049310 by bryan sefcik in ue5-main branch]
2023-04-14 16:35:47 -04:00
henrik karlsson
b0ab1b70e4 [UBT]
* Added so SourceFileMetadataCache can skip tracking of includes if the include has markup HEADER_UNIT_IGNORE. This is needed for header units path. All includes that are circular needs to be marked up (there are ~10 of them in the engine)

#preflight 63d96320b73528c8f7227dd2
#rb joe.kirchoff

[CL 23939749 by henrik karlsson in ue5-main branch]
2023-01-31 17:30:16 -05:00
marc audy
18fb2b9df1 Don't throw cryptic exception in UBT if there is an include with an unterminated string
#rb Henrik.Karlsson
#rnx

[CL 23680952 by marc audy in ue5-main branch]
2023-01-13 12:57:24 -05:00
henrik karlsson
44847e89cc [UnrealBuildTool - SourceFileMetadataCache]
* Added tracking of markup containing information saying if a header can be used as a standalone header unit or not. This is also used by IWYU path to figure out if a header can be built stand alone
* Added tracking of includes in headers. This is used in header units path to figure out dependencies between headers (since header units will want to import produced header units from other headers

This increases the file metadata cache from 3mb to 4mb for a large game but  should not affect ubt startup times noticable

#rb joe.kirchoff
#preflight skipped

[CL 23602256 by henrik karlsson in ue5-main branch]
2023-01-06 15:25:38 -05:00
bryan sefcik
c71498d810 Fixed an issue where commented out #include inline.gen.cpp files would still be considered to be included.
#jira UE-166291

[CL 22389956 by bryan sefcik in ue5-main branch]
2022-10-06 20:53:52 -04:00
bryan sefcik
e5edfdd06d Added support to inline the gen.cpp files into the module cpp files.
This change does a few things:
* Improves compile times because the gen.cpp is inlined so less header parsing is required.
* Allows us to forward declare more types in the headers where we were not able to because the gen.cpp files did not have all the required headers included. The gen.cpp files required the header that generated it to include all the types because of the constructor and desructor in the gen.cpp need to know the full type.

#jira
#preflight 6323b43f8131e92d65aed1d9

[CL 22064061 by bryan sefcik in ue5-main branch]
2022-09-16 20:28:51 -04:00
UnrealBot
73409369c0 Branch snapshot for CL 21319338
[CL 21319338 in ue5-main branch]
2022-08-10 16:03:37 +00: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
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
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
jonathan adamczewski
64c210d294 AutomationTool, BuildUtilities:
UnrealBuild -> Unreal for EngineDirectory, RootDirectory, IsEngineInstalled, UnrealBuildToolPath
Remove CommandUtils EngineDirectory, RootDirectory, IsEngineInstalled - use equvalents from UnrealBuildBase.Unreal

#jira none

#ROBOMERGE-SOURCE: CL 16648181 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16648203 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-11 18:21:35 -04:00
jonathan adamczewski
233b7719a5 <saved by Perforce>
#ROBOMERGE-SOURCE: CL 16642197 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16642206 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-11 11:37:42 -04:00
jonathan adamczewski
d58996b916 UnrealBuildTool: move some path constants into BuildUtilities
RootDirectory, EngineDirectory, UnrealBuildToolPath are now found in BuildUtilities' UnrealBuild namesapce.

The way these are computed has changed. Previously, it was assumed that the application is UnrealBuildTool, and paths were constructed relative to that assembly.

Now, the assumption is that the process is located under a "Engine/Build/DotNET" sub-path and paths are constructed relative to that.

#jira none

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

[CL 16607455 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-09 12:55:13 -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
Ben Marsh
6f927647b1 Changing C# code over to using EpicGames.Core over DotNETCommon.
#rb none
#rnx

[CL 14962096 by Ben Marsh in ue5-main branch]
2020-12-21 23:07:37 -04:00
Ben Marsh
1e9946779e UBT: Fix up a few more nullable references.
#rb none
#rnx

[CL 14960616 by Ben Marsh in ue5-main branch]
2020-12-20 20:07:40 -04:00
Ben Marsh
68f5abeb09 UBT: Convert UnrealBuildTool to use nullable references.
#rb none
#rnx

[CL 14960546 by Ben Marsh in ue5-main branch]
2020-12-20 18:47:42 -04:00
Ben Marsh
b1e882d4d1 UBT: Add preprocessor work from Private-ArtifactCache stream.
#rb none
#rnx

[CL 14806988 by Ben Marsh in ue5-main branch]
2020-11-23 13:33:12 -04:00
Ryan Durand
9ef3748747 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536
#ROBOMERGE-BOT: FORTNITE (Main -> Dev-EngineMerge) (v613-10869866)

[CL 10870955 by Ryan Durand in Main branch]
2019-12-26 23:01:54 -05:00
ben marsh
4ac90e38c2 UBT: Use compact FileItem objects in source file metadata cache. Improves serialization performance by another 50-60ms.
#rb none
#jira UE-71116

#ROBOMERGE-SOURCE: CL 5337196 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5337949 by ben marsh in Main branch]
2019-03-07 11:45:19 -05:00
Ben Marsh
a22b952aa9 Copying //UE4/Dev-Build to Dev-Main (//UE4/Dev-Main)
#rb none
#rnx

[CL 4718806 by Ben Marsh in Main branch]
2019-01-14 12:11:24 -05:00