Commit Graph

48 Commits

Author SHA1 Message Date
jonathan adamczewski
4ece24e65a AutomationTool, BuildUtilities:
UnrealBuild -> Unreal for EngineDirectory, RootDirectory, IsEngineInstalled, UnrealBuildToolPath
Remove CommandUtils EngineDirectory, RootDirectory, IsEngineInstalled - use equvalents from UnrealBuildBase.Unreal

#jira none

[CL 16648181 by jonathan adamczewski in ue5-main branch]
2021-06-11 18:20:44 -04:00
jonathan adamczewski
b646b726e0 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

[CL 16616339 by jonathan adamczewski in ue5-main branch]
2021-06-09 19:45:07 -04:00
jonathan adamczewski
94b14ee042 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

[CL 16607440 by jonathan adamczewski in ue5-main branch]
2021-06-09 12:54:42 -04:00
jonathan adamczewski
44a6d5481e Move FileItem and DirectoryItem into BuildUtilities
#jira none

[CL 16596289 by jonathan adamczewski in ue5-main branch]
2021-06-08 19:05:33 -04:00
Josh Adams
b0e4357576 - UBT Code changes to remove 32-bit Windows support (C++ code for 32-bit still exists)
#rb marc.audy (concept, not each file)

[CL 15265424 by Josh Adams in ue5-main branch]
2021-01-31 15:09:58 -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
83f27d27e9 UBT: Mark platforms and project file generation code as not nullable aware.
#rb none
#rnx

[CL 14960496 by Ben Marsh in ue5-main branch]
2020-12-20 17:32:59 -04:00
Ben Marsh
43d164a829 Fix PVS studio warnings due to character encodings.
#jira UE-103811
#rb none

[CL 14900671 by Ben Marsh in ue5-main branch]
2020-12-10 15:41:29 -04:00
Ben Marsh
7047e080af UBT: Rename IAction to IExternalAction, to distinguish it from actions which only exist within UBT.
#rb none
#rnx

[CL 14823490 by Ben Marsh in ue5-main branch]
2020-11-30 16:58:32 -04:00
Ben Marsh
c4683ec94b UBT: Fix PVS studio static analysis steps not preprocessing source files before analysis.
#rb none
#rnx
#jira UE-103715

[CL 14815927 by Ben Marsh in ue5-main branch]
2020-11-26 10:57:09 -04:00
Ben Marsh
d90e347e32 UBT: Remove PVS studio dependencies on IAction.PrerequisiteItems, in preparation for them being computed by an async process.
#rb none
#rnx

[CL 14815895 by Ben Marsh in ue5-main branch]
2020-11-26 10:31:22 -04:00
Marc Audy
a7f9391231 Merge UE5/Release-Engine-Staging @ 14811410 to UE5/Main
This represents UE4/Main @ 14768117

For ReleaseObjectVersion.h
#lockdown Marcus.Wassmer

[CL 14811440 by Marc Audy in ue5-main branch]
2020-11-24 18:42:39 -04:00
Ben Marsh
74732c7177 UBT: Convert a few more direct references to the Action class to IAction interfaces.
#rb none
#rnx

[CL 14810700 by Ben Marsh in ue5-main branch]
2020-11-24 15:42:08 -04:00
ben marsh
248ca5454e Move PVS-Studio into Restricted/NoRedist folder.
#jira

#ROBOMERGE-SOURCE: CL 12689676 via CL 12689681 via CL 12689685
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v676-12543919)

[CL 12689695 by ben marsh in Main branch]
2020-04-09 10:23:37 -04:00
ben marsh
456f9a9ca7 Add support for different analysis modes in the PVS toolchain.
Defaults to just using general analysis (which UE4 builds cleanly with), but other options can be configured by setting TargetRules.WindowsPlatform.PVS.ModeFlags or by setting TargetRules.WindowsPlatform.PVS.UseApplicationSettings = true to read from the PVS config file.

Based on PR #6730.

#rb none
#jira UE-89664

#ROBOMERGE-SOURCE: CL 12496329 in //UE4/Release-4.25/... via CL 12496331 via CL 12496343
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v673-12478461)

[CL 12496355 by ben marsh in Main branch]
2020-03-31 09:54:21 -04:00
michael sartain
43ef13a97b Fix UnrealBuildTool unused variable warnings
#jira none
#rb Ben.Marsh
[FYI] Andrew.Grant, Brandon.Schaefer

#ROBOMERGE-SOURCE: CL 12224860 in //UE4/Release-4.25/... via CL 12224862
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v663-12210973)

[CL 12224868 by michael sartain in Main branch]
2020-03-16 19:04:42 -04:00
ben marsh
71a47ecfa8 Use a subdirectory for storing PVS studio artifacts, to avoid triggering a full rebuild with the next regular compile.
#rb none
#jira

#ROBOMERGE-SOURCE: CL 12157003 in //UE4/Release-4.25/... via CL 12157005
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v659-12123632)

[CL 12157009 by ben marsh in Main branch]
2020-03-12 18:39:25 -04:00
ben marsh
c973c45f1b Fix recursive action when running PVS toolchain.
#rb none
#rnx
#jira

#ROBOMERGE-SOURCE: CL 12056498 in //UE4/Release-4.25/... via CL 12056499
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v657-12064184)

[CL 12076288 by ben marsh in Main branch]
2020-03-09 13:21:27 -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
Marc Audy
9d62737c98 Fix PVSToolChain to work with SingleFileCompile mode.
#jira UE-85342
#rb Ben.Marsh

[CL 10500712 by Marc Audy in Main branch]
2019-12-03 16:06:00 -05:00
Ben Marsh
b09eef0774 Change PVS Studio toolchain to use an instance of the VCToolChain to preprocess all the input files. Should fix issues with dependency checking not working correctly.
#rb none

[CL 8983803 by Ben Marsh in Main branch]
2019-09-23 15:26:25 -04: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
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
53467c22ef UBT: Deprecate Visual Studio 2015. Still technically supported from source if explicitly selected as the compiler for a particular target, but will not be automatically detected by UBT for building.
#rb none

[CL 4681677 by Ben Marsh in Dev-Build branch]
2019-01-04 11:35:38 -05:00