541 Commits

Author SHA1 Message Date
calvin zheng
e984cb141a 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 28758868 by calvin zheng in 5.3 branch]
2023-10-13 13:13:54 -04:00
Josh Adams
eb3569c187 - Fixed various blocking 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)
  * 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
  * Set the no-encryption setting in the template Mac plist to make uploading to TestFlight/AppStore easier
  * Fixed editor to not compile as universal when using -distribution, only the client should be universal
  * Further improvements to stripping out nested .app's in a final .app (remove them from the staged directory helps)
  * Changed how the Mac app name is displayed, since the .app name itself is shown in the Finder,  unlike IOS where the CFBundleName is shown (the archived .app name in the .xcarchive is named by a project setting, falling back to the .uproject name if not set)
  * Disabled the SignExecutables function on Modern because they attempt to sign the wrong .apps, and one is no longer (previously it was uselessly signing .apps, but now it throws an error due to changes for the third item in this list)
  * Legacy Xcode mode is forced with Window's Remote Mac builds, so use the old legacy code when running under windows
  * Added a third party .cpp file to get copied to remote macs
  * Fix Tools -> Open Xcode not working with modern Xcode

#jira UE-197465

[CL 28723100 by Josh Adams in 5.3 branch]
2023-10-12 15:15:43 -04:00
arciel rekman
9a6e9a3814 Fix Linux toolchain building scripts.
- Native Linux toolchain is produced in already a runnable state with the proper name for distribution.
- Both cross and native toolchains have their repo path changed to the github repo they are cloned from.
- Not building bolt as this for some reason cases llvm-profdata and symbolizer not to be added to the install folder.

#rb none
[FYI] Brandon.Schaefer

[CL 26797729 by arciel rekman in 5.3 branch]
2023-08-02 23:21:54 -04:00
Ryan Hummer
f0a2ae7937 Removing uneeded call to SetupDotnet.sh on mac
#rnx
#jira none
#rb none

[CL 26609722 by Ryan Hummer in 5.3 branch]
2023-07-26 11:57:17 -04:00
adam kinge
504c5cb247 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 26597655 by adam kinge in 5.3 branch]
2023-07-26 00:59:42 -04:00
Arciel Rekman
4ed861549d Download v22 native Linux toolchain when setting up Linux.
#rb Brandon.Schaefer
#jira none
#review @Brandon.Schaefer

[CL 26585837 by Arciel Rekman in 5.3 branch]
2023-07-25 15:49:04 -04:00
Josh Adams
7cf3ff6165 - Added a mkdir to create the directory before writing a file
#rb trivial
#jira UE-189573

[CL 26550720 by Josh Adams in 5.3 branch]
2023-07-24 14:24:05 -04:00
samhocevar
c91f41a6a1 PR #10620: Make sure BuildU[A|B]T.bat explicitly call the Windows find.exe utility
#jira UE-190124

[CL 26410633 by samhocevar in 5.3 branch]
2023-07-17 13:10:01 -04:00
arciel rekman
267d59c868 Script fixes for v22 toolchain
- Windows binaries use rpmalloc for a tremendous LTO speed improvements
- also a patch from clang 17.x to add a flag to disable auto-upgrading debug info
- new patch for our old sysroot missing modern stuff (HWCAP_CRC32)
- switched Linux script away from clang/lld standalone builds because they are no longer supported and don't work reliably
- fixed Windows build to allow compressing debug info with zlib
- cleaned up Windows batch files so it uses native commands (except for git/patch) and can run without Cygwin/etc installed

#rb Brandon.Schaefer
[REVIEW] Brandon.Schaefer

[CL 26285363 by arciel rekman in 5.3 branch]
2023-06-28 10:58:02 -04:00
ryan hummer
44ac119525 GitDependencies: Recompiled binaries
* Apple Silicon native binaries
  * Updated scripts to allow picking the right arch path
* nullable enabled support

#rnx
#rb none

[CL 26088862 by ryan hummer in 5.3 branch]
2023-06-19 09:36:50 -04:00
joe kirchoff
7efcc35d1f Update UAT & UBT shell script dependency check
#rnx
#rb trivial

[CL 25687406 by joe kirchoff in ue5-main branch]
2023-05-30 16:35:32 -04:00
martin ridgers
b98ccb03ee Suppress BuildU[A|B]T.bat "File Not Found" output when they search for dependencies
#rb joek
#rnx
#jira
#preflight 646de8e51417daba1ed0d1c3

[CL 25634556 by martin ridgers in ue5-main branch]
2023-05-25 19:20:34 -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
Martin Sevigny
4f0f2a6f1c Suppress all messages from FC (file compare) as we only care for the exit code of the command.
Some messages where confusing the customers.

[CL 25447299 by Martin Sevigny in ue5-main branch]
2023-05-12 09:21:34 -04:00
joe kirchoff
2a77ade97e Add new references to batch file UAT UBT dependencies
#rnx
#rb trivial

[CL 25398012 by joe kirchoff in ue5-main branch]
2023-05-09 19:50:15 -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
5176c49a4b - Updating InstallP4VUtils.bat to match the changes in mac/linux script
#rb trivial
#preflight slip

[CL 24977171 by Josh Adams in ue5-main branch]
2023-04-10 10:19:13 -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
carl bystrom
b199c5f944 AutomationTool: Flag RunWineUAT.sh as executable
#preflight none

[CL 24913378 by carl bystrom in ue5-main branch]
2023-04-04 13:09:09 -04:00
carl bystrom
c933b3483c AutomationTool: Avoid xvfb printing error message when running as non-root under Wine
Skips listening to TCP and Unix sockets.

#preflight none

[CL 24910629 by carl bystrom in ue5-main branch]
2023-04-04 10:43:42 -04:00
carl bystrom
8f777157c8 AutomationTool: Add experimental support for running UAT under Wine
Based on work by Brandon Schaefer.

#rb Brandon.Schaefer
#preflight 641466a8691c5ebc1591faa8

[CL 24687773 by carl bystrom in ue5-main branch]
2023-03-17 09:32:07 -04:00
MalikuMane
112084df2d PR #10139: Use git to find the GIT_DIR (Contributed by MalikuMane)
#review-24639689
#rb Brandon.Schaefer
#jira UE-177821
#preflight 6410a50dd778f889759a2c51

[CL 24653977 by MalikuMane in ue5-main branch]
2023-03-15 10:12:23 -04:00