Our stack size defaults to 4.7M on Windows, so allowing functions to use more stack space in favor of going through the heap.
#rb steve.robb
#ROBOMERGE-SOURCE: CL 16653849
#ROBOMERGE-BOT: (v834-16658389)
[CL 16659295 by jeanfrancois dube in ue5-main branch]
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
[CL 16658600 by jonathan adamczewski in ue5-main branch]
Adding "using UnrealBuildBase" to some files (submitted separately to make subsequent CLs smaller)
#jira none
#trivial
[CL 16657799 by jonathan adamczewski in ue5-main branch]
UnrealBuild -> Unreal for EngineDirectory, RootDirectory, IsEngineInstalled, UnrealBuildToolPath
Remove CommandUtils EngineDirectory, RootDirectory, IsEngineInstalled - use equvalents from UnrealBuildBase.Unreal
#jira none
[CL 16648181 by jonathan adamczewski in ue5-main branch]
Create project in its own directory to avoid confusing other builds with UnrealBuildFiles' intermediate files
#jira none
[CL 16646776 by jonathan adamczewski in ue5-main branch]
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
[CL 16642908 by jonathan adamczewski in ue5-main branch]
#fyi Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: Remove LocalExecutor and use ParallelExecutor for all host platforms
Update ManagedProcess to capture stderr if using C# Process objects
#jira UE-117670
#rb Ben.Marsh
#preflight 60c2a1d3730f8a000185ae66
#preflight 60c2a5bab1a4a300012ea45d
[CL 16642682 by joe kirchoff in ue5-main branch]
Update ManagedProcess to capture stderr if using C# Process objects
#jira UE-117670
#rb Ben.Marsh
#preflight 60c2a1d3730f8a000185ae66
#preflight 60c2a5bab1a4a300012ea45d
[CL 16642253 by Joe Kirchoff in ue5-main branch]
Add a StringComparison argument to CreateIntermediateTextFile() and require callers to make a decision about the case-sensitivity used when considering whether to re-write a file.
(This is intentionally explicit and verbose at the call-site - we should implement a better solution. This change makes it clear that there is work to be done to be able to simplify the interface and achieve reliable behavior.)
As a first pass, C++ files (headers, cpp files, pch files) will have a case-sensitive comparison (C++ code is, mostly, case sensitive), Linux script files have a case-sensitive comparison (case-sensitive filesystem), and all other files are compared disregarding case - to match pre-existing behavior, and with the desire to not borrow more surprises than necessary.
#jira none
[CL 16616339 by jonathan adamczewski in ue5-main branch]
Move NativeProjects partially into BuildUtilities - class split to avoid pulling in a larger chain of dependencies.
#jira none
[CL 16608480 by jonathan adamczewski in ue5-main branch]
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
[CL 16607440 by jonathan adamczewski in ue5-main branch]