Commit Graph

1470 Commits

Author SHA1 Message Date
bryan sefcik
1ad98523c4 Added support to give actions in UBT "weight". "Weight" is an average measurement of how many cores and memory an action uses. Using one core with a normal amount of memory for an action would be a value of 1.
Why do this:
Currently when compiling a cpp file with MSVC, it compiles across multiple cores while clang does not. This means that while we support limiting the number of cores(using ProcessorCountMultiplier), MSVC will use more cores than we specify. It also means that MSVC will always be faster when compiling because clang does not support compiling a cpp over multiple cores. To get similiar results when compiling with clang, we set the weight of MSVC to 1.5 and the weight of clang to 1.0. We then set the ProcessorCountMultiplier to 1.5. This results in MSVC and clang taking roughly the same amount of CPU utilization and clang compiles to be much faster.

	                     Old Timing(secs)	Old CPU Utilization	New Timing	New CPU Utilization(secs)
PlatformA AncientGame	590.94	51	                               431.47	73
MSVC AncientGameEditor	1016.96	94	                             1026.08	95
Clang AncientGameEditor	1543.72	63	                               1270.4	84
PlatformB AncientGame	494	52	                               396.95	74

Old = without weight path
New = with weight path

#jira
#rb christopher.waters, joe.kirchoff
#preflight 6409026c8832f48a4dc72025

[CL 24567859 by bryan sefcik in ue5-main branch]
2023-03-08 17:08:22 -05:00
Joe Kirchoff
90760d72b0 UnrealBuildTool: Fix output typo
#preflight skipped

[CL 24550420 by Joe Kirchoff in ue5-main branch]
2023-03-07 18:05:10 -05:00
Josh Adams
0842a7adb3 - Added Framework support in Modern Xcode projects - this will copy and code sign frameworks directly via Xcode, instead of UBT doing it
#rb zack.neyland
#preflight 64078e282559570cc7f40fe2

[CL 24545611 by Josh Adams in ue5-main branch]
2023-03-07 14:28:06 -05:00
LouisPhilippe Seguin
a21f510ae7 UnrealBuildTool
* Added option to generate assembly files while compiling cpp files.
* Supported only on MSVC compiler for now.
* The generated files have the .asm extension and are located in the same Intermediate folder as the corresponding .obj

#jira none
#rb Joe.Kirchoff
#preflight

[CL 24545403 by LouisPhilippe Seguin in ue5-main branch]
2023-03-07 14:20:51 -05:00
Joe Kirchoff
0ad148be67 UnrealBuildTool: ModuleRules CppStandardVersion should be nullable so we can detect when it's actually overridden
#preflight 64066ea48832f48a4ddaee26

[CL 24532882 by Joe Kirchoff in ue5-main branch]
2023-03-06 18:04:01 -05:00
joe kirchoff
01501efcf9 [Backout] - CL24530832
#fyi Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: Module CppStandard needs to be overridden if it doesn't match the target, rather than if it doesn't match the default
#preflight 640659f02559570cc77b55ed

[CL 24532448 by joe kirchoff in ue5-main branch]
2023-03-06 17:40:10 -05:00
Joe Kirchoff
d39367f0ef UnrealBuildTool: Module CppStandard needs to be overridden if it doesn't match the target, rather than if it doesn't match the default
#preflight 640659f02559570cc77b55ed

[CL 24530832 by Joe Kirchoff in ue5-main branch]
2023-03-06 16:37:42 -05:00
Josh Adams
864b1270f6 - Skip hidden source files
#preflight 64060c6b2559570cc75368a8
#rb henry.falconer

[CL 24523412 by Josh Adams in ue5-main branch]
2023-03-06 11:07:00 -05:00
Joe Kirchoff
eb868d8709 UnrealBuildTool: Fix issues with Modified Files Only compiles
#rnx
#rb tivial
#preflight 640294741d304a5471217842

[CL 24511169 by Joe Kirchoff in ue5-main branch]
2023-03-03 19:51:51 -05:00
joe kirchoff
7aa214f6cb UnrealBuildTool: Remove obsolete HordeExecutor prototype
#rnx
[FYI] Ben.Marsh

[CL 24471319 by joe kirchoff in ue5-main branch]
2023-03-01 16:52:35 -05:00
bryan sefcik
4a0a8b2630 Re-added a few properties that were removed and added obsolete tags to them.
#rb joe.kirchoff
#preflight 63ff89d6dd78dd50f6829700

[CL 24465653 by bryan sefcik in ue5-main branch]
2023-03-01 12:46:23 -05:00
Joe Kirchoff
029b190e08 UnrealBuildTool: Allow overriding bWarningsAsErrors on a per module basis
#rb christopher.waters
#preflight 63ff840ca134e0b0590f38a5

