#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]
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]
Need to look into a suppression file for these so we can re-enable this
#jira none
#rb Michael.Sartain, Robert.Seiver
#preflight trivial
[CL 19017210 by Brandon Schaefer in ue5-main branch]
Add command line argument for bRetainFramePointers.
#rb brandon.schaefer
[FYI] nuno.leiria
#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 18981122 via CL 18981257 via CL 18981859 via CL 18982123 via CL 18982359 via CL 18992714 via CL 18993053
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)
[CL 18997362 by robert millar in ue5-main branch]
#preflight 61eb2a6bc557ec200193db0d
#ROBOMERGE-AUTHOR: arne.schober
#ROBOMERGE-SOURCE: CL 18701113 in //UE5/Release-5.0/... via CL 18701116 via CL 18701155
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18701160 by arne schober in ue5-main branch]