Commit Graph

117 Commits

Author SHA1 Message Date
jonathan adamczewski
2546ebe505 UnrealBuildTool Utils.cs, Mac support:
- Account for caching of disk-backed files when computing free memory
- Determine actual number of physical CPU cores

#jira none
#rb Joe.Kirchoff

[CL 16355600 by jonathan adamczewski in ue5-main branch]
2021-05-17 13:56:20 -04:00
aurel cordonnier
8eebe8841f Merge UE5/RET @ 16305968 to UE5/Main
This represents UE4/Main @ 16261013 and Dev-PerfTest @ 16259937

[CL 16306996 by aurel cordonnier in ue5-main branch]
2021-05-12 18:10:03 -04:00
jonathan adamczewski
7796bc81bb UnrealBuildTool:
Remove IsRunningOnMono

For remaining references, IsRunningOnMono -> !IsRunningOnWindows

#jira none
#trivial

[CL 16175552 by jonathan adamczewski in ue5-main branch]
2021-04-30 22:11:47 -04:00
jonathan adamczewski
57d4f98692 UnrealBuildTool/System/Utils.cs:
Remove special case for old mono version.

#jira none
#trivial

[CL 16175012 by jonathan adamczewski in ue5-main branch]
2021-04-30 20:15:12 -04:00
Joe Kirchoff
7f9b056d56 UnrealBuildTool: Limit number of concurrent actions based on free memory availalble, defaulted to requiring 1.5GB per running action.
Refactor GetMaxActionsToExecuteInParallel to Utils from LocalExecutor and share with ParallelExecutor
Remove logic to use average of physical and logical cores if hyper-threading is enabled

#jira UE-113283
#rb Jonathan.Adamczewski Ben.Marsh

[CL 15997233 by Joe Kirchoff in ue5-main branch]
2021-04-13 19:04:18 -04:00
jules blok
8c83a7a278 Fix invalid stdin handle causing mabu to fail in the Lumin toolchain
#jira UE-108771
#rb Ben.Marsh

#ROBOMERGE-SOURCE: CL 15602227 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v777-15581079)

[CL 15602229 by jules blok in ue5-main branch]
2021-03-04 02:12:08 -04:00
Marc Audy
9753392e2b Merge UE5/RES CL# 15462083 to UE5/Main
This represents UE4/Main @ 15414221

[CL 15463811 by Marc Audy in ue5-main branch]
2021-02-18 18:13:28 -04:00
Josh Adams
dbdede82f3 - C# Turnkey now uses ID, not Name, for proper connection to editor turnkey calls
- Changed RunLocal* functions in UnrealBuildTools.Utils to use UTF-8 stdout
- IOS device detection (TVOS needs some testing still)
#rb jack.porter,axel.riffard

[CL 15277910 by Josh Adams in ue5-main branch]
2021-02-01 22:36:31 -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
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
Joakim Lindqvist
e7039d3d35 UBT and UAT now use .NET Core instead of Framework and Mono. This means that we use the same runtime on Windows, Linux and Mac. Further benefits including newer C# features and a lot of intresting features for the future around AOT and Tiered compilation.
Some behavior changes:
Output paths - Both tools are now output to a subdirectory of Binaries/Dotnet, I believe most hardcoded paths have been fixed up but there may be tools that will fail because of this.
UAT Plugin Building - As .NET Core does not support AppDomain unloading, how we build the plugins has changed quite a bit, these are now built before UAT is started rather then by UAT itself. If you just start UAT via RunUAT.bat/sh this should just continue to work.

#rb ben.marsh

[CL 14834347 by Joakim Lindqvist in ue5-main branch]
2020-12-02 06:57:13 -04:00
Ben Marsh
96c997d826 UBT: Move logic for building response files and generating inputs and outputs for MSVC compilation into the VCCompileAction class.
#rb none
#rnx

[CL 14812826 by Ben Marsh in ue5-main branch]
2020-11-25 10:19:33 -04:00
Joakim Lindqvist
701b33939e Updated mac shell scripts for UBT in NetCore, opt in by setting UE_USE_DOTNET=1, note that due to output path differences a lot of tooling will break when enabling it.
#rb ben.marsh

[CL 14641121 by Joakim Lindqvist in ue5-main branch]
2020-11-03 08:46:05 -04:00
Joakim Lindqvist
2f6056b62b UAT Net-Core now supports running on Linux as well.
Set UE_USE_DOTNET=1 to enable this.

#rb ben.marsh

[CL 14641009 by Joakim Lindqvist in ue5-main branch]
2020-11-03 08:30:22 -04:00
Joakim Lindqvist
4aa09904f2 UnrealBuildTool now supports running as a net core project.
Added a set of netcore csprojs to BuildUtilities and DotnetUtilities that build to a seperate output folder. This allows other tools to still target .net framework (like UAT for instance).
UBT is still by default targeted as .net framework.

Note that UBT built for net core has a different output directory Engine/Binaries/DotNet/UnrealBuildTool/UnrealBuildTool.exe - this is due to how a netcore project output looks with signficantly more files that are related to that application (that would be overwritten if using a shared directory).

To opt in to this set UE_USE_DOTNET=1 environment variable.
Please note that due to the changed output directory a lot of tooling will likely break at this point.

#rb ben.marsh

[CL 14419918 by Joakim Lindqvist in ue5-main branch]
2020-10-05 08:13:04 -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
Rolando Caloca
5b82f15def Copying //UE4/Dev-RenderPlat-Staging@11388153 to //UE4/Main
#rb none
#rnx

[CL 11388545 by Rolando Caloca in Main branch]
2020-02-12 13:27:19 -05:00
Juan Canada
2ecf4f9708 Merging //UE4/Dev-Main@10877709 to Dev-RenderPlat-Staging(//UE4/Dev-Rendering)
#rnx
#rb none

[CL 10895568 by Juan Canada in Dev-RenderPlat-Staging branch]
2020-01-07 13:45:01 -05: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
cfce5dd9ac Submit of Josh Adams' restructuring of platform handling in UBT
[FYI] Josh.Adams


#ROBOMERGE-SOURCE: CL 10590881
#ROBOMERGE-BOT: (v607-10590470)

[CL 10590882 by marc audy in Main branch]
2019-12-06 09:16:21 -05:00
Michael Sartain
e6e5a2506d Add LinuxAArch64Server and LinuxAArch64Client build targets
Cherry pick 9427927

#rb Brandon.Schaefer
#jira none

[CL 9618959 by Michael Sartain in 4.24 branch]
2019-10-16 11:53:16 -04:00
ben marsh
ef3c866b47 LiveCoding: Prevent object files being overwritten during a live coding compile. Object files are now built with a .lc suffix, leaving the original files intact. This ensures it can gather COFF data from the correct executables on relaunch, and means that any existing changes will be patched in as soon as the first Live Coding compile is initiated. Should fix several issues.
#rb none
#jira UE-76940, UE-76993, UE-76943

#ROBOMERGE-SOURCE: CL 7321451 in //UE4/Release-4.23/...
#ROBOMERGE-BOT: RELEASE (Release-4.23 -> Main) (v371-7306989)

[CL 7321452 by ben marsh in Main branch]
2019-07-16 08:51:35 -04:00
Jeff Fisher
bcc5bcf128 Copying //UE4/Dev-VR to Main (//UE4/Main)
-Copy up for 4.23
#rb none

[CL 6911980 by Jeff Fisher in Main branch]
2019-06-10 12:22:13 -04:00