Commit Graph

181 Commits

Author SHA1 Message Date
michael sartain
0140c2676c Add LTO type to Linux build information
#rnx
[FYI] Brandon.Schaefer
#preflight none

#ROBOMERGE-AUTHOR: michael.sartain
#ROBOMERGE-SOURCE: CL 20358864 via CL 20360263 via CL 20360323
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v948-20297126)

[CL 20360688 by michael sartain in ue5-main branch]
2022-05-25 02:13:19 -04:00
Joe Kirchoff
6c92065094 UnrealBuildTool: Merge various Clang ToolChainOptions enums
#rb none
#rnx
#preflight 62843567925bbe69df8dc8d4

[CL 20358298 by Joe Kirchoff in ue5-main branch]
2022-05-24 19:41:41 -04:00
Joe Kirchoff
2096e9af16 UnrealBuildTool: Move more common warning disables to ClangToolChain
#rnx
#rb none
#preflight 628bce97016e5daa1cc535ba
#preflight 628bd06469091e8bfe1303e7

[CL 20333841 by Joe Kirchoff in ue5-main branch]
2022-05-23 14:35:21 -04:00
Joe Kirchoff
1e55c7850b UnrealBuildTool: Move PGO optimize and shipping warning flags to ClangToolChain
#rnx
#rb none
#preflight 62858274614041edb7b07186

[CL 20271722 by Joe Kirchoff in ue5-main branch]
2022-05-18 19:52:23 -04:00
joe kirchoff
ae5f805c7b UnrealBuildTool: Merging common clang warnings to ClangToolChain base class. Moved all warnings to overridden functions out of GetCompileArguments_Global
Removed -Wsequence-point (Synonym for -Wunsequenced) from Linux as it is enabled by default
#rb none
#rnx
#preflight 62841106114e08fa2f3ebdfe

[CL 20251810 by joe kirchoff in ue5-main branch]
2022-05-17 17:37:13 -04:00
joe kirchoff
f201a3fdae [Backout] - CL20248654
#fyi Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: Merging common clang warnings to ClangToolChain base class. Moved all warnings to overridden functions out of GetCompileArguments_Global

Removed -Wsequence-point (Synonym for -Wunsequenced) from Linux as it is enabled by default
#rb none
#rnx
#preflight 6283e6e04316db80d1a3d973

[CL 20249554 by joe kirchoff in ue5-main branch]
2022-05-17 15:35:45 -04:00
Joe Kirchoff
b5055e62ef UnrealBuildTool: Merging common clang warnings to ClangToolChain base class. Moved all warnings to overridden functions out of GetCompileArguments_Global
Removed -Wsequence-point (Synonym for -Wunsequenced) from Linux as it is enabled by default
#rb none
#rnx
#preflight 6283e6e04316db80d1a3d973

[CL 20248654 by Joe Kirchoff in ue5-main branch]
2022-05-17 15:00:59 -04:00
Joe Kirchoff
3ed8a895d6 UnrealBuildTool: Update clang toolchains (except Android) to fill a list of string arguments rather than returning a single string
#rb none
#rnx
#preflight 627ecada5a0a06a57ea881a1

[CL 20190395 by Joe Kirchoff in ue5-main branch]
2022-05-13 18:08:52 -04:00
Joe Kirchoff
3fd8f7fbde UnrealBuildTool: Add minimal GetCompileArguments_Global in ClangToolChain. Currently only sets -e, -pipe, header include paths, & preprocessor definitions
#rb trivial
#rnx
#preflight 627d9ec0a82f3adab8b85ab0

[CL 20182062 by Joe Kirchoff in ue5-main branch]
2022-05-13 11:34:49 -04:00
Joe Kirchoff
e45cc77314 UnrealBuildTool: Move include path and preprocessor definition arguments to ClangToolChain virtual functions
#rb trivial
#rnx
#preflight 627c3f3e1e74993343ba1846

[CL 20153646 by Joe Kirchoff in ue5-main branch]
2022-05-11 19:14:13 -04:00
Joe Kirchoff
880c5bfd6e UnrealBuildTool: Begin moving common functions from clang based toolchains to base ClangToolChain.
#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]
2022-05-10 19:08:08 -04:00
Joe Kirchoff
f558da572e UnrealBuildTool: Move include paths and defines into GetCLArguments_Global for LinuxToolChain
#rb trivial
#rnx
#preflight 627a98f4c42338be6525283e

