Commit Graph

165 Commits

Author SHA1 Message Date
calvin zheng
2267ffd9e4 Improve source code lookup feature, using dsym if exists, and fix file path obtained from build machine
#jira UE-198540
#rb Josh.Adams

[CL 29653403 by calvin zheng in ue5-main branch]
2023-11-10 15:42:43 -05:00
zack neyland
2edc1a1072 Mac: Add a log incase lipo-ing fails.
#jira UE-199201

[CL 29393633 by zack neyland in ue5-main branch]
2023-11-02 22:16:22 -04:00
calvin zheng
f59750d968 Fix for NavigateToFunctionSource crash/error, use xcode built in atos instead of UnrealAtoS as it can't handle universal build.
#jira UE-195221
#rb Josh.Adams, Zack.Neyland

[CL 28753266 by calvin zheng in ue5-main branch]
2023-10-13 11:00:06 -04:00
josh adams
c2437d9b07 - Fixed various issues with making Mac/IOS builds that can be uploaded to AppStore in Xcode
* Missing ThinApp.sh
  * Missing some quotes around a variable in GenerateUniversalDSYM.sh
  * Correctly filter out the stub .app's and such when copying the Staged data directory into the .app
  * Disabled the Mac's Sign To Run Locally option by default, as that causes Xcode's Validation/Upload to not have the team name embedded in it, causing a hassle while pushing up to AppStore/TestFlight
  * Fixed the PRODUCT_NAME for BP projects
  * Made CrashReportClient be a sandboxed app that inherits from parent
  * Fix Hybrid apps to check all platforms before in the project generator, so that if a project needs a temp target for IOS (via a plugin)
  * For hybrid projects, don't append Game to the end of the Game target names, as that is the default, and it makes for better named products
  * Disabled the LoginFlow module from OnlineFramework plugin - this was causing issues with having CEF and EpicWebHelper embedded into a sandboxed .app, and LoginFlow isn't seemingly actually used by anything
#jira UE-196297,UE-196299,UE-196296,UE-196300,UE-196295
#rb adam.kinge

[CL 28463729 by josh adams in ue5-main branch]
2023-10-04 13:25:29 -04:00
Ryan Hummer
3ebc0e1bcf Removing mono/xbuild part 1
* Updating references to use dotnet
* Add new RunDotnet scripts
* Removing Mono sh scripts and references to them

#rnx
#jira UE-153293
#rb josh.adams, zack.neyland, brandon.schaefer

[CL 26737744 by Ryan Hummer in ue5-main branch]
2023-08-01 10:02:58 -04:00
Josh Adams
61ef979e51 - Made IOS and Mac BuildPlatforms classes come from AppleBuildPlatform so we can make UBT regen makefiles when xcode-select location changes
- Fixed XcodeBuild.sh to set iossimulator architecture the expected way
#rb adam.kinge

[CL 26623422 by Josh Adams in ue5-main branch]
2023-07-26 17:45:21 -04:00
ryan hummer
54151149b2 Removing uneeded call to SetupDotnet.sh on mac
#rnx
#rb none

[CL 26611303 by ryan hummer in ue5-main branch]
2023-07-26 12:43:29 -04:00
adam kinge
e56126723a Additional UBT changes to support iOS Simulator:
- update Xcode build script to set correct arch when compiling within Xcode
 - set correct SDKRoot depending on sim vs device

#jira UE-168571

[CL 26597711 by adam kinge in ue5-main branch]
2023-07-26 01:01:43 -04:00
josh adams
88c3aaa797 - Added a mkdir to create the directory before writing a file
#rb trivial
#jira UE-189573

[CL 26551057 by josh adams in ue5-main branch]
2023-07-24 14:37:29 -04:00
josh adams
82ea6a767a [Backout] - CL26223564
[FYI] keaton.stewart
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL26221679 [Main CIS Issue] Errors in Incremental FortniteServer Linux and Incremental Compile Monolithics - Linux
[FYI] Josh.Adams
Original CL Desc
-----------------------------------------------------------------
- Very super early support for VisionOS (requires Xcode 15 beta2 or later).
- THIS IS NOT USABLE YET - WORK IN PROGRESS!
- It builds, links with IOS libs (warnings, not errors), can cook and it boots in Simulator, but is dying in MetalRHI
- UnrealTargetPlatform.VisionOS is currently defined in Engine code, it is not pulled out like would be correct for a full true platform extension
- Refactored a lot of Build.cs files to use UnrealPlatformGroup.IOS/Apple instead of individual platform checks, to make VisionOS integration simpler
#rb zack.neyland

