Commit Graph

110 Commits

Author SHA1 Message Date
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
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
95512df0b1 UBT: Add a FileReference.WriteAllBytesIfModified() method to make it easier to update files without modifying the timestamp if they don't change.
#rb none
#jira

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

[CL 4968438 by ben marsh in Main branch]
2019-02-12 09:39:49 -05:00
ben marsh
9cf6e99585 UBT: Prevent DebugGame compile environment from having different ORIGINAL_FILE_NAME macro to the development build environment. This is only needed when compiling resources for binaries. Also prevent the precompiled manifest being written to if it doesn't change.
#rb none
#jira UE-69434

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

[CL 4877081 by ben marsh in Main branch]
2019-02-01 23:04:39 -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
ccde903b49 UBT: Use FileReference and DirectoryReference instead of raw strings in actions.
#rb none
#rnx

[CL 4674720 by Ben Marsh in Dev-Build branch]
2018-12-27 10:48:30 -05:00
Ben Marsh
1f7489ee30 UBT: Add a property to BuildHostPlatform for the type and path of the shell to use.
#rb none
#rnx

[CL 4674713 by Ben Marsh in Dev-Build branch]
2018-12-27 10:19:49 -05:00
Ben Marsh
703be91072 UBT: Add an exception for propagating error codes to the calling process, rather than having to pass them by return values. Also suppress "produced item not found" errors when the compile has already failed.
#rb none

[CL 4671996 by Ben Marsh in Dev-Build branch]
2018-12-20 15:10:04 -05:00