[CL 20125291 by Joe Kirchoff in ue5-main branch]
2022-05-10 13:13:49 -04:00
brandon schaefer
4b12cc89bd Update Linux and libcxx/libcxxabi to new 13.0.1 LLVM
#jira UE-136811, UE-126026
#preflight 626829f6853fdb6fddc18797

#ROBOMERGE-OWNER: brandon.schaefer
#ROBOMERGE-AUTHOR: brandon.schaefer
#ROBOMERGE-SOURCE: CL 20030619 in //UE5/Release-5.0/... via CL 20045582
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v943-19904690)

[CL 20047117 by brandon schaefer in ue5-main branch]
2022-05-04 15:37:44 -04:00
Joe Kirchoff
96772589c4 UnrealBuildTool: Compile PCH with -fpch-instantiate-templates for Linux if compiling with clang 11+
#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]
2022-04-27 14:34:39 -04:00
Joe Kirchoff
c4a445ac71 UnrealBuildTool: Mac and Linux -fpch-validate-input-files-content
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]
2022-04-26 19:10:29 -04:00
Joe Kirchoff
360b5f123c UnrealBuildTool: Set PreservePSYM in LinuxToolChainOptions rather than passing into LinuxToolChain constructor
#rnx
#rb trivial
#preflight 625df5396b021932254c361e

[CL 19798585 by Joe Kirchoff in ue5-main branch]
2022-04-18 20:01:56 -04:00
Joe Kirchoff
d0487689bf UnrealBuildTool: Relative pathing for Mac & Linux toolchains
#rb trivial
#rnx
#preflight 62474481f4217035fa9db83d

[CL 19593260 by Joe Kirchoff in ue5-main branch]
2022-04-01 14:56:46 -04:00
jonathan adamczewski
0a6164bbd3 nullability annotations, rethrow fixes, net6.0 warning suppression
#jira none
#trivial
#rnx
#preflight 62425155c61d8a458f230657

[CL 19536049 by jonathan adamczewski in ue5-main branch]
2022-03-28 20:50:06 -04:00
jonathan adamczewski
5c68d1d9ef Revert //UE5/Main/... changelist 19531725 - return to NET Core 3.1
#preflight 62422fd0470aff98e946bfce
#jira UE-119846

[CL 19534572 by jonathan adamczewski in ue5-main branch]
2022-03-28 18:25:19 -04:00
jonathan adamczewski
18ac15cbb1 Upgrade to .NET 6.0
#jira UE-119846
#preflight 6241fc06470aff98e943c035

[CL 19531725 by jonathan adamczewski in ue5-main branch]
2022-03-28 15:30:56 -04:00
matt johnson
01a13093c2 UnrealBuildTool: use colon prefix with -l linker flag to support linking libraries on Linux without "lib" prefix
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]
2022-03-10 12:25:37 -05:00
joe kirchoff
8024527e55 [Backout] - CL19292426
#fyi Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: bPreprocessDepends for LinuxToolChain

#rb trivial
#rnx
#preflight 6222b1759a2bb63d197e8fe0

[CL 19327816 by joe kirchoff in ue5-main branch]
2022-03-09 18:39:31 -05:00
Brandon Schaefer
b77c0617f8 Re-add printing build details
#jira none
#rb none
#fyi Michael.Sartain
#preflight none

[CL 19293091 by Brandon Schaefer in ue5-main branch]
2022-03-07 17:25:43 -05:00
Joe Kirchoff
abd6a221c6 UnrealBuildTool: bPreprocessDepends for LinuxToolChain
#rb trivial
#rnx
#preflight 6222b1759a2bb63d197e8fe0

[CL 19292426 by Joe Kirchoff in ue5-main branch]
2022-03-07 16:47:05 -05:00
Brandon Schaefer
abb990ba22 Fix cross building the Linux UnrealEditor from Windows where we no longer was running the FixDeps.bat script which is required to resolve circular depends issues
#jira UE-140387
#rb Michael.Sartain
#preflight none

[CL 19221827 by Brandon Schaefer in ue5-main branch]
2022-03-02 10:35:58 -05:00