[CL 26226852 by josh adams in ue5-main branch]
2023-06-24 17:52:48 -04:00
keaton stewart
1fd1a77412 [Backout] - CL26221679 [Main CIS Issue] Errors in Incremental FortniteServer Linux and Incremental Compile Monolithics - Linux
#fyi Josh.Adams
#jira FORT-626566 (edited)
Original CL Desc
-----------------------------------------------------------------
- Very super early support for VisionOS (requires Xcode 15 beta2 or later).
- THIS IS NOT USABLE YET - WORK IN PROGRESS!
- It builds, links with IOS libs (warnings, not errors), can cook and it boots in Simulator, but is dying in MetalRHI
- UnrealTargetPlatform.VisionOS is currently defined in Engine code, it is not pulled out like would be correct for a full true platform extension
- Refactored a lot of Build.cs files to use UnrealPlatformGroup.IOS/Apple instead of individual platform checks, to make VisionOS integration simpler
#rb zack.neyland

[CL 26223564 by keaton stewart in ue5-main branch]
2023-06-23 20:29:27 -04:00
Josh Adams
e25e1b3daf - Very super early support for VisionOS (requires Xcode 15 beta2 or later).
- THIS IS NOT USABLE YET - WORK IN PROGRESS!
- It builds, links with IOS libs (warnings, not errors), can cook and it boots in Simulator, but is dying in MetalRHI
- UnrealTargetPlatform.VisionOS is currently defined in Engine code, it is not pulled out like would be correct for a full true platform extension
- Refactored a lot of Build.cs files to use UnrealPlatformGroup.IOS/Apple instead of individual platform checks, to make VisionOS integration simpler
#rb zack.neyland

[CL 26221679 by Josh Adams in ue5-main branch]
2023-06-23 19:12:47 -04:00
Ryan Hummer
4459065999 GitDependencies: Recompiled binaries
* Apple Silicon native binaries
  * Updated scripts to allow picking the right arch path
* nullable enabled support

#rnx
#jira none
#rb none

[CL 26088807 by Ryan Hummer in ue5-main branch]
2023-06-19 09:34:35 -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
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
4323a4108a - QAGame Mac passes validation for App Store (and can upload)
- 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]
2023-04-19 17:42:52 -04:00
josh adams
83117ddf55 - Removed a comment which was leaving temp files around instead of deleting them
#rb trivial
#preflight skip

[CL 25032566 by josh adams in ue5-main branch]
2023-04-13 17:01:43 -04:00
josh adams
6bd4b5cc10 - Replacement script for dsymutil that can take a universal binary and generate a dsym, when normally dsymutil would error out with > 4gb offsets
#rb calvin.zheng
#jira UE-183136
#preflight 64381918ae4448e6f9113b3b

[CL 25032553 by josh adams in ue5-main branch]
2023-04-13 17:01:24 -04:00
josh adams
384ec009e9 - Fixed up latest p4vutils for Mac/Linux, updated project to handle all platforms
- Added UserInterface static class for pulling DialogBox and Clipboard stuff, which needs per-platform implementations
- Changed Windows to install P4VUtils.exe <command>, instead of dotnet P4Utils.dll <command>
- Added scripts to build all platforms, from all platforms (using the IsWindows, IsLinux, IsOSX, WithRestricted properties in the project)
- Updated Binaries as well
#rb ryan.hummer
#preflight skip

[CL 24964516 by josh adams in ue5-main branch]
2023-04-07 10:43:57 -04:00
Joe Kirchoff
086969637c BatchFiles: Clean up so non-ide UBT builds all call the same script and fix up some dependency scanning
#rnx
#rb Brandon.Schaefer
#preflight 63b752af221aab21e0313ac2

[CL 23593968 by Joe Kirchoff in ue5-main branch]
2023-01-05 17:50:34 -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
joe kirchoff
27ee520c1b [Backout] - CL23055743
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
BatchFiles: Add output directory when caling dotnet build as running the scripts via a visual studio environment requires this, and for consistency. Via UDN

#rnx
#rb Josh.Adams
#preflight 636ae35c7c2b505190d92839

[CL 23069893 by joe kirchoff in ue5-main branch]
2022-11-09 21:04:55 -05:00
joe kirchoff
73b3529e56 BatchFiles: Add output directory when caling dotnet build as running the scripts via a visual studio environment requires this, and for consistency. Via UDN
#rnx
#rb Josh.Adams
#preflight 636ae35c7c2b505190d92839

[CL 23069570 by joe kirchoff in ue5-main branch]
2022-11-09 20:58:05 -05:00
Ryan Hummer
0ea41c9941 Removing mono referenced from GitDependencies scripts
mono not used by this tool

#rnx
#jira none
#rb none
#preflight none

[CL 22490973 by Ryan Hummer in ue5-main branch]
2022-10-12 21:25:25 -04:00
joe kirchoff
f1edb85ce3 Fix up code compile batch scripts to better support visual studio
* If invoked from VS2022, use visual studio to build UnrealBuildTool to prevent unnecessary rebuilds
* If invoked from VS2019 or on the command line without visual studio, use bundled dotnet to build
* Deduplicate all logic into Build.bat, and have Clean.bat and Rebuild.bat call Build.bat with either -Clean or -Rebuild
* Print entire dotnet version
* Replace various calls to dotnet msbuild with dotnet build
* Update old UE4 comments

#jira UE-165754
#rb ?

[CL 22387871 by joe kirchoff in ue5-main branch]
2022-10-06 19:45:24 -04:00