Commit Graph

88 Commits

Author SHA1 Message Date
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
acf80ab609 [Backout] - CL25694851
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: More automated code cleanup

#rnx

[CL 25695155 by joe kirchoff in ue5-main branch]
2023-05-30 19:55:37 -04:00
joe kirchoff
7ed1a39679 UnrealBuildTool: More automated code cleanup
#rnx

[CL 25694864 by joe kirchoff in ue5-main branch]
2023-05-30 19:36:05 -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
tim smith
b46d240455 Added to UBT an alternative module file for live coding. When in use, UBT will only generate "not enabled" errors if explicitly listed in the lazy load modules.
#rb self
#rnx
#jira UE-161641
#preflight 63fe5c3aae54ee4ce9c97d70

[CL 24452469 by tim smith in ue5-main branch]
2023-02-28 16:58:16 -05:00
joe kirchoff
46bc663f3b UnrealBuildTool: Rename .response to .rsp
#rnx
#rb Henrik.Karlsson
#preflight 63d40d4a5c69f453c131a7a7

[CL 23890482 by joe kirchoff in ue5-main branch]
2023-01-27 15:19:25 -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
Joe Kirchoff
4a262359a0 UnrealBuildTool: Store Action file lists in SortedSets rather than Lists, since these collections should never have duplicate entries and sorting them helps when checking for action conflicts
Requires implementing IComparable\IEquatable in FileItem (and I also implemented them in DirectoryItem for consistency)

#rnx
#rb Tim.Smith
#preflight 63c1cce4a06ab115ea17ba4f
#preflight 63c70f4d7763631ba15486ea

[CL 23745743 by Joe Kirchoff in ue5-main branch]
2023-01-17 16:35:14 -05:00
Tim Smith
826650afea Added the ability to compile specific files (i.e. -singlefile) while a live coding session is active. Output is sent to a different location to prevent clashes with overriting object files for the live coding session.
#rb ben.marsh
#preflight 62a8bd9a6373922cf48a1be0

[CL 20653442 by Tim Smith in ue5-main branch]
2022-06-14 13:56:18 -04:00
Tim Smith
ba7e42070a Ignore compile actions that aren't using the c++ compiler when doing live coding. Resolves issues where changes that would contribute to the resource file (i.e. copyright notice) would cause live coding to fail.
#rb self
#jira UE-145201
#preflight 6290e7d56c4b4192f29fc023

[CL 20394069 by Tim Smith in ue5-main branch]
2022-05-27 11:51:13 -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
tim smith
ab6f014b6d Fix UBT configuration reading code to read the editor per project user setting from the corrected saved file location.
This resolves a UBT issue where building from Visual Studio/Rider while the editor is running wouldn't automatically change to HotReload mode.
#preflight 626698887e06ec75059f44b8
#jira none
#rb Ben.Marsh, Jonathan.Adamczewski
#lockdown mark.lintott

#ROBOMERGE-AUTHOR: tim.smith
#ROBOMERGE-SOURCE: CL 19901402 in //UE5/Release-5.0/... via CL 19902726
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v942-19904256)

[CL 19904470 by tim smith in ue5-main branch]
2022-04-25 12:47:17 -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
tim smith
b7cb8ab3c7 Live Coding error message in UBT simplified and clearer.
#rb trivial
#preflight 61f279efc0033b39f8b17a8f

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

[CL 18752105 by tim smith in ue5-main branch]
2022-01-27 06:30:20 -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
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
a49cb3c2bb Fix linking issue when doing Live Coding and adding new classes.
#rb self
#rnx
#jira UE-134615
#preflight 619ce61caa4521f9e7918e70

#ROBOMERGE-OWNER: tim.smith
#ROBOMERGE-AUTHOR: tim.smith
#ROBOMERGE-SOURCE: CL 18269134 in //UE5/Release-5.0/... via CL 18269224
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18269238 by tim smith in ue5-release-engine-test branch]
2021-11-23 08:52:14 -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
joe kirchoff
0721e48f10 LiveCoding: Support updating actions that are invoking cl.exe or clang-cl.exe
#rb trivial
#rnx

#ROBOMERGE-SOURCE: CL 16776753 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16776758 by joe kirchoff in ue5-release-engine-test branch]
2021-06-24 14:45:41 -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