Commit Graph

221 Commits

Author SHA1 Message Date
jonathan adamczewski
760399b892 UnrealBuildTool: Add -SaveCrashDumps option that will attempt to find and copy crash dump files to a specified location.
#jira none
#rnx
#preflight 623104afe50582311ac32ec6

[CL 19396686 by jonathan adamczewski in ue5-main branch]
2022-03-15 17:57:47 -04:00
Tim Smith
681506d35e 1) Fix minor validation issue where TObjectPtr was being denied as a function return type. Also applied to lazy pointers.
2) Fixed TObjectPtr formatting for return value
3) Fixed TMap formatting when template arguments are also templates.
4) Fixed -Test option

#rnx
#rb trivial
#preflight 6230e6be6d230f4cc8ea6f7a

[CL 19391964 by Tim Smith in ue5-main branch]
2022-03-15 15:27:25 -04:00
Tim Smith
76e9046282 Adding a simpler command line option to UHT mode where it will generate the manifest instead of depending on one already being generated. This will greatly simplify testing in the future by allowing A/B testing to be done without the need of building the target (to get the manifest)
#rb trivial
#rnx
#preflight 622272d2945d64b4ec42cf9e

[CL 19273756 by Tim Smith in ue5-main branch]
2022-03-04 15:23:52 -05:00
Tim Smith
2bf67af6e7 UHT in UBT initial version. Currently disabled.
Tested against UnrealEditor, ShooterGame, QAGame, FortniteGame, Lyra, CitySample, and a local project

Ciode review was a preliminary review for a coding style.

#rnx
#rb jonathan.adamczewski, joe.kirchoff
#preflight 6220cfb76f26901529b6514e

[CL 19243710 by Tim Smith in ue5-main branch]
2022-03-03 09:59:05 -05:00
jeff newquist
7dbd77f49a SN-DBS executor improvements
- Prevent the unnecessary scanning of response files
- Prevent the unnecessary scanning and distribution of header files for other platforms
- Add bAllowOverVpn and VpnSubnets XmlConfigFile settings to allow restriction of distribution over VPN
- Utilize ProgressWriter to better mark up progress text as is done with other executor implementations
#jira none
#rb joe.kirchoff
#preflight none

[CL 19208610 by jeff newquist in ue5-main branch]
2022-03-01 17:39:49 -05:00
Joe Kirchoff
a401460469 GenerateClangDatabase: Pass C++ Standard Flag correctly to clang-cl
#jira UE-143479
#rb trivial
#preflight none

[CL 19185790 by Joe Kirchoff in ue5-main branch]
2022-02-28 17:59:19 -05:00
ColdenCullen
dce8bb2afe PR #8800: UBT: GenerateClangDatabase: Escape quotes in definitions (Contributed by ColdenCullen)
#preflight 61eef615ba69a4fdb21c9bd2

[CL 18712688 by ColdenCullen in ue5-main branch]
2022-01-24 14:37:40 -05:00
ColdenCullen
244ad85bcd PR #8802: UBT: GenerateClangDatabase: Allow custom output directory using -OutputDir= (Contributed by ColdenCullen)
#preflight 61eef4a8ba69a4fdb21b5af6

[CL 18712252 by ColdenCullen in ue5-main branch]
2022-01-24 14:10:15 -05:00
tim smith
057c2b3b0f Modify UBT to not check for live coding unless there are actions to execute.
#rb Jonathan.Adamczewski
#jira UE-139892
#preflight 61eeecacef289ffc6df11d7f

#ROBOMERGE-AUTHOR: tim.smith
#ROBOMERGE-SOURCE: CL 18711519 in //UE5/Release-5.0/... via CL 18711563 via CL 18711691
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18711705 by tim smith in ue5-main branch]
2022-01-24 13:38:36 -05:00
arne schober
f1dfec810d REL - Consolidate Coroutine compiler switches
#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]
2022-01-21 22:42:24 -05:00
chris constantinescu
8c968941f9 UBT TestMode that allows building a test executable for an associated target.
- Each module can now have a Tests folder at its root containing low level tests written with Catch2
- Used like this: UnrealBuildTool.exe -Mode=Test TargetName Platform Configuration
- It creates a test executable that's associated with the specified build Target and it includes all the tests for the Target AND all its dependencies as well
- When building without -Mode=Test it will omit the Tests folder contents from compilation: in theory we never allowed folders named Tests at the root of modules, but there might be isolated exceptions where we didn't validate folder names - in this case we will need to move that Tests folder one level up for example
- Code paths for test and non-test builds are entirely separated

#jira UE-135280
#rb Jerome.Delattre
#preflight 61e839d5276892ce10759205

[CL 18663474 by chris constantinescu in ue5-main branch]
2022-01-19 15:00:37 -05:00
ben marsh
e572f6d330 UBT: Revert CL 18260416. We need to update the timestamp on the engine version file to prevent the update action running multiple times.
The action should not run if no engine files have been modified. If new engine files are being added to the manifest, the version file can be written without having any changes. Installed builds will not run the action due to the path check.

#jira UE-133086
#preflight 61df35b7484d866ec01c8597

