Commit Graph

138 Commits

Author SHA1 Message Date
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
calvin zheng
1b8a9d80ff Disable Xcode header map and a specific C++11 warning. Now almost all files can be compiled for indexing, only 10 files still has errors
#rb Josh.Adams
#preflight n/a

[CL 24725055 by calvin zheng in ue5-main branch]
2023-03-20 17:59:51 -04:00
calvin zheng
a5b5b75c1d Fix typo that flipped -frtti and -fno-rtti
#rb Josh.Adams
#preflight n/a

[CL 24692605 by calvin zheng in ue5-main branch]
2023-03-17 14:00:11 -04:00
calvin zheng
4e184cbeff Use direct include in Mac indexing response files, this resolves majority of indexing compile fails.
#rb Josh.Adams
#preflight n/a (not affecting Horde build)

[CL 24678182 by calvin zheng in ue5-main branch]
2023-03-16 16:11:38 -04:00
Josh Adams
297f950d3b Modern Xcode changes
- 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]
2023-03-14 17:22:48 -04:00
Josh Adams
67a4d5a6c3 - Big cleanup of Modern mode to simplify the .xcconfig files, and the generating code, as well as moveing less used stuff to other files
#rb zack.neyland
#preflight 640ba2b3482188d7105847b8

[CL 24598221 by Josh Adams in ue5-main branch]
2023-03-10 16:46:12 -05: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
Josh Adams
0842a7adb3 - Added Framework support in Modern Xcode projects - this will copy and code sign frameworks directly via Xcode, instead of UBT doing it
#rb zack.neyland
#preflight 64078e282559570cc7f40fe2

[CL 24545611 by Josh Adams in ue5-main branch]
2023-03-07 14:28:06 -05:00
calvin zheng
17f2b6268e Revert 5.1 QFE, make sure universal build works on installed build
#jira UE-179161
#preflight 64011dc4d249add4a2ff63c2
#rb Josh.Adams
#lockdown Rolando.Caloca

[CL 24525334 by calvin zheng in ue5-main branch]
2023-03-06 13:03:37 -05:00
josh adams
33568d64fa - Fixed warning about always running a script phase in Legacy XcodeProjects
#jira UE-169940
[REVIEW] Calvin.Zheng
#preflight 63ffa133e32cdb7d9ad23737

[CL 24470089 by josh adams in ue5-main branch]
2023-03-01 16:02:32 -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
f4a23e2682 - Removed warning that the Sign Framework script would always run, with legacy xcode IOS projects
#rb tim.smith
#jira UE-169940
#preflight 63f5125c26233b957f762df1

[CL 24345711 by Josh Adams in ue5-main branch]
2023-02-21 14:07:23 -05:00
Josh Adams
371cba8fd8 - Fixed legacy Xcode project commandlines
#rb Silviu.Stancescu (tested)
#preflight skip

[CL 24325924 by Josh Adams in ue5-main branch]
2023-02-20 16:31:09 -05:00
Josh Adams
fb899b4003 - Missed a check for bMakeProjectPerTarget hceck in legacy xcode projects
#preflight skip
#rb trivial

[CL 24290423 by Josh Adams in ue5-main branch]
2023-02-17 15:55:46 -05:00
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
e3c192269b - Working on improving IOS Plist generation, with UBT making a template plist project that Xcode will finalize, or project can use a fully premade plist
- 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]
2023-01-31 17:20:49 -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
21945ad416 - Fixed IOS/TVOS codesigning in InstalledBuild (caused by an issue when forcing InstalledBuilds to be Intel only on Mac - it was making all platforms Intel!)
#rb adam.kinge
#jira UE-174364
#preflight 63d43b23d21dbe1d2947f95b

[CL 23923424 by josh adams in ue5-main branch]
2023-01-31 01:15:41 -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
8baadec8a6 - Fixed Run Target name in Modern xcode to not have the _Plaform suffix
#rb trivial
#fyi calvin.zheng
#preflight 63c9d1b6d45afa2a8fd3a1c6

[CL 23783492 by Josh Adams in ue5-main branch]
2023-01-19 18:34:12 -05:00
Josh Adams
92c6e39a59 - Fixed an issue with modern xcode project generation with Programs that have uproject files
#rb trivial
#preflight 63c83d78b065224750b2adfd

[CL 23760720 by Josh Adams in ue5-main branch]
2023-01-18 13:51:41 -05:00
marc audy
ac008ae11b [Backout] - CL23757826
[FYI] jessica.agee, axel.riffard
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL23756123
[FYI] axel.riffard
Original CL Desc
-----------------------------------------------------------------
fix tvos signature #rb josh.adams #jira UE-174364 #preflight none

[CL 23760389 by marc audy in ue5-main branch]
2023-01-18 13:36:29 -05:00
jessica agee
c97a8eb024 [Backout] - CL23756123
[FYI] axel.riffard
Original CL Desc
-----------------------------------------------------------------
fix tvos signature #rb josh.adams #jira UE-174364 #preflight none

[CL 23760363 by jessica agee in ue5-main branch]
2023-01-18 13:35:55 -05:00
Josh Adams
083b8c59ae - Fixed legacy xcode projects when made for TVOS only - it was making Mac only projects
#rb trivial
#preflight 63c06cc01a06fc6105825888

[CL 23668957 by Josh Adams in ue5-main branch]
2023-01-12 15:45:06 -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