Commit Graph

301 Commits

Author SHA1 Message Date
josh adams
7da8c50033 - Fixed location of where EnsureXcodeProjectExists() looks for BP projects
- Fixed warning about SDKROOT[sdk=macosx] type warnings with legacy Xcode
#rb axel.riffard,tim.smith

[CL 25796956 by josh adams in ue5-main branch]
2023-06-05 13:25:48 -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
Wojciech Krywult
9fe0243168 AutomationTool: Fixed 'Launch failed' messages in the editor after terminating a successfully launched game.The problems was caused by us treating all non-zero results as errors while some platforms return different non-zero codes to provide additional information.
Resolved by adding IProcessResult::bExitCodeSuccess virtual property which may be overridden on the affected platforms to explicitly indicate which exit codes are allowed.

#preflight 6462a07a592448f08bde34e4
#rb David.Harvey
#jira UE-178885
#rnx

[CL 25497459 by Wojciech Krywult in ue5-main branch]
2023-05-16 16:56:31 -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
Josh Adams
97fae42953 - Fixed QuickLaunch for IOS working with Modern xcode
- No longer try to grab the output from IOS with QuickLaunch as idevicedebug is killing the app too quickly
- The modern Staged directory can now be shared between Development/Shipping/etc, for grabbing any non-Framework .dylibs (like steam)
- Removed the extra --generate-entitlements-der option now that Xcode also always adds it
#preflight 6447d49a024bc608e64072f9
#rb adam.kinge
#preflight 6447d6643d1be392df890776

[CL 25179459 by Josh Adams in ue5-main branch]
2023-04-25 09:51:37 -04:00
calvin zheng
d615e69004 Exposing xcode settings to UE settings UI (more work about dynamic disabling etc will follow)
#jira N/A
#rb Josh.Adams
#preflight 6446ae7a7368de8c98fc84d2

[CL 25169123 by calvin zheng in ue5-main branch]
2023-04-24 15:15:00 -04:00
Josh Adams
4c3471b8a7 - After staging, Modern xcode projects will build with stub xcode project to generate a complete .app in the root of the staging directory (tested Mac and IOS)
- 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]
2023-04-04 20:54:06 -04:00
adam kinge
377520b516 Fix Log warnings
#jira UE-173286
#rnx
#rb jack.porter
#preflight 6421a13c803cb466e8ee567a
#lockdown jack.porter

[CL 24806501 by adam kinge in ue5-main branch]
2023-03-27 14:32:09 -04:00
adam kinge
5b53ebc8ef iOS Remote Mac builds don't include user defined Localization string resources. Make sure they get included during the stub build step.
#jira UE-173286
#rnx
#rb jack.porter josh.adams
#preflight none for remote mac builds
#lockdown jack.porter

[CL 24802290 by adam kinge in ue5-main branch]
2023-03-27 10:05:17 -04:00
Josh Adams
e449e43c2a - Updating making Mac builds with modern xcode to stage files into the .app via xcode
- 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]
2023-03-22 07:24:29 -04:00
Josh Adams
b4b338d4c6 - Removing deprecated IOS bitcode support
#rb adam.kinge
#preflight 640fc449c41a0a2a77e96181

[CL 24643143 by Josh Adams in ue5-main branch]
2023-03-14 16:15:23 -04:00
Ben Marsh
7e26c34d2b EpicGames.Core: Deprecate legacy log methods to prefer structured logging interface.
#preflight 640a23d928026468d9de7cbd

[CL 24580590 by Ben Marsh in ue5-main branch]
2023-03-09 14:51:40 -05:00
Ben Marsh
235eb77726 Change to structured logging in other AutomationTool projects.
#preflight 6408c4478c0039bbf750e861

[CL 24562553 by Ben Marsh in ue5-main branch]
2023-03-08 12:43:35 -05:00
Josh Adams
c27379e9d2 Modern xcode changes
- .app is now fully made by Xcode, not partially by UBT/UAT (exe is copied into .app via shell script, and "cookeddata" is a folder reference in the Xcode proejct - for IOS/TVOS only for now)
- Updated how metadata files are found in the Metadata class, and template plist files are now called Info.Template.plst
- A prebuild script does some prep work to help with Xcode and UBT interaction, and the way our legacy build locations mess with Build after Archive
- Fixed some ".app" issues where the PRODUCT_NAME was missing
#rb self
#preflight 63f8fed82b1a2765f986f63f

[CL 24404636 by Josh Adams in ue5-main branch]
2023-02-24 13:35:13 -05:00
Josh Adams
d8238020f8 - Fixed scheme name for the codesign call of Xcode
#jira UE-177931
#rb trivial
#preflight skip

[CL 24351834 by Josh Adams in ue5-main branch]
2023-02-21 17:48:58 -05:00
axel riffard
38ed45026d IPA used as a donor for prepare for debug feature error handling
#jira UE-120589
rb trivial
#preflight 63f4cbeaff5afbbb030f8668

[CL 24338456 by axel riffard in ue5-main branch]
2023-02-21 09:06:59 -05:00
swarm
b61361facf Secondary remote Mac
#jira UE-120589
# rb josh.adams
#preflight 63f2da7d90198dffbaaee3ff

[CL 24309059 by swarm in ue5-main branch]
2023-02-19 21:45:46 -05:00
axel riffard
f0898e1c0d Remote Prepare to Debug
#jira UE-120589
#rb josh.adams
#preflight 63db32457a39a18021af8c38

[CL 23964201 by axel riffard in ue5-main branch]
2023-02-01 23:02:14 -05:00
josh adams
a90c774351 - Fixed non-Development plist naming when packaging before doing a Development package
#jira UE-175385
#preflight 63d4b6a3d21dbe1d297b59e2

[CL 23923435 by josh adams in ue5-main branch]
2023-01-31 01:15:57 -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
Josh Adams
844b22fdf0 - Fixing some issues (mostly with programs) on IOS/Mac
- Fixed executable path for programs under Restricted
  - Fixed paths when there's an ExeSubDir in the Target
  - Allow for codesigning frameworks under programs without a .uproject
#preflight 6397a2528c64c74ac8489545
#rb Rafa.Lecina

[CL 23484025 by Josh Adams in ue5-main branch]
2022-12-12 17:46:48 -05:00
axel riffard
9780d35625 WrangleContentForDebugging UAT command to prepare for debug iOS / tvOS
#rb josh.adams
#jira UE-162968
#preflight 637458b1232e3d12cb01b154

[CL 23150547 by axel riffard in ue5-main branch]
2022-11-15 22:39:50 -05:00
josh adams
30245001cf - Change Mac to use "dotnet msbuild" to compile C# programs with, instead of msbuild - dotnet is shipped with the engine so is always there. This is to fix builders building with xbuild which is deprecated and going away
- Removed unused MobileDeviceInterface
#jira UE-164616
#rb adam.kinge
#preflight 6352ccfee6096564af79599f

[CL 22693841 by josh adams in ue5-main branch]
2022-10-21 13:25:02 -04:00
Josh Adams
2e03486229 - Remove unused orientation parameters from GeneratePList, etc functions
#rb trivial
#preflight 63517e3e3d41a4455a390431

[CL 22661134 by Josh Adams in ue5-main branch]
2022-10-20 13:07:40 -04:00