#rb brandon.schaefer
#rb chris.babcock
#preflight 627ad0017e5f24d1ede6d5d0
#preflight 627ada7a0a5817c9d91562c0
#rnx
* Move ClangVersion variables to base class and share function to check version. A separate change will add a virtual function for parsing the clang version for each toolchain as to not add complexity to this change.
* GetCppStandardCompileArgument: Used by all, no differences
* GetCompileArguments_CPP: Used by all. Switch & Apple are overridden
* GetCompileArguments_C: Used by all, no differences
* GetCompileArguments_MM: Used by Linux & Apple. Apple is overridden.
* GetCompileArguments_M: Used by Linux & Apple. Apple is overridden.
* GetCompileArguments_CPP: Used by all. Switch & Apple are overridden.
* GetRTTIFlag: Used by Linux & Apple, no differences.
[CL 20131754 by Joe Kirchoff in ue5-main branch]
#rb jonathan.adamczewski
#preflight 626984b40d4ac78d717f075b
Initial testing has shown this PCH flag improves clang compile time by up to 20%
This flag is the default for clang-cl so it already applies to windows clang builds. Other clang based platforms will be supported as additional testing is done.
https://reviews.llvm.org/D69585
Linux UnrealEditor Development:
- Before Total CPU Time: 114072.34375 s
- Before UBT Run Time: 00:26:05
- After Total CPU Time: 86165.671875 s
- After UBT Run Time: 00:20:43
Total CPU Time improvement 24.46%
UBT Run Time improvement 20.58%
Linux UnrealGame Development:
- Before Total CPU Time: 23445.140625 s
- Before UBT Run Time: 00:09:13
- After Total CPU Time: 18492.71875 s
- After UBT Run Time: 00:07:52
Total CPU Time improvement 21.12%
UBT Run Time improvement 13.56%
[CL 19943838 by Joe Kirchoff in ue5-main branch]
This flag validates pch inputs using content only when the mtime check fails, allowing the build to not fail if the content does not actually differ.
#rb jonathan.adamczewski
#rnx
#preflight 6268708c820fbeb9a434bc28
[CL 19931628 by Joe Kirchoff in ue5-main branch]
- Windows will be first to use it, but in a future CL, with toolchain separate from Windows SDK
- Cleaned up some of the PlatformSDK API to have fewer public members (mainly so the functions that receive multiple versions can be automatically populated with the current single version functions in the subclasses)
- Updated the Turnkey menu to handle multiple versions
#jira none
#rb david.harvey
#preflight 62508cd8f10bcc0f4fa8b5d1
[CL 19692492 by Josh Adams in ue5-main branch]
This addresses an issue on Linux where libraries that do not have the "lib"
prefix can go missing at link time because the linker ends up looking for the
library with the prefix. For example, a library with the filename "foo.so"
would result in the "-lfoo" flag being added to the link command, which would
then cause the linker to look for a library with the name "libfoo" that does
not exist.
#rb brandon.schaefer
#preflight 6227a18ba83706728750078b
[CL 19337849 by matt johnson in ue5-main branch]
#fyi Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: bPreprocessDepends for LinuxToolChain
#rb trivial
#rnx
#preflight 6222b1759a2bb63d197e8fe0
[CL 19327816 by joe kirchoff in ue5-main branch]
This is breaking EngineTest automated testing due how we looked up exe path based on the *.target file name.
*Note* This is pretty hacky, but since non-monolithic/editor builds already collide with the non-asan build dir this is ending up no worse.
Checked with Game/Monolithics are still working and correctly being renamed UnrealGame-ASan + UnrealGame-ASan.target
#jira none
#rb none
#fyi Michael.Sartain,
#preflight 6219a0e142189ae6226c6e94
[CL 19164898 by Brandon Schaefer in ue5-main branch]
#fyi Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: Ensure name suffixes are added if the TargetName is replaced in UEBuildTarget (manually merge due to conflict)
#rnx
#rb none
#preflight 61e9e7f6ab6e1cc028bd372a
[CL 19095177 by joe kirchoff in ue5-main branch]
#fyi joe.kirchoff
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL18683346
#fyi Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: Ensure name suffixes are added if the TargetName is replaced in UEBuildTarget (manually merge due to conflict)
#rnx
#rb none
#preflight 61e9e7f6ab6e1cc028bd372a
[CL 19094975 by joe kirchoff in ue5-main branch]
#fyi Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: Ensure name suffixes are added if the TargetName is replaced in UEBuildTarget (manually merge due to conflict)
#rnx
#rb none
#preflight 61e9e7f6ab6e1cc028bd372a
[CL 19094839 by joe kirchoff in ue5-main branch]