Commit Graph

29 Commits

Author SHA1 Message Date
Josh Adams
4d71a93586 - Added ability to have a IDE project for each Target (UnrealGame vs UnrealEditor) and remove the Type from the Configurations (Debug, Development, etc - no more Development Editor config)
- Enabled for Xcode, added support but left disabled for VisualStudio
- For Games and Samples with multiple projects, a solution folder now contains them
#rb joe.kirchoff
#preflight 63efb20061378b7ea02bc32d

[CL 24285567 by Josh Adams in ue5-main branch]
2023-02-17 12:53:28 -05:00
Josh Adams
36fd58a499 - Made two modes for modern Xcode projects: OneWorkspacePerPlatform and OneRunTargetPerPlatform. The first makes completely separate .xcworkspaces, projects, and targets for each platform (Mac, IOS, TVOS). The second makes one workspace, and one project for each platform, but the platform will have three run targets (but one build and one index target) - useful for single game workspaces. There are a couple nasty things, like the Project has the Editor configs, but the IOS target doesn't want them, but they show up anyway in dropdowns because of the Project config.
- If there are no modern projects, then the mode is ignored, and it's the same old mode. With a mix of modern and legacy, each platform workspace will point to the same legacy projects (not worth retooling Legacy since it's becoming deprecated)
- Added Launch Storyboard support (it will look for uncompiled, compiled, project, and engine fallback locations). Compiled is useful or old storyboards, and for Windows-based (assuming that will work with Modern)
- Other minor things like metadata discovery, etc
#preflight 639a321843330e63e50a21e9

[CL 23517631 by Josh Adams in ue5-main branch]
2022-12-14 15:44:34 -05:00
josh adams
b4b723bfa6 - More modernization of Xcode, focusing on Mac, IOS plist still needs a lot of work
- Premade "template" plist files for Mac, MacEditor, IOS, and added a PlistMode to choose between updating a template plist (from engine) or using a "baked" out plist that Xcode won't really mess with (this is still a work in progress, as it still needs thought on how to handle IOS premade vs Mac template, etc)
- Updating icons to using xcassets instead of .icns file
- Added post build step for UBT to write out build versions (increments each build) to a .xcconfig for Xcode to put into the .plist, but it reads previous value. Not terrible, but it still  needs work

#rb adam.king
#preflight 632c7e8ee23e50651b43139b

[CL 22137251 by josh adams in ue5-main branch]
2022-09-22 11:42:27 -04:00
Josh Adams
97c6a662ae - Restored some behavior I had left commented out by mistake
#jira UE-161891
#preflight skip
#rb trivial

[CL 21544991 by Josh Adams in ue5-main branch]
2022-08-24 13:22:18 -04:00
Josh Adams
2060045e96 - More work on "modern xcode" mode (automatic signing works well, xcode can generate plists/entitlements, shared settings between Mac/IOS/TVOS). Needs the bUseModernXcode ini setting (see BaseEngine.ini) to activate
- Indexing improvements
- No longer asks to auto-create schemes, since we create all schemes needed
- Sped up the run-only project generation to skip a lot of cruft

#preflight 63041e960061f895d0fe3ccf
#rb ian.fox,roman.dzieciol (i am submitting without their final sign-off)
#preflight 63051c23516bef57ffb5b1c2

[CL 21517539 by Josh Adams in ue5-main branch]
2022-08-23 15:40:10 -04:00
Josh Adams
f2d201d09b - Rewrote the XcodeProjectFile class to not be spagetti of string maniuplation and guid passing [still requires opt-in via -xcconfig option to GenerateProjectFiles]
- Now each project node is its own class, and they can reference each other
- Projects with only one sub index target now have it rolled up into the main Index target
- Extension support is removed (will return later with an entirely new way to handle unique cases like that)

- Allowed an exception for UHT when disabling plugins on arm64, since Indexing needed the headers to have been generated
#rb self
#preflight skip

[CL 21269167 by Josh Adams in ue5-main branch]
2022-08-08 11:11:04 -04:00
Josh Adams
4a20becb00 - Moved everything over to .xcconfig files, with the exception of Extensions (a little-used IOS feature). It's possible, just not done yet, and is currently removed and will throw an exception
- Requires -xcconfig on the GenerateProjectFiles commandline
- Resurreceted the old non-xcconfig code in another namespace so that we can have both code paths side-by-side
- Had to change a little bit of XcodeProjectFileGenerator to manage the side-by-side classes
#preflight 62d61dbf164251d065b9388b

[CL 21164425 by Josh Adams in ue5-main branch]
2022-07-19 13:24:38 -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
Joe Kirchoff
82466ed8be UnrealBuildTool: Fix engine modules being filtered out of generated projects when programs should not be added
#jira UE-146426
#rnx
#rb trivial
#preflight 62338ddd0820efd0945ea479