#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 18588751 in //UE5/Release-5.0/... via CL 18588762 via CL 18588785
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18588797 by ben marsh in ue5-main branch]
2022-01-12 15:27:43 -05:00
matias-arocena
d4e486fb25 PR #8663: Add Linux and Mac support to GenerateClangDatabase in UBT (Contributed by matias-arocena)
#ROBOMERGE-AUTHOR: joe.kirchoff
#ROBOMERGE-SOURCE: CL 18449760 in //UE5/Release-5.0/... via CL 18449769
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18449773 by matias-arocena in ue5-release-engine-test branch]
2021-12-13 17:39:08 -05:00
ben marsh
847282a0ce UBT: Prevent engine metadata files being overwritten in installed builds.
#preflight 61b362b5c01c89f906e4ff3e

#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 18438892 in //UE5/Release-5.0/... via CL 18444737
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18444871 by ben marsh in ue5-release-engine-test branch]
2021-12-13 13:16:21 -05:00
jonathan adamczewski
575aea6fd3 UnrealBuildTool: track history for AdditionalPluginDirectories
External plugins will be built in project_dir/Intermediate/External/...

#jira UE-136243
#preflight 61a8efe3ca183f8de48d781f

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 18353193 in //UE5/Release-5.0/... via CL 18353223
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18353249 by jonathan adamczewski in ue5-release-engine-test branch]
2021-12-02 11:49:46 -05:00
tim smith
e5ece544be Fix UBT issue where a game project outside of the engine directory tree could end up with a BuildId that isn't in sync with the engine.
#rb Ben.Marsh
#rnx

#ROBOMERGE-AUTHOR: tim.smith
#ROBOMERGE-SOURCE: CL 18265041 in //UE5/Release-5.0/... via CL 18265047
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)
#ROBOMERGE[STARSHIP]: UE5-Main

[CL 18265049 by tim smith in ue5-release-engine-test branch]
2021-11-22 19:14:34 -05:00
ben marsh
20e622e740 UBT: Prevent timestamp being updated on *.version files if contents have not changed.
#jira UE-135617

#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 18260025 in //UE5/Release-5.0/... via CL 18260035
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18260208 by ben marsh in ue5-release-engine-test branch]
2021-11-22 13:03:04 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
jonathan adamczewski
28669b8fb6 UnrealBuildTool: Update source dependency json parsing for imported modules
#jira none

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 17653767 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v875-17642767)

[CL 17653789 by jonathan adamczewski in ue5-release-engine-test branch]
2021-09-28 18:49:01 -04:00
joe kirchoff
c46a4af3c5 UnrealBuildTool: Remove support for VS2017
#jira UE-126521
#rb Jonathan.Adamczewski
#preflight 6144ffdb11925a000119cac6

#ROBOMERGE-AUTHOR: joe.kirchoff
#ROBOMERGE-SOURCE: CL 17559611 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17559616 by joe kirchoff in ue5-release-engine-test branch]
2021-09-17 18:25:11 -04:00
jonathan adamczewski
2f91a18571 UnrealBuildTool: allow MemoryPerAction to be set per-target
Can be used to reduce the number of build actions that will be run in parallel by ParallelExecutor or TaskExecutor.

Example use, in MyProject.Target.cs:

public class MyProjectTarget : TargetRules
{
	public MyProjectTarget(TargetInfo Target) : base(Target)
	{
		Type = TargetType.Game;
		DefaultBuildSettings = BuildSettingsVersion.V2;

		ExtraModuleNames.AddRange( new string[] { "MyProject" } );

		MemoryPerActionGB = 4;
	}
}

#jira none

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 17546182 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17546186 by jonathan adamczewski in ue5-release-engine-test branch]
2021-09-16 19:35:07 -04:00
ben marsh
1a0aebe5be UBT: Add a mode for analyzing the dependencies between modules.
Example usage "-Mode=Analyze UnrealEditor Win64 Development".

The tool currently outputs the following files:
* A graph of dependencies between modules, with edges indicating unique outward references (eg. if module A depends on Core and BuildSettings, but Core depends on BuildSettings, an edge will only be shown from A -> Core).
* A graph showing shortest path from the target to each module.
* A text file listing all modules in the target, their references to other modules, the shortest path causing them to be instantiated, and a (very) rough estimate of their size taken by measuring the sum of all object files or output files that already exist on disk.
* A csv file containing the same information as above.

Graphs are output in GEFX format, and can be viewed using Gephi.

[FYI] Mark.Lintott

#ROBOMERGE-AUTHOR: ben.marsh
#ROBOMERGE-SOURCE: CL 17473130 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17473153 by ben marsh in ue5-release-engine-test branch]
2021-09-09 12:12:20 -04:00
jonathan adamczewski
42ef103436 UnrealBuildTool:
Add new commandline option: -AlwaysRulesCompile, ensures that rules assemblies will be compiled during the run.

#jira none

#ROBOMERGE-SOURCE: CL 17428445 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v865-17346139)

[CL 17428452 by jonathan adamczewski in ue5-release-engine-test branch]
2021-09-03 19:27:06 -04:00