* Use object type rather than var
* Remove double newlines
* Use pattern matching
#rnx
#preflight 647780095d23eca37d28a387
[CL 25706751 by joe kirchoff in ue5-main branch]
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: More automated code cleanup
#rnx
[CL 25695155 by joe kirchoff in ue5-main branch]
- Added a top-level .xcconfig file to Xcode workspace for use with UnrealGame/etc so it knows where to find staged data, and set the commandline automatically
- Stage the UECommandLine.txt file for modern builds because we no longer make the Bootstrap .app
- Added XcodeBuildMode enum/string so scripts can tell when the project is being built (so build time could act differently than stage time, etc)
- Making use of the enum and other env vars to skip steps when not needed
- Other fixes for project generation
- Added -modernxcode and -legacyxcode comandline options which will override the .ini setting (refactored all UseModern checks into one function)
- Support for programs that have a .uproject, and GPF with -game -project=<program.uproject>
- Added success return value to FinalizeAppWithModernXcode
- Added quotes to fix paths with spaces in GenerateProjectFiles.command
- Enabled parallel AddAdditionalNativeTargetInformation for gathering Frameworks from targts, now that parallel project generation has been enabled and most parallel issues are fixed
#preflight 646ce67c2e78be98411323d9
#rb zack.neyland
#preflight 646f8f2850786bb5ba8a98f0
[CL 25623979 by Josh Adams in ue5-main branch]
- Update frameworks with a Framework mode to differentiate between linking with it and copying to .app (in case of a static lib framework, or load-only dylib
- Updated CEF3 to work as a normal framework (if we have a universal framework binary, it would be simpler, because LoadInMain() would work without any paths)
#rb roman.dzieciol
#preflight 643484117536ac6b78ae7ce3
[CL 24985043 by Josh Adams in ue5-main branch]
- Fixed up scripts for copying files into mac .app with modern xcode
- Changed bIncludeEngineSource being false to not remove game/samples/mods/etc from projects (only stub xcode projects set it to false, afaict)
#rb zack.neyland
#preflight 642cc4c21d19c0312af476c0
[CL 24922909 by Josh Adams in ue5-main branch]
- Mac and IOS both now run a script in Xcode to rsync from StagedBuilds into the .app
- Mac now generates and runs the xcode project after building (PostBuildSync like IOS) to codesign and pull in staged data, using a new ApplePostBuildSync class to share with IOS
- Added a SingleTarget mode to XcodeProjectGenerator to make a minimal project for PostBuildSync
#rb zack.neyland
#preflight 641a7276bb1320be4166c3fc
[CL 24745546 by Josh Adams in ue5-main branch]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]