[CL 19427071 by Joe Kirchoff in ue5-main branch]
2022-03-17 17:05:06 -04:00
dave hunter
25be456263 Engine targets for Mac installed builds
This forces UBT to always include an engine target for Mac installed builds

#jira UE-142717
#rnx
[REVIEW] [at]will.damon
#preflight none

#ROBOMERGE-AUTHOR: dave.hunter
#ROBOMERGE-SOURCE: CL 19247899 in //UE5/Release-5.0/... via CL 19251731
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v924-19243027)

[CL 19263217 by dave hunter in ue5-main branch]
2022-03-04 03:24:38 -05:00
jack porter
ba5e2d8634 Always include a UE5 target when generating an Xcode project file for a blueprint project for codesigning
#jira UE-132318
#rb Carl.Lloyd
[REVIEW]
#preflight NoneForApplePlatforms
[FYI] jonathan.adamczewski, will.damon

#ROBOMERGE-AUTHOR: jack.porter
#ROBOMERGE-SOURCE: CL 18901387 in //UE5/Release-5.0/... via CL 18901434 via CL 18901520
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v912-18901109)

[CL 18901521 by jack porter in ue5-main branch]
2022-02-08 09:13:59 -05:00
jonathan adamczewski
5c48869c86 UnrealBuildTool: rename MasterProject settings as PrimaryProject, and some other uses of 'master'
Variable, function and class renames only. XML-facing variables included deprecated support for the old names.

Renaming of the MasterProjectName.txt file will be handled in a subsequent change.

#jira none
#preflight 61d8a162ec35d1b940f74818

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

[CL 18550325 by jonathan adamczewski in ue5-release-engine-test branch]
2022-01-07 15:40:01 -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
axel riffard
88c3b94b92 Fix Xcode build deprecation warning
#jira UE-110799
#rb jack.porter
[FYI] will.damon, andrew.grant, dave.hunter
#preflight 605c88fcdf0ab500014b24fc

#ROBOMERGE-SOURCE: CL 15822569 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v785-15821902)

[CL 15826704 by axel riffard in ue5-main branch]
2021-03-25 13:29:15 -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
Marc Audy
7379fa99c5 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14229157
[CL 14233282 by Marc Audy in ue5-main branch]
2020-09-01 14:07:48 -04:00
jack porter
f2bbf8161a Fixed a number of cases where code was assuming Client targets are always named the same as the game target with "Client" appended.
#jira UE-77351
#rb Florin.Pascu
#lockdown Cristina.Riveron

#ROBOMERGE-SOURCE: CL 12841919 in //UE4/Release-4.25/... via CL 12841963 via CL 12842002
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v681-12776863)

[CL 12842018 by jack porter in Main branch]
2020-04-16 02:01:03 -04:00
Ryan Durand
9ef3748747 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536
#ROBOMERGE-BOT: FORTNITE (Main -> Dev-EngineMerge) (v613-10869866)

[CL 10870955 by Ryan Durand in Main branch]
2019-12-26 23:01:54 -05:00
Cosmin Sulea
50b9f22efc ROBOMERGE conflict 5630547 resolved UE-71953 - Blueprint iOS projects can't package For Distribution
#jira UE-71953
#rb Jack.Porter

[CL 5630708 by Cosmin Sulea in Main branch]
2019-03-28 12:09:05 -04:00
cosmin sulea
742c057b03 UE-70358 - Failure to sign when packaging for iOS Distribution when using Remote Compile from a code project on Windows
#jira UE-70358
#rb Ben.Marsh

#ROBOMERGE-SOURCE: CL 5382950 in //UE4/Release-4.22/...
#ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main)

[CL 5383321 by cosmin sulea in Main branch]
2019-03-13 11:41:55 -04:00
Ben Marsh
a22b952aa9 Copying //UE4/Dev-Build to Dev-Main (//UE4/Dev-Main)
#rb none
#rnx

[CL 4718806 by Ben Marsh in Main branch]
2019-01-14 12:11:24 -05:00
Ben Marsh
7598af0532 Update copyright notices to 2019.
#rb none
#lockdown Nick.Penwarden

[CL 4662404 by Ben Marsh in Main branch]
2018-12-14 13:41:00 -05:00
joe graf
997a04c7e7 Merge Dev-VR->Release-4.21
#rb: merge
#jira: merge

#ROBOMERGE-SOURCE: CL 4406345 in //UE4/Release-4.21/...
#ROBOMERGE-BOT: RELEASE (Release-4.21 -> Release-Staging-4.21)

[CL 4406346 by joe graf in Staging-4.21 branch]
2018-09-28 13:19:15 -04:00