Commit Graph

129 Commits

Author SHA1 Message Date
Joe Kirchoff
ddcb912fe5 UnrealBuildTool: Remove CanUseParallelExecutor as it is no longer needed as the UAT ParallelExecutor has been removed and is obsolete.
#rnx
#rb trivial
#preflight 63fe749add78dd50f6247b02

[CL 24452546 by Joe Kirchoff in ue5-main branch]
2023-02-28 17:01:41 -05:00
bryan sefcik
897d3d015b Disabled pch chaining on Linux because it is crashing the compiler when compiling the CitySample.
#jira
[FYI] joe.kirchoff
#preflight 63e59ec7db0da0fdac5519b6

[CL 24114192 by bryan sefcik in ue5-main branch]
2023-02-09 22:38:41 -05:00
josh adams
1610c3bee3 UnrealArch/UnrealArchitectures changes
- Creates the UnrealArchitectures class, which wraps a list of UnrealArch objects
 - UnrealArch is a single architecture, expandable enum-like struct
 - There is no more concept of "no/default architecture", there is always a valid active architecture when building
 - Most uses of "string Architecture" are replaced with one of the two above, depending if multiple architectures are supported or not
 - UnrealArch has some platform-extensions for platform-specific naming (like Linux adds in LinuxName that turns, for instance, Arm64 -> aarch64-unknown-linux-gnueabi, which is used in folder names, etc)
 - UnrealArch has bIsX64 which can be used determine intel instruction set (as opposed to arm)
 - TargetRules class has an "Architecture" accessor that will return a single architecture if the active architectures is a single architecture, or throw an exception if multiple. This is useful in a majority of the cases where a paltform can only have a single architecture active in TargetRules (microsoft platforms, for instance, will create separate targets when compiling multiple architectures at once)
 - Added UnrealArchitectureConfig class, which contains all the architecture information for a platform (what architectures are supported, what ones are currently active for given project, etc)

#preflight 63c81fb5b065224750a1759e
#rb mike.fricker,roman.dzieciol,joe.kirchoff,dmytro.vovk,brandon.schaefer [various parts]
#p4v-preflight-copy 23562471

[CL 23829977 by josh adams in ue5-main branch]
2023-01-24 09:30:28 -05:00
henrik karlsson
23ea716c7a [UBT]
* Added IWYU toolchain which can be enabled with -IWYU
* Added IWYU mode that can be used with -Mode=IWYU. This can be used to modify code files
* Binary of include-what-you-use that contains a ton of fixes to make ue build

#preflight skipped
#rb joe.kirchoff

[CL 23631202 by henrik karlsson in ue5-main branch]
2023-01-10 14:52:00 -05:00
Josh Adams
e6d0fb6486 - Added to new architecture APIs to UEBuildPlatform
- ConvertToReadableArchitecture() - turn an internal platform arch string to a printable version
  - IsX86Architecture() - returns true if the platform arch string represents an x86 architecture
- Changed Linux to use the HumanReadableName as the FolderNameForArchitecture, so it's shorter and it is not obfuscated anymore
#rb brandon.schaefer
#preflight 638fc65e9549ddaa288ccf73
#fyi dan.thompson

[CL 23419149 by Josh Adams in ue5-main branch]
2022-12-06 18:21:19 -05:00
jeannoe morissette
42e46146e2 VulkanRHI: Fix RHI_RAYTRACING not being set on Linux builds. Fix case on some includes.
#jira UE-165993
#preflight 633f0fe3174b138657ded100
#rb Brandon.Schaefer
#rnx
#lockdown Mihnea.Balta

[CL 22404275 by jeannoe morissette in ue5-main branch]
2022-10-07 13:37:38 -04:00
Joe Kirchoff
992b37b7cf UnrealBuildTool: Ignore build outputs when analyzing
#jira UE-160043
#rnx
#rb trivial
#preflight 62d89e741133256db65e2400

