Commit Graph

81 Commits

Author SHA1 Message Date
Josh Adams
fa845ed9b9 - VSMac project generation now takes into account projects that are windows only, and doesn't attempt to put them into the solution
- Don't make solution folders if there are no projects anywhere in them
- Fixed MemProfiler2.csproj to open on VSMac (although now with the above it is skipped anyway because it requires windows - but if we make it not require windows, we'd need this fix to match what UBT does)
#jira none
#rb tim.smith
#preflight 6255a8bfcd5ed4dd091a8ece

[CL 19725910 by Josh Adams in ue5-main branch]
2022-04-12 14:29:41 -04:00
jonathan adamczewski
c1bb6901bf Upgrade to .NET 6.0
#jira UE-119846
#preflight 624cbb2ecc0872e96b0d5181

[CL 19652696 by jonathan adamczewski in ue5-main branch]
2022-04-06 14:46:50 -04:00
Josh Adams
3a60b1efab - Moved most of the remaining SDK discovery/versioning from UEBuildWindows.cs to MicrosoftPlatformSDK.cs
#preflight 62476ac7f73c316f680e9ad3
#rb joe.kirchoff
#jira none

[CL 19604020 by Josh Adams in ue5-main branch]
2022-04-03 15:04:38 -04:00
jonathan adamczewski
5c68d1d9ef Revert //UE5/Main/... changelist 19531725 - return to NET Core 3.1
#preflight 62422fd0470aff98e946bfce
#jira UE-119846

[CL 19534572 by jonathan adamczewski in ue5-main branch]
2022-03-28 18:25:19 -04:00
jonathan adamczewski
18ac15cbb1 Upgrade to .NET 6.0
#jira UE-119846
#preflight 6241fc06470aff98e943c035

[CL 19531725 by jonathan adamczewski in ue5-main branch]
2022-03-28 15:30:56 -04:00
jeff fisher
c1958b0acd UE-136919 //UE5/Main - Compile UnrealGame HoloLens - No required compiler toolchain found
-The build machine was trying to use a locally installed toolchain that did not have the arm64 toolchain installed.
-We now identify toolchains with arm64 support and select from only those for arm64 builds.
#rb Joe.Kirchoff, Josh.Adams
#jira UE-136919
#preflight

#ROBOMERGE-AUTHOR: jeff.fisher
#ROBOMERGE-SOURCE: CL 18665835 in //UE5/Release-5.0/... via CL 18665840 via CL 18665864
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v901-18665521)

[CL 18665888 by jeff fisher in ue5-main branch]
2022-01-19 16:20:07 -05:00
jonathan adamczewski
5c48869c86 UnrealBuildTool: rename MasterProject settings as PrimaryProject, and some other uses of 'master'
Variable, function and class renames only. XML-facing variables included deprecated support for the old names.

Renaming of the MasterProjectName.txt file will be handled in a subsequent change.

#jira none
#preflight 61d8a162ec35d1b940f74818

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 18550269 in //UE5/Release-5.0/... via CL 18550308
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18550325 by jonathan adamczewski in ue5-release-engine-test branch]
2022-01-07 15:40:01 -05:00
rex hill
0a45f859eb Add ExludedFilePaths to vcproject generation for special situations where a developer does not want to see certain files in visual studio project
#rb dave.belanger
[FYI] Jonathan.Adamczewski
#preflight 61b0cdbf7177ccd1a12fe73e

#ROBOMERGE-OWNER: rex.hill
#ROBOMERGE-AUTHOR: rex.hill
#ROBOMERGE-SOURCE: CL 18406142 via CL 18406661 via CL 18407277 via CL 18407281 via CL 18434891 via CL 18437287
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18437342 by rex hill in ue5-release-engine-test branch]
2021-12-10 20:35:34 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
joe kirchoff
c46a4af3c5 UnrealBuildTool: Remove support for VS2017
#jira UE-126521
#rb Jonathan.Adamczewski
#preflight 6144ffdb11925a000119cac6

#ROBOMERGE-AUTHOR: joe.kirchoff
#ROBOMERGE-SOURCE: CL 17559611 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17559616 by joe kirchoff in ue5-release-engine-test branch]
2021-09-17 18:25:11 -04:00
iniside
b5d73241d5 PR #8219: Update compiler version to 143 in VS Project Generator (Contributed by iniside)
#ROBOMERGE-SOURCE: CL 16924097 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16924128 by iniside in ue5-release-engine-test branch]
2021-07-22 11:18:59 -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
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
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
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
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
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
ben marsh
96813c1e8b Create a stable GUID for *.csproj files in the solution if there isn't one in the project itself (as is the case with NET Core).
#rb none
#rnx

#ROBOMERGE-SOURCE: CL 15561660 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15561665 by ben marsh in ue5-main branch]
2021-03-01 16:46:34 -04:00
mark lintott
53511dcacd #jira UE-104748
#rb Ben.Marsh

Renamed UE4.natvis to Unreal.natvis
Fixed up Project File Generator within the Unreal Build Tool

[CL 15009828 by mark lintott in ue5-main branch]
2021-01-07 10:21:33 -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
Joakim Lindqvist
302f1f8ddd UBT can now filter out any project which requires dotnet support from the solution, which we do for VS2017 as it does not support Dotnet Core 3+
#rb ben.marsh

[CL 14855498 by Joakim Lindqvist in ue5-main branch]
2020-12-04 12:20:48 -04:00
Josh Adams
b2e578ee68 - Fixed debugging AutomationTool in Visual Studio with netCore changes
#rb joakim.lindqvist

[CL 14836195 by Josh Adams in ue5-main branch]
2020-12-02 12:57:17 -04:00