- Fixed an issue where it would skip running the PostBuild stuff if it fails during the pulling in staged directory step
#preflight 6451033b0722d4f6a28bf138
[CL 25300116 by Josh Adams in ue5-main branch]
- 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]
- 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]
- Thin the dylibs in a .app when archiving, and warn that the dylibs have all needed architectures
- Added some default entitilements files for Mac, for Sandbox, and set Sandbox entiitlements as Shipping default
- Added some Modern ini options (ModernBundleIdentifie, AppCategory
- Updated CEF3 to have a single universal framework, which gets Thinned down if making a single architecture app
#rb calvin.zheng,roman.dzieciol
#preflight 64405af7a9720904a6c3eb4f
[CL 25117174 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]
- Removed Payload from IOS Binaries subdir (this is needed for archiving envvar changes below)
- IOS .app's now have decorated names (QAGame-IOS-Debug.app)
- Archiving works now, with dSYMs, for all platforms, and can be uploaded directly to app store in xcode
- Updated some envvars, main thing is no longer overriding BUILD_CONFIGURATION_DIR because it breaks Archiving
- No longer force dsym generation in UBT when building shipping (in modern) because xcode will do it now when archiving (will make iterating on Shipping much faster now!)
#rb roman.dzieciol
#preflight 6410e097290c6e5d77171aee
[CL 24644843 by Josh Adams in ue5-main branch]
- .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]
- 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]
- Mac/MacEditor can also have template/premade plist files
- Legacy xcode mode will still write the entire plist file
#rb adam.kinge
#preflight 63d98f3265738ba951fb76f2
[CL 23939508 by Josh Adams in ue5-main branch]
- 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]