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
[CL 16779820 by Joe Kirchoff in ue5-main branch]
<BuildConfiguration>
<bEnableAddressSanitizer>true</bEnableAddressSanitizer>
#jira UE-112891
#rb dan.phillips
#rnx
[CL 16757980 by David Harvey in ue5-main 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
[CL 16743860 by David Harvey in ue5-main 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
#ROBOMERGE-BOT: (v834-16658389)
[CL 16659295 by jeanfrancois dube 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]
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]
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]
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]