Commit Graph

35 Commits

Author SHA1 Message Date
chris constantinescu
1aeb7faa75 LLT: Pre-analyse dependency graph of low level test targets before setting compilation flags for UE components
Use -Mode=Test by default for all LLT Project to enable pre-analysis of dependency graph.
#jira UE-193632
#rb Sean.Sweeney

[CL 28313218 by chris constantinescu in ue5-main branch]
2023-09-28 06:52:15 -04:00
joe kirchoff
b46695c12e UnrealBuildTool: Ensure generated files are written to the correct intermediate folder name
#rnx

[CL 26780017 by joe kirchoff in ue5-main branch]
2023-08-02 14:02:59 -04:00
henrik karlsson
6762ccbf9f [UBT]
* Fixed so -rebuild works again.. did not fix the code fully because it was broken before and did not delete the "Inc" folder because the code produced the wrong path. I don't want to fix this because deleting that path would make -rebuild of non-unity also force rebuild of unity version

[CL 26695042 by henrik karlsson in ue5-main branch]
2023-07-29 01:11:21 -04:00
christopher waters
47426db352 Adding UnrealIntermediateEnvironment to allow different intermediate paths based on build settings.
This removes the old hack that renames the target based on nonunity being set while also adding a new intermediates folder for IWYU.

#jira UE-190274
#rb joe.kirchoff

[CL 26514944 by christopher waters in ue5-main branch]
2023-07-21 12:08:09 -04:00
joe kirchoff
acacd6a8de UnrealBuildTool: More automated code cleanup
* Use object type rather than var
* Remove double newlines
* Use pattern matching

#rnx
#preflight 647780095d23eca37d28a387

[CL 25706751 by joe kirchoff in ue5-main branch]
2023-05-31 13:37:21 -04:00
joe kirchoff
36d266e932 UnrealBuildTool: Automated code cleanup
#rnx
#preflight 6476799e947ff6973c225619

[CL 25693241 by joe kirchoff in ue5-main branch]
2023-05-30 18:38:07 -04:00
Ben Marsh
3889217961 UBT: Merging CL 25121561 to support async ToolMode and ActionExecutor instances.
#preflight none

[CL 25121660 by Ben Marsh in ue5-main branch]
2023-04-19 21:44:13 -04:00
mic rooney
8d82fa54b6 Allowing UBT to build individual plugins as though they were local.
* Also reverting a previous change that was building the whole project when adding new plugins.

#jira UE-171182
[REVIEW] [at]Josh.Adams, [at]Joe.Kirchoff
#preflight 640f5e7380540a5a36edb89d

[CL 24641918 by mic rooney in ue5-main branch]
2023-03-14 15:24:13 -04:00
josh adams
a0f6b21d40 - Fixed a Multi-arch error when using -clean in UBT
#jira UE-179038
#preflight https://horde.devtools.epicgames.com/job/640671796e1dadfcda34fa17

[CL 24534466 by josh adams in ue5-main branch]
2023-03-06 19:44:29 -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
Tim Smith
106b956993 Remove C++ UHT as the UHT to be used to generate headers. This does not remove the ability to build C++ UHT as a target.
#rb joe.kirchoff
#preflight 63c84257fb1a8cf245e538c4

[CL 23761220 by Tim Smith in ue5-main branch]
2023-01-18 14:14:27 -05:00
calvin zheng
a507763cf8 Add warning log to Xcode clean
#jira UE-172783
#preflight 639a01d0776b61ba3ba614de
#rb Zack.Neyland, Josh.Adams
#lockdown Rolando.Caloca

[CL 23516721 by calvin zheng in ue5-main branch]
2022-12-14 14:56:28 -05:00
UnrealBot
73409369c0 Branch snapshot for CL 21319338
[CL 21319338 in ue5-main branch]
2022-08-10 16:03:37 +00: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
jonathan adamczewski
b25b8a0d7a UnrealBuildTool: Delete files in parallel when cleaning (adding a few timers)
Cleaning UnrealEngine Development Win64, on a ThreadRipper
Before: 270 seconds
After:   63 seconds

#jira none
#rnx
#preflight 626b29bbb17dd9121b63f219

[CL 19982248 by jonathan adamczewski in ue5-main branch]
2022-04-29 13:53:48 -04: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
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
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
jonathan adamczewski
e020e6dc4a UnrealBuildTool:
"-Rebuild" command line option for build targets, to perform a clean on a target before attempting to build it.

#jira none
#rb ben.marsh

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

[CL 17401442 by jonathan adamczewski in ue5-release-engine-test branch]
2021-09-02 08:28:06 -04:00
jonathan adamczewski
f270855eef AutomationTool: Compile script modules within the application
Add a layer of caching to avoid running msbuild as much as possible.

#jira UE-109181
#rb ben.marsh

#ROBOMERGE-SOURCE: CL 17102399 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)

[CL 17102408 by jonathan adamczewski in ue5-release-engine-test branch]
2021-08-09 10:39:35 -04:00
jonathan adamczewski
64c210d294 AutomationTool, BuildUtilities:
UnrealBuild -> Unreal for EngineDirectory, RootDirectory, IsEngineInstalled, UnrealBuildToolPath
Remove CommandUtils EngineDirectory, RootDirectory, IsEngineInstalled - use equvalents from UnrealBuildBase.Unreal

#jira none

#ROBOMERGE-SOURCE: CL 16648181 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v833-16641396)

[CL 16648203 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-11 18:21:35 -04:00
jonathan adamczewski
d58996b916 UnrealBuildTool: move some path constants into BuildUtilities
RootDirectory, EngineDirectory, UnrealBuildToolPath are now found in BuildUtilities' UnrealBuild namesapce.

The way these are computed has changed. Previously, it was assumed that the application is UnrealBuildTool, and paths were constructed relative to that assembly.

Now, the assumption is that the process is located under a "Engine/Build/DotNET" sub-path and paths are constructed relative to that.

#jira none

#ROBOMERGE-SOURCE: CL 16607440 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16607455 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-09 12:55:13 -04:00
Marc Audy
bf80889353 UE5/Release-Engine-Staging to UE5/Main
This represents UE4/Main up to CL# 14958402

[CL 15028197 by Marc Audy in ue5-main branch]
2021-01-08 19:56:07 -04:00
Ben Marsh
6f927647b1 Changing C# code over to using EpicGames.Core over DotNETCommon.
#rb none
#rnx

[CL 14962096 by Ben Marsh in ue5-main branch]
2020-12-21 23:07:37 -04:00
Ben Marsh
1e9946779e UBT: Fix up a few more nullable references.
#rb none
#rnx

[CL 14960616 by Ben Marsh in ue5-main branch]
2020-12-20 20:07:40 -04:00