Commit Graph

363 Commits

Author SHA1 Message Date
brandon schaefer
a90cdbe7c2 Rename LinuxAArch64 to LinuxArm64
#jira UE-118127
#rb Michael.Sartain
[FYI] Marc.Audy, Aurel.Cordonnier

#ROBOMERGE-SOURCE: CL 16660821 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v834-16658389)

[CL 16660830 by brandon schaefer in ue5-release-engine-test branch]
2021-06-14 13:40:06 -04:00
jonathan adamczewski
7690b7838d UnrealBuildTool:
Per-project rules assembly csprojen.

Previously: all .build.cs and .target.cs were being grouped into a single project, which resulted in duplicate symbols when trying to build the project.

Now: multiple assemblies csprojs are generated, one for each Engine & Game project. Also, includes preprocessor defines.

#jira none
#rb ben.marsh

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

[CL 16658608 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-14 11:00:14 -04:00
jonathan adamczewski
223a11ee71 UnrealBuildTool
Adding "using UnrealBuildBase" to some files (submitted separately to make subsequent CLs smaller)

#jira none
#trivial

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

[CL 16657806 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-14 09:25:41 -04:00
jonathan adamczewski
921afc7bb7 ProjectFileGenerator.cs:
Remove redundant list copy

#jira none
#trivial

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

[CL 16650271 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-11 21:14:19 -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
c7984899ea UnrealBuildTool/UnrealBuildFiles.csproj:
Create project in its own directory to avoid confusing other builds with UnrealBuildFiles' intermediate files

#jira none

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

[CL 16646811 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-11 16:40:18 -04:00
jonathan adamczewski
608020b86e UnrealBuildFiles.csproj
Generate UnrealBuildFiles.csproj, a project that contains references to all of the Build.cs and Target.cs files in the solution, and add it to the generated solution.

With this project in the solution, Intellisense is available when editing these files, and the project may be compiled in Visual Studio, providing representative results of what UBT will do with the files (UBT will re-compile the files when it needs to)

Using Visual Studio 2019 16.9.6, adding this project increased memory usage by ~20MB after load (from 540MB to 560MB) for a workspace containing Engine, and two sample games.

#jira none
#rb ben.marsh

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

[CL 16642914 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-11 12:25:58 -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
michael noland
65ea9e2550 UBT: Place non-source/non-config files in Platforms subfolders correctly into their relative folder structure in the project file
#rb josh.adams

#ROBOMERGE-SOURCE: CL 16630055 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v831-16623017)

[CL 16630060 by michael noland in ue5-release-engine-test branch]
2021-06-10 16:55:58 -04:00
alexis matte
f01b1f01d8 Backout changelist 16519471, interchange worker will not be build by the build system automatically, user will have to build it manually.
#rb none
#jira UE-108125

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

[CL 16610769 by alexis matte in ue5-release-engine-test branch]
2021-06-09 15:19:23 -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
0dc1d65494 Move DirectoryLookupCache.cs to BuildUtilities
#jira none

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

[CL 16596492 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-08 19:12:31 -04:00
jonathan adamczewski
3d5833e02f Add a common C# method for detecting the current host platform to EpicGames.Core, and move many a test to use that code.
#jira none
#rb joe.kirchoff

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

[CL 16593589 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-08 17:01:47 -04:00
Joe Kirchoff
80fca790c7 UnrealBuildTool: Use BuildToolOverride for -2022 in VcProject generation
#rb trivial

[CL 16590047 by Joe Kirchoff in ue5-main branch]
2021-06-08 14:11:54 -04:00
axel riffard
8082e17223 Refactor iOS Icons
#jira UE-72584
#rb jack.porter
#preflight 60bef2cb0c76f90001d9e9a9

[CL 16583855 by axel riffard in ue5-main branch]
2021-06-08 03:06:05 -04:00
Alexis Matte
b4b391a5f6 Force InterchangeWorker to be build when building the editor
#rb ryan.durand
#jira UE-108125

[CL 16519471 by Alexis Matte in ue5-main branch]
2021-06-01 14:49:58 -04:00
aurel cordonnier
43fa62fcd8 Merge from Release-Engine-Test @ 16487383 to UE5/Main
This represents UE4/Main @ 16445039 and Dev-PerfTest @ 16444526

[CL 16488106 by aurel cordonnier in ue5-main branch]
2021-05-27 13:40:37 -04:00
Joe Kirchoff
9879d7f52d UnrealBuildTool: Support VS2022 Preview
Default is still VS2019, running `GenerateProjectFiles.bat -2022` will create a solution and projects that pass -2022 to UnrealBuild tool when compiling from Visual Studio to force it to use the 2022 toolchain.
Please note, as the defaults are unchanged building from UnrealGameSync will still compile with VS2019 so I would disable that build if testing VS2022.
None of this is necessary to use VS2022, it can open VS2019 solutions and will use the Vs2019 toolchain to build.

#rb Ben.Marsh
#pf 60aebccd7d4b9f0001197729

[CL 16478477 by Joe Kirchoff in ue5-main branch]
2021-05-26 19:58:10 -04:00
Joe Kirchoff
75edf837e1 Remove build support for Visual Studio 2015
#rb Jonathan.Adamczewski
#preflight 60ad7f3b8194e700015e1d77

[CL 16459038 by Joe Kirchoff in ue5-main branch]
2021-05-25 20:10:26 -04:00
james singer
2bd6138302 Add launch options to VSCodeProjectFileGenerator that allow attaching to a running process or debugging a core file
#jira UE-92630
#rb Joakim.Lindqvist
#fyi brandon.schaefer

[CL 16403824 by james singer in ue5-main branch]
2021-05-20 11:16:49 -04:00
Joe Kirchoff
0e3c9f756f UnrealBuildTool: Slightly optimize generated visual studio project to reduce memory usage
* Filter out numerous source files that match */Source/ThirdParty/* that should have already been filtered, this does not include Module.Build.cs or .tps files, or if bGatherThirdPartySource is enabled
* Filter out source files that match */third_party/* by default
* Add option bIncludeDotNetPrograms to remove all ..NET projects, doing so saved me around 400MB. Note if you disable the .NET projects UnrealBuildTool won't build before compiling (but GenerateProjectFiles.bat will still build it)

Attempted changes that did not reduce memory usage by a significant amount:
* Filtering out project configurations
* Filtering out Engine/Shaders or Engine/Content/Editor/Templates
* Increasing the shared include size, even making it large enough to contain every include path didn't really make a difference. Also it can't really be increased anyway because that entire property is added to the process environment when starting a build and there's a max environment size of around 32k

Other Fixes:
* Fix vs2019 ToolVersionString 15.0 -> 16.0
* Add VCProjectVersion to Project globals
* Update UniqueIdentifier GUIDs in projects to be stable by hashing the directory path and using that hash as the GUID
* Don't write ProjectConfiguration if filtered out (Didn't affect memory usage)
* Add optional configuration filter for Debug, DebugGame, & Development

#jira UE-111822
#rb none

[CL 16319735 by Joe Kirchoff in ue5-main branch]
2021-05-13 17:38:21 -04:00
Andrew Grant
90d0d3032d Fixed two cases where blocked directories in ExcludedIncludePaths in BuildConfiguration.xml weren't always followed.
1) If the user specified a path as Bar\ then "Foo\Bar" would still be allowed (but not Foo\Bar\File.h) due to the trailing directory slash.

2) Code that deals with platform specific includes (ALiasedFiles) would omit the included file but still include the path in the AdditionalIncludeDirectories entry

#review-16240187 @andy.firth
#jira nojira
#preflight 6095b7c726ed4f0001615079

[CL 16240409 by Andrew Grant in ue5-main branch]
2021-05-07 18:42:13 -04:00
jonathan adamczewski
882f48323d UnrealBuildTool: Remove SupportsDotNetCoreProjects()
VS2019 is the minimum required VS version, and has support for NET Core projects - we no longer need this check.

#jira none

[CL 16175554 by jonathan adamczewski in ue5-main branch]
2021-04-30 22:12:17 -04:00
jonathan adamczewski
6ea321339f VSCodeProjectFileGenerator.cs:
IsRunningOnMono -> !IsRunningOnWindows

#trivial
#jira none

[CL 16175242 by jonathan adamczewski in ue5-main branch]
2021-04-30 21:02:50 -04:00
jonathan adamczewski
6050e64605 ProjectFileGenerator.cs:
IsRunningOnMono -> !IsRunningOnWindows

#trivial
#jira none

[CL 16174952 by jonathan adamczewski in ue5-main branch]
2021-04-30 20:04:55 -04:00