Force use of cl-filter if printing timing information for CTA.
#rnx
#jira UE-133073
#rb jonathan.adamczewski
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 18339498 in //UE5/Release-5.0/... via CL 18339528
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
[CL 18339548 by ryan durand in ue5-release-engine-test branch]
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971
[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
C++20 deprecates some arithmetic operations on enums, resulting in warnings like the following:
warning C5054: operator '+': deprecated between enumerations of different types
Ref: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1120r0.html
The code is remains valid, but may become unsupported in a future C++ standard (C++23, C++26, or not at all - see for example discussion in http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p2139r2.html )
#jira none
#trivial
#rb joe.kirchoff
#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 17649855 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)
[CL 17649874 by jonathan adamczewski in ue5-release-engine-test branch]
Support for writing files directly as lines, without converting to a single string first.
#jira none
#rb joe.kirchoff
#ROBOMERGE-SOURCE: CL 17162046 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)
[CL 17162059 by jonathan adamczewski in ue5-release-engine-test branch]
Verified relative pathing works fine for msvc clang builds
Use .d files for dependencies when compiling with windows clang, instead of piping through cl-filter.exe
Use relative pathing for generated unity files
#rb Jonathan.Adamczewski
#rnx
#preflight 60d4de2bcaf0590001e62de9
#preflight 60d4efbccaf0590001e9af24
#ROBOMERGE-SOURCE: CL 16779820 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)
[CL 16779826 by joe kirchoff in ue5-release-engine-test branch]
This is used when dealing with PDB files that are over 4GB.
Use -PdbPageSize=<value> on the UBT command line, or add this to BuildConfiguration.xml:
<WindowsPlatform>
<PDBPageSize>32768</PDBPageSize>
</WindowsPlatform>
Expected values are 4096 (default), 8192, 16384, 32768
Note to select an installed preview build of VS, you need to specify
<WindowsPlatform>
<CompilerVersion>Preview</CompilerVersion>
</WindowsPlatform>
#rb ben.marsh
#jira UE-116910
#ROBOMERGE-SOURCE: CL 16743860 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)
[CL 16743872 by david harvey in ue5-release-engine-test branch]
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 via CL 16659295
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v834-16658389)
[CL 16659422 by jeanfrancois dube in ue5-release-engine-test 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
#ROBOMERGE-SOURCE: CL 16616339 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)
[CL 16616345 by jonathan adamczewski in ue5-release-engine-test 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
#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]
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]