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
09ca12ccef
Refactor UBT to use an interface (IActionGraphBuilder) to construct the action graph. Response files are also constructed through this interface, allowing them to be tracked as dependencies (will be added in subsequent change).
...
#rb none
#jira
#ROBOMERGE-SOURCE: CL 12038895 in //UE4/Release-4.25/... via CL 12038911
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v657-12064184)
[CL 12076066 by ben marsh in Main branch]
2020-03-09 13:20:14 -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
0cc6e3dca6
Copying //UE4/Dev-Build to Dev-Main (//UE4/Dev-Main)
...
#rb none
#rnx
[CL 6631504 by Ben Marsh in Main branch]
2019-05-24 11:51:54 -04:00
ben marsh
33fcfd2977
UBT: Serialize compact FileItem objects. Improves serialization performance and significantly reduces size of cpp dependency cache.
...
#rb none
#jira UE-71116
#ROBOMERGE-SOURCE: CL 5337193 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5337948 by ben marsh in Main branch]
2019-03-07 11:45:17 -05:00
ben marsh
08aa889a34
UBT: Use the cached filesystem attributes to figure out which files are part of the adaptive non-unity working set. Much faster than querying directly because (a) they're cached, and (b) they're enumerated via a directory scan, which fetches the metadata up front.
...
#rb none
#jira UE-71116
#rnx
#ROBOMERGE-SOURCE: CL 5318685 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)
[CL 5336842 by ben marsh in Main branch]
2019-03-07 08:14:02 -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
Ben Marsh
e74aff4e60
UBT: Allow pre-build steps to do things that may invalidate the makefile. After loading a makefile, we validate that anything that can affect the pre-build scripts and execute them, then check whether the makefile is still valid for the working set of source files. If not, we discard the makefile and rebuild it (without executing the pre-build steps).
...
#rb none
#jira UE-47634
[CL 4701996 by Ben Marsh in Dev-Build branch]
2019-01-10 13:40:51 -05:00
Ben Marsh
e8ef63a8fd
UBT: Only reset cached info for generated code directories after running UHT. Resetting cached info for all files causes slowdown for dependency checking.
...
#rb none
#rnx
[CL 4683841 by Ben Marsh in Dev-Build branch]
2019-01-05 20:25:15 -05:00
Ben Marsh
8ec6559c81
UBT: Add methods to FileItem and DirectoryItem to get the parent DirectoryItem, and add support for resolving virtual directory names (ie. "." and "..") when querying for a directory by name
...
#rb none
#rnx
[CL 4675421 by Ben Marsh in Dev-Build branch]
2018-12-30 20:51:52 -05:00
Ben Marsh
65f542835b
UBT: When a response file is updated, rename the old one rather than dumping it to the log. Some of the trace listeners are very slow (eg. the OutputDebugString one), and writing a large amount of text can significantly affect performance.
...
#rb none
#rnx
[CL 4672636 by Ben Marsh in Dev-Build branch]
2018-12-20 22:36:55 -05:00
Ben Marsh
c5b6fefcc7
UBT: Add a DirectoryItem class, similar to FileItem, which caches directory contents and properties. Allows constructing FileItem objects from enumerated FileInfo objects, avoiding additional I/O hit to determine attributes. DirectoryLookupCache is converted to use DirectoryItem objects as part of this change.
...
#rb none
#rnx
[CL 4670115 by Ben Marsh in Dev-Build branch]
2018-12-19 10:44:11 -05:00
Ben Marsh
f01ddb51ae
UBT: Add support for building multiple targets in parallel.
...
* A makefile is now constructed for each target, and the outdated actions are combined into a single graph before execution.
* Makefiles are used in all build modes, regardless of whether they are saved to disk, and represent the vector by which a target's build actions are passed to the executor.
* The -JsonExport= argument has been removed, and a separate JsonExport mode has been added (invoke with eg. "-Mode=JsonExport UE4Editor Win64 Development")
* Multiple action history files are kept open at one time, and a hierarchy is used for each target.
#rb none
[CL 4667512 by Ben Marsh in Dev-Build branch]
2018-12-17 20:49:30 -05:00
Ben Marsh
ee97346901
UBT: Convert makefiles and dependency caches to use BinaryArchiveReader/BinaryArchiveWriter.
...
#rb none
#rnx
[CL 4665121 by Ben Marsh in Dev-Build branch]
2018-12-16 20:49:12 -05:00
Ben Marsh
0c9707d678
UBT: Use compiler-generated dependency information for source file dependencies. This ensures that the dependency list is accurate, and makes incremental builds more reliable.
...
* A standalone Win32 application called cl-filter is used to parse output from running the Visual Studio compiler with the /showIncludes option, and generate a dependency list similar to Clang.
* Actions which produce an external dependency list declare it explicitly. If the dependency list is missing, or any of the contents are out of date, the action is rebuilt.
* The contents of dependency lists are cached by the CppDependencyCache class for future iterations.
#rb none
[CL 4665060 by Ben Marsh in Dev-Build branch]
2018-12-16 14:22:47 -05:00
Ben Marsh
2da64cd404
UBT: Remove the unused RelativeCost field from FileItem.
...
#rb none
#rnx
[CL 4664607 by Ben Marsh in Dev-Build branch]
2018-12-15 14:30:54 -05:00
Ben Marsh
530369c613
Merging //UE4/Dev-Main to Dev-Build (//UE4/Dev-Build)
...
#rb none
#rnx
[CL 4662695 by Ben Marsh in Dev-Build branch]
2018-12-14 14:49:12 -05:00
Ben Marsh
7598af0532
Update copyright notices to 2019.
...
#rb none
#lockdown Nick.Penwarden
[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00
Ben Marsh
8d47f49a5e
UBT: Minor cleanup of FileItem names to match FileInfo, and add some comments.
...
#rb none
#rnx
[CL 4660611 by Ben Marsh in Dev-Build branch]
2018-12-13 20:25:18 -05:00
Ben Marsh
db2e118dbb
UBT: Allow creating FileItem objects on different threads.
...
#rb none
#rnx
[CL 4660589 by Ben Marsh in Dev-Build branch]
2018-12-13 20:16:18 -05:00
Ben Marsh
dc81aad8ef
UBT: Remove hacks to support FileItems being directories. This was only used for app bundles on Mac, which we handle as folders of regular files now.
...
#rb none
#rnx
[CL 4660492 by Ben Marsh in Dev-Build branch]
2018-12-13 19:43:30 -05:00
Ben Marsh
20873bc114
UBT: Remove the FileItem.GetExistingItemByFileReference() method. None of the current callers of this function correctly check for null, which results in harder to find errors down the line.
...
#rb none
[CL 4645200 by Ben Marsh in Dev-Build branch]
2018-12-10 11:38:57 -05:00
Ben Marsh
0f85215f78
UBT: Remove the unused FileItem.bNeedsHotReloadNumbersDLLCleanUp field.
...
#rb none
#rnx
[CL 4644190 by Ben Marsh in Dev-Build branch]
2018-12-09 12:26:26 -05:00