[CL 24464453 by Joe Kirchoff in ue5-main branch]
2023-03-01 12:12:31 -05:00
bryan sefcik
a9014116de Replaced the target rule bool "bMergeModuleAndGeneratedUnityFiles" with a list of modules that disable the functionality of merging the module and generated cpp files(DisableMergingModuleAndGeneratedFilesInUnityFiles). The engine modules will depend on merging the module and generated cpp files being in the same unity files very soon so we can't allow turning off the functionality across all the code. This change allows licensees to disable the merging of a specific module if it is needed.
#rb joe.kirchoff
#preflight 63fe7a3c437ce3e7f3b53617

[CL 24453378 by bryan sefcik in ue5-main branch]
2023-02-28 17:39:01 -05:00
joe kirchoff
a6e3258893 UnrealBuildTool: If module valdiation is set to Error, raise an exception if any errors are found
#rnx
#jira UE-177808

[CL 24452688 by joe kirchoff in ue5-main branch]
2023-02-28 17:08:32 -05:00
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
798f48c9f9 Removed the ability to disable inlining gen.cpp files. The engine code relies on this feature and can't compile without it now.
#fyi joe.kirchoff
#preflight 63fd48de2b1a2765f9a987a5

[CL 24447101 by bryan sefcik in ue5-main branch]
2023-02-28 13:50:14 -05:00
josh adams
4d71aa084a - Fixed .precompiled file location to be architcture independent
- Added IntermediateDirectoryNoArch to UEBuildModule (we can use this in the future to put generated definitions headers, which can help reduce rebuilds going between multi- and single-arch)
#rb Joe.kirchoff
#jira UE-178211,UE-178589
#preflight 63fd3cb72b1a2765f9a46322

[CL 24441385 by josh adams in ue5-main branch]
2023-02-28 09:01:08 -05:00
joe kirchoff
606c42edeb Module include path validation. Disabled until outstanding issues are fixed
#rnx
#jira UE-177808
#rb Tim.Smith

[CL 24412746 by joe kirchoff in ue5-main branch]
2023-02-24 19:01:37 -05:00
chris constantinescu
cd0c323c11 LLT options: Stub platform file and mock some default engine resources for low level tests that run with the engine.
- bUsePlatformFileStub = true replaces the default platform file. The default PF is saved and can be reused at any time.
The side effect is lots of warnings for missing files and object loading errors which is acceptable for low level tests.
- bMockEngineDefaults = true sets some mandatory engine defaults (materials, fonts etc) that can only be loaded from cooked assets.
#jira UE-178194
#rb Ryan.Gerleve
#preflight 63f8e7051206d91a2bd8b0cd

[CL 24407283 by chris constantinescu in ue5-main branch]
2023-02-24 15:27:37 -05:00
henrik karlsson
fcb86aef13 [UnrealBuildTool]
* Change so SingleFile will not build dependents by default. This can be enabled with -SingleFileBuildDependents

#preflight skipped
#rb joe.kirchoff

[CL 24344617 by henrik karlsson in ue5-main branch]
2023-02-21 13:37:57 -05:00
joe kirchoff
79ae250739 UnrealBuildTool: Enable BuildSettings.V3 as default for Engine modules
#rnx
#rb Henrik.Karlsson
#jira UE-176989
#preflight 63efc55f90198dffba00b1f9

[CL 24286835 by joe kirchoff in ue5-main branch]
2023-02-17 13:38:47 -05:00
joe kirchoff
db2575d135 [Backout] - CL24273393
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: Enable BuildSettings.V3 as default for Engine modules

#rnx
#rb Henrik.Karlsson
#jira UE-176989

[CL 24275425 by joe kirchoff in ue5-main branch]
2023-02-16 21:10:36 -05:00
bryan sefcik
4522523cb7 Fixed a PCH issue when compiling with multiple architectures at the same time.
#preflight 63eebdc13c1eb56f05661567

[CL 24272931 by bryan sefcik in ue5-main branch]
2023-02-16 18:55:59 -05:00
bryan sefcik
7dc0758263 Updated UBT to create the shared PCH instances before setting up the modules so all the PCHs and parent PCHs are setup beforehand.
#preflight 63eeb441977ceed915cb4207
#rb joe.kirchoff

[CL 24272192 by bryan sefcik in ue5-main branch]
2023-02-16 18:31:35 -05:00
Joe Kirchoff
55f8984bfb UnrealBuildTool: Enable BuildSettingsVersion.V3 as default for Engine modules
#jira UE-176989
#rb henrik.karlsson
#preflight 63eea1a3d60e91569b66188a

[CL 24270612 by Joe Kirchoff in ue5-main branch]
2023-02-16 17:45:35 -05:00