[CL 21202249 by Joe Kirchoff in ue5-main branch]
2022-07-21 12:07:06 -04:00
Joe Kirchoff
c5ca8db060 UnrealBuildTool: Allow PCH when running the clang analyzer
#rb trivial
#rnx
#preflight 62d73a1f164251d065f9d9df

[CL 21169279 by Joe Kirchoff in ue5-main branch]
2022-07-19 19:43:55 -04:00
Joe Kirchoff
d1c3e422f7 UnrealBuildTool: Support running static code analysis -StaticAnalyzer=Clang for clang toolchains.
Static code analysis automatically disables linking and pch. Dependency checking does not work as no output file is written.

#rnx
#rb none
#preflight 62c6012f3c5171c81719930d

[CL 20974504 by Joe Kirchoff in ue5-main branch]
2022-07-06 17:59:44 -04:00
Joe Kirchoff
cb03528d80 UnrealBuildTool: Support preprocess depends for all clang not just Mac and Linux
#rnx
#rb none
#preflight 62c5b8bd3c5171c8170b79f8

[CL 20968771 by Joe Kirchoff in ue5-main branch]
2022-07-06 12:56:18 -04:00
Joe Kirchoff
2f287b4758 UnrealBuildTool: Use filesystem references for sysroot and clang tool paths, instead of strings
#rnx
#rb none
#preflight 62ba445cba62f4498a551c96

[CL 20843375 by Joe Kirchoff in ue5-main branch]
2022-06-27 20:18:23 -04:00
Benn Gallagher
8757cb3641 Physics interface cleanup.
* Removed deprecated or dead code paths
* Simplified build system setup for physics support
* Deprecated build system flags and unsupported macros

#jira none
#rb Chris.Caulfield, Kriss.Gossart
#preflight 62963ec0fe779f23c8ea0c5e

[CL 20450744 by Benn Gallagher in ue5-main branch]
2022-06-01 06:59:18 -04:00
Brandon Schaefer
bb7d99dfe0 Enable RayTracing by default for Vualkn RHI
*Only inline ray tracing use cases are currently supported, as in Vulkan RHI on Windows

Fix Linux not loading raytracing extensions if they were enabled

#jira none
#rb yuriy.odonnell
#preflight 628fd3f98c077c0d662371e2

[CL 20384119 by Brandon Schaefer in ue5-main branch]
2022-05-26 15:49:28 -04:00
Ben Marsh
cbb950c578 UBT: Use ILogger throughout UBT, rather than legacy EpicGames.Core.Log methods. All output going forwards should use structured logging rather than String.Format style logging.
#preflight 628e9dc6e746de4961f60032

[CL 20373777 by Ben Marsh in ue5-main branch]
2022-05-25 19:55:37 -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
chris constantinescu
1278a26f76 Low level tests further refactoring and test resource deployment
#preflight 626955ed0d4ac78d716eacf0
#rnx

[CL 19941830 by chris constantinescu in ue5-main branch]
2022-04-27 12:36:35 -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
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
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
d8b2a5f743 Fix being created UnrealEditor-ASan.target when building Editor with ASan enabled.
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]
2022-02-26 09:59:12 -05:00
Brandon Schaefer
fd27a866f9 Dont try to override the Editor with ASan until things are done at a much higher level. This causes issues with EngineTest + ASan
#jira none
#rb none
#preflight none
#fyi Michael.Sartain

[CL 19154545 by Brandon Schaefer in ue5-main branch]
2022-02-25 15:19:02 -05:00
joe kirchoff
68d3b6ae54 [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 19095177 by joe kirchoff in ue5-main branch]
2022-02-23 13:10:43 -05:00
joe kirchoff
85a12ceb91 [Backout] - CL19094839
#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]
2022-02-23 12:59:47 -05:00
joe kirchoff
e876024f01 [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 19094839 by joe kirchoff in ue5-main branch]
2022-02-23 12:54:09 -05:00