Commit Graph

32 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
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
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
brandon schaefer
a8bef937c7 Force 5.0.3 to support only v20 LLVM 13.0.1
Due to v19 no linking correctly as well as older LLVM versions that dont support C++17 anyway

#jira UE-157592
#preflight 62b9f3f6e77151e599791232
#rb Joe.Kirchoff, Robert.Seiver, James.Singer
#lockdown jessica.agee

#ROBOMERGE-OWNER: brandon.schaefer
#ROBOMERGE-AUTHOR: brandon.schaefer
#ROBOMERGE-SOURCE: CL 20837379 in //UE5/Release-5.0/... via CL 20838337
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20840089 by brandon schaefer in ue5-main branch]
2022-06-27 17:21:45 -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
josh adams
39bff31fff - Adding comments to the PlatformSDK files to note the version numbers are now in the Versions.cs files
#p4v-preflight-copy 19822331
#rb trivial
#jira none
#preflight 6261e093a21b75437128a095

[CL 19858470 by josh adams in ue5-main branch]
2022-04-21 19:26:22 -04:00
josh adams
0532d19399 - Split SDK versions into their own Versions.cs files
#rb eric.mcdaniel
#jira none
#preflight 6255a6309a0f82a3151d28aa

[CL 19723677 by josh adams in ue5-main branch]
2022-04-12 12:37:37 -04:00
Josh Adams
604aec8368 - Allow for multiple full sdks for a platform (uses a new SDKCollection class to gather sdk versions and their validityt, etc)
- Windows will be first to use it, but in a future CL, with toolchain separate from Windows SDK
- Cleaned up some of the PlatformSDK API to have fewer public members (mainly so the functions that receive multiple versions can be automatically populated with the current single version functions in the subclasses)
- Updated the Turnkey menu to handle multiple versions

#jira none
#rb david.harvey
#preflight 62508cd8f10bcc0f4fa8b5d1

[CL 19692492 by Josh Adams in ue5-main branch]
2022-04-08 15:34:51 -04:00
Brandon Schaefer
664b43df5f implement Turnkey GetDevices() for Linux.
#jira UE-141524
#rb none
#fyi Josh.Adams
#preflight 620d98647e2cef4bf1c4520c

[CL 19027719 by Brandon Schaefer in ue5-main branch]
2022-02-16 19:43:00 -05:00
jonathan adamczewski
bece46b1b4 Remove (remnants of) GCC support from Linux toolchain, remove references to i686, assume minimal valid clang version of 10.0.0
#jira none
#preflight 61d7669ec65e66487b2e4b51
#rb brandon.schaefer
#rb joe.kirchoff

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 18537239 in //UE5/Release-5.0/... via CL 18537245
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18537257 by jonathan adamczewski in ue5-release-engine-test branch]
2022-01-06 18:06:08 -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
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
brandon schaefer
c60b80f7da Update UE5/Main to v19 toolchain
#jira UE-118949
#rb none

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

[CL 16862200 by brandon schaefer in ue5-release-engine-test branch]
2021-07-15 10:20:22 -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
e80ea6b959 Merge from Release-Engine-Staging @ 16444985
This represents UE4/Main @ 16445039 and Dev-PerfTest @ 16444526

[CL 16445122 by Marc Audy in ue5-release-engine-test branch]
2021-05-25 02:43:26 -04:00
Brandon Schaefer
b59b7bf4a3 Update to new LLVM 11.0.1 toolchain
#jira none
#rb none

[CL 16407553 by Brandon Schaefer in ue5-release-engine-staging branch]
2021-05-20 15:02:18 -04:00
Luke Thatcher
4a694b920b Move AutoSDK script version to Version.txt file inside the AutoSDK directory itself
- Previously, any changes made to AutoSDKs had to be submitted along with a bump in the version string returned by GetRequiredScriptVersionString(). Since this string is in UBT, the string has to be bumped in every branch where we need the AutoSDK changes to get applied.
 - Now, the script version string is stored in Version.txt, meaning there's only one place the version needs to be bumped to force all UBT instances in all branches to reapply an SDK.
 - Made GetRequiredScriptVersionString() private and removed platform implementations.

#rb Josh.Adams,Rolando.Caloca
#preflight 60804447a698b300013e5787

[CL 16076490 by Luke Thatcher in ue5-main branch]
2021-04-21 13:14:12 -04:00
josh adams
13682c6497 - Renamed FileRetriever class to ITurnkeyContext
- Enhanced Turnkey error reporting to the editor (TurnkeyContext now has Log and ReportError)
- Improved the SDK display in the editor
- Various bug fixes
- Renamed GetAutoSDKDirectoryForMasterVersion() to GetAutoSDKDirectoryForMainVersion()
#rb brian.white

#ROBOMERGE-SOURCE: CL 15357339 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15360341 by josh adams in ue5-main branch]
2021-02-08 17:07:27 -04:00
Jack Porter
75f53c8388 Fix up iOS remote build after move from Mono to dotnet
- build UBT/UAT on remote Mac
- exclude unnecessary UBT platform source from rsync upload
- modifications to UBT to allow it to compile with Linux and Lumin excluded
- manually convert CRLF for Mac shell scripts after rsync upload
#review
#rb Brandon.Schaefer
#fyi Ben.Marsh

[CL 15045791 by Jack Porter in ue5-main branch]
2021-01-11 21:17:03 -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
83f27d27e9 UBT: Mark platforms and project file generation code as not nullable aware.
#rb none
#rnx

[CL 14960496 by Ben Marsh in ue5-main branch]
2020-12-20 17:32:59 -04:00