Commit Graph

1365 Commits

Author SHA1 Message Date
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
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
Ben Marsh
63c7abb560 UBT: Fix exception trying to read makefile with null directoryreference objects.
[CL 16180253 by Ben Marsh in ue5-main branch]
2021-05-02 14:02:22 -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
jonathan adamczewski
1f82bedc58 Removal some references to Mono
#trivial
#jira none

[CL 16171278 by jonathan adamczewski in ue5-main branch]
2021-04-30 14:34:17 -04:00
Ben Marsh
69d6f57566 UBT: Fix error trying to read makefile, due to value being null.
[CL 16170433 by Ben Marsh in ue5-main branch]
2021-04-30 13:31:27 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
Ben Marsh
bc47b15e06 Merge utility library changes from GitSync.
[CL 16135807 by Ben Marsh in ue5-main branch]
2021-04-27 22:41:48 -04:00
jonathan adamczewski
6bf7665e9f HotReload:
Make ShouldDoHotloadFromIDE() more robust against the possiblity that the PID of a long-gone Editor instance has been recycled as a system process.

#jira none

[CL 16026733 by jonathan adamczewski in ue5-main branch]
2021-04-15 17:27:34 -04:00
Joe Kirchoff
bf5c868045 UnrealBuildTool: Print detailed information when two Actions conflict
#jira UE-100056
#rb Ben.Marsh

[CL 16012091 by Joe Kirchoff in ue5-main branch]
2021-04-14 16:55:57 -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
Marc Audy
01b7c9f4f5 Merge UE5/RES @ 15958325 to UE5/Main
This represents UE4/Main @ 15913390 and Dev-PerfTest @ 15913304

[CL 15958515 by Marc Audy in ue5-main branch]
2021-04-08 14:32:07 -04:00
jack porter
946b30a59a Remove UE3/UE4 references
#jira UE-112108
#jira UE-111469
#jira UE-111456
#jira UE-111451
#jira UE-111331
#jira UE-111149
#jira UE-111136
#jira UE-110941
#jira UE-104701
#rb trivial
[FYI] Chris.Babcock
#preflight 606446947a99880001b3cbac

#ROBOMERGE-SOURCE: CL 15872931 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15872932 by jack porter in ue5-main branch]
2021-03-31 06:40:14 -04:00
halfdan ingvarsson
861ba82878 Enable C++17 support across the board in UE5.
#jira none
#rb ben.marsh, brandon.schaefer, chris.babcock, david.harvey, jules.blok, mark.lintott, michael.sartain, nuno.leiria, rolando.caloca, stefan.boberg, steve.smith, will.damon

[CL 15869195 by halfdan ingvarsson in ue5-main branch]
2021-03-30 19:01:25 -04:00
ben marsh
1b35f7c712 UBT: Add support for compiling a list of files passed via the -FileList=... argument.
#rb none

#ROBOMERGE-SOURCE: CL 15847275 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15847285 by ben marsh in ue5-main branch]
2021-03-28 19:41:21 -04:00
Ben Marsh
8819bf2407 UBT: Set a list of preferred ranges for compiler toolchains, rather than just specific versions. Avoids always falling back to the oldest available.
#rb none
#jira

#ROBOMERGE-OWNER: Ben.Marsh
#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 15844577 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)
#ROBOMERGE-CONFLICT from-shelf

[CL 15844585 by Ben Marsh in ue5-main branch]
2021-03-27 10:09:27 -04:00
halfdan ingvarsson
a02942648e Make it somewhat easier to bump C++ versions:
* Re-defined CppStandardVersion.Default in terms of existing enums and removed it from maps and switches etc.
* Added C++20 flags for all the recognized compilers.

#jira none
#rb ben.marsh
#rnx

[CL 15801501 by halfdan ingvarsson in ue5-main branch]
2021-03-24 12:27:44 -04:00
David Harvey
38cb9a7d86 Plugin reference descriptors do not verify that the plugin's platforms names are known platforms. This means that the project will generate and build correctly even if a user doesn't have a particular platform extension synced.
#jira UE-108682
#rb josh.adams, ben.marsh

[CL 15694805 by David Harvey in ue5-main branch]
2021-03-15 06:00:55 -04:00
Ben Marsh
d2af06bed6 Fix support for C++20 modules.
#rb none
#rnx
#preflight 604a88b003c5190001d96f42

[CL 15681675 by Ben Marsh in ue5-main branch]
2021-03-11 18:03:43 -04:00
Devin Doucette
800b4e9427 UBT: Fixed bAdaptiveUnityCompilesHeaderFiles to use generated files to include headers
#rb Ben.Marsh
#rnx
#robomerge[STARSHIP] Release-5.0-EarlyAccess

[CL 15666062 by Devin Doucette in ue5-main branch]
2021-03-10 11:23:43 -04:00
brandon dawson
79a0dc89af Make sure that the editor process is actually running for hot reload test. Fixes situation where PIDs were still building up in Engine\Intermediate\EditorRuns, causing extrememly long build times in no build situations. Saves about 50 seconds on my current setup.
Ben.Marsh

#ROBOMERGE-SOURCE: CL 15654772 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v779-15635321)

[CL 15654783 by brandon dawson in ue5-main branch]
2021-03-09 11:29:42 -04:00
Devin Doucette
8b1f950403 UBT: Apply optimization, precompiled header, and header build behaviors to the working set even when unity is disabled on the module
#rn Ben.Marsh
#robomerge[STARSHIP] Release-5.0-EarlyAccess
#fyi Brandon.Dawson

[CL 15645534 by Devin Doucette in ue5-main branch]
2021-03-08 16:58:01 -04:00
Devin Doucette
966706f9dd UBT: Restored OrdinalIgnoreCase sort order for unity files
#rb none
#rnx
#robomerge[STARSHIP] Release-5.0-EarlyAccess

[CL 15645525 by Devin Doucette in ue5-main branch]
2021-03-08 16:56:07 -04:00
Devin Doucette
a3f68f3798 UBT: Sort includes in unity files by InvariantCultureIgnoreCase for consistency with the previous implementation
#rb none
#rnx
#robomerge[STARSHIP] Release-5.0-EarlyAccess

[CL 15641897 by Devin Doucette in ue5-main branch]
2021-03-08 12:47:09 -04:00