232 Commits

Author SHA1 Message Date
Josh Adams
ce4f26366f - Fixed codesigning of UnrealGame made with -createstub (will use dummy signing, which doesn't need a cert/provision pair, so will be signed the same way UnrealGame is signed without making a stub)
#jira UE-193672
#rb Calvin.zheng

[CL 27312645 by Josh Adams in 5.3 branch]
2023-08-23 13:49:57 -04:00
Josh Adams
db532ea856 - Brought back Legacy style temp keychain method because IPP cannot currently re-sign Frameworks embedded in a .app
#jira UE-193511
#rb axel.riffard

[CL 27278320 by Josh Adams in 5.3 branch]
2023-08-22 13:41:44 -04:00
calvin zheng
db9851d5e6 UBT: Use ld-classic in order to avoid the new linker since it seems to have some bugs with our code base.
Remove redundant -lc++

#jira UE-191350
#rb Josh.Adams, Zack.Neyland

[CL 26852479 by calvin zheng in 5.3 branch]
2023-08-04 13:13:53 -04:00
Josh Adams
55d0afa3bf - Enabled Modern Xcode mode by default for everyone!
- Fixed a naming issue (GameName vs ExeName) with stub creation for non-Development builds
#jira UE-191986
#rb calvin.zheng

[CL 26831770 by Josh Adams in 5.3 branch]
2023-08-03 18:42:59 -04:00
Josh Adams
7a939ead5b - Fixed remote building of IOS (from WIndows) with Modern Xcode
- Updated IPhonePackager.exe
#rb axel.riffard
#jira none

[CL 26770347 by Josh Adams in 5.3 branch]
2023-08-02 09:50:46 -04:00
Josh Adams
b2637fe4e1 - Couple of changes that got lost for .stub generation (modern was missing the Payload internal directory, and legacy needed to use targetname for the schemename, not project name)
#rb trivial
#jira none
#rb axel.riffard (schemename part)

[CL 26621665 by Josh Adams in 5.3 branch]
2023-07-26 17:08:57 -04:00
Josh Adams
362a214b7f - Added architecture to GetDestinationPlatform() so -destination param to xcodebuild can get simulators (and brought it over from 5.4)
- Added some logging to UseModernXcode so it is clear which mode is being used, and why
- Fixed stub creation in modern to use local dummy identity (no need for keychain unlocking), and moved files into Payload directory inside the stub
#jira UE-168571
#rb adam.kinge

[CL 26618612 by Josh Adams in 5.3 branch]
2023-07-26 15:49:51 -04:00
axel riffard
f8ec4447fc Fix remote buil on iOS (scheme name)
#rb josh.adams
#jira UE-190418

[CL 26598697 by axel riffard in 5.3 branch]
2023-07-26 02:08:07 -04:00
josh adams
275cb69b2f Brought changes over from UE5/Main
- Fixing the name of the .app when staging/deploying a BP IOS project with modern
- Uses a new AppleExports function to call MakeBinaryFilename, so we can use standardized name format for the BP .app
- Fixed which .app is archived for BP projects (it was archiving the UnrealGame.app, not the finalized MyProject.app)

- Programs now no longer use Game/Client entitlements, but can set bUseEntitlementsForPrograms to true in the .ini if really needed
- Added an Unrestricted.entitlements, an empty entitlements file
- Changed Programs to find the .ini for codesigning, without needing a .uproject

- Fixed path to strip to add a missing slash
- Pass -legacyxcode along to the legacy PostBuildSync step to make sure it uses legacy when overriding the .ini setting
- Added -legacyxcode commandline handler for legacy PostbuildSync

#jira UE-190517
#jira UE-189830
#rb various

[CL 26592555 by josh adams in 5.3 branch]
2023-07-25 18:39:53 -04:00
adam kinge
f355925d40 Set the correct sdk to use for iOS device and iOS Simulator builds
#jira UE-168571
#rb josh.adams

[CL 26575497 by adam kinge in 5.3 branch]
2023-07-25 11:32:22 -04:00
calvin zheng
ccdb7b0a0b Fix various issues with Installed build and modern, removed references of Payload while maintaining create stub
#rb Josh.Adams

[CL 26295399 by calvin zheng in 5.3 branch]
2023-06-28 15:23:27 -04:00
calvin zheng
f99e44009b - Handle manual codesigning with Modern Xcode (using all new settings, does not use the "green check" provisions in IOS project settings)
- Added support for AppStoreConnect API for automatic code signing (with command line builds, packaging from editor, etc) that doesn't need everyone to be signed in to Xcode (still need to sign in if using Xcode IDE to build/run)
- Fixed Modern to always create the IOS plist in UBT ApplePostBuild step
- Updated a bunch of ini setting names to remove Modern, given Modern will be standard in the future
- Added some settings XcodeProject settings in the editor, and updated some tooltips/category names
- Moved some functions around to clean up
- Added some debug code to catch errors

#rb adam.kinge,calvin.zheng,zack.neyland

#ushell-cherrypick of 26133818 by Josh.Adams

[CL 26152365 by calvin zheng in 5.3 branch]
2023-06-21 12:07:08 -04:00
calvin zheng
db892aed9d - Moved the SingleTargetName property up to ProjectFileGenerator from Xcode generator, and use it to remove Targets from the list to be processed. This is useful because when modern Xcode creates a stub xcode project for a Program, it has no uproject to use with "-game -project", so the GPF code would process all .Target.cs files, which can lead to warnings about missing AdditionalPluginDirectories (build machines may not fully sync a stream, and processing every Target can cause unexpected problems)
#rb joe.kirchoff

#ushell-cherrypick of 26132088 by Josh.Adams

[CL 26152295 by calvin zheng in 5.3 branch]
2023-06-21 12:04:21 -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
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
c04da27b3b UnrealBuildTool: More automated code cleanup
#rnx
#preflight 64767efb4b1ead7c7f428c7a

[CL 25693857 by joe kirchoff in ue5-main branch]
2023-05-30 18:59:32 -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
4300df3b7d - Fixed location of legacy xcode projects for where to find temporary workspaces
#jira UE-187148
#rb self
#preflight 647102ab40698940de3751a6

[CL 25651421 by Josh Adams in ue5-main branch]
2023-05-26 15:47:51 -04:00
Josh Adams
b7d0fe4ab0 - Cleaning up MacExports/IOSExports/IOSDeploy/etc for shared functionality from Modern Xcode
#rb trivial
#preflight 6470ddb73c13defa05f64f51

[CL 25647200 by Josh Adams in ue5-main branch]
2023-05-26 12:51:21 -04:00
Josh Adams
a2263b2ce0 - Xcode support for Content Only projects
- 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]
2023-05-25 13:04:27 -04:00
Josh Adams
c3d20c01c5 - Workaround to get engine source code in IOS projects (force the UnrealEditor project in the worksapce, but as a "stub" project)
#rb adam.kinge
#preflight 644ac0c71150e908d041eb67

[CL 25220918 by Josh Adams in ue5-main branch]
2023-04-27 14:55:24 -04:00
Josh Adams
8b1d9615f8 - Packaging and archiving for modern IOS/Mac:
- When doing standard BuildCookRun, package will simply finalize the (likely already finalize) .app in Binaries/<platform>
  - When using Distribution mode, packge will create a .xcarchive in the Xcode Library (as seen in Organizer) to be able to distribute in various modes
  - Archiving will copy either the .app or .xcarchive made above to the archive directory (it will always copy the most recent .xcarchive, since we don't create the directory name, we can't know which archive to copy, so the most recent one wins - not an issue when using -package, because it always makes a new .xcarchive)
- A few code cleanup/refactors in related
#preflight 644ab91fb208f61af82d8f76

[CL 25220287 by Josh Adams in ue5-main branch]
2023-04-27 14:22:37 -04:00
ionut matasaru
1172a216a1 UBT: Deprecated TragetInfo::bUseMallocProfiler toggle. No longer used as MallocProfiler2 and FMallocProfiler runtime is removed in favor of UnrealInsights.
#jira UE-141779
#rb Joe.Kirchoff
#preflight 64380bdbae4448e6f909db87

[CL 25142451 by ionut matasaru in ue5-main branch]
2023-04-21 02:24:21 -04:00
adam kinge
7ff5bbed17 During a RemoteMac tvOS build, the entitlement file is written during the stub ipa build which can confuse xcode, so just tell it to ignore the fact the file changed.
#jira UE-181206
#rb josh.adams, jack.porter
#rnx
#preflight 6434e1331b3664fdfa820ef3
#lockdown jack.porter

[CL 24991884 by adam kinge in ue5-main branch]
2023-04-11 11:30:01 -04:00