Fix PDB issue where UEFN can't generate a PDB
Disable PDB generation for UnrealEditorFortnite
[REVIEW] [at]Phillip.Kavan [at]Josh.Adams [at]Gary.Yuan [at]Henrik.Karlsson
[CL 23535440 by eric knapik in ue5-main branch]
- 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]
- Added UAT params to pass architecture by target type (-editorarchitecture, -clientarchitecture, -serverarchitecture, -programarchitecture). Keeping -specifiedarchitecture for compat, and it will set all the other 4 if they are not specified
- Changed ProjectGenerator to find Program .uproject files (logic was looking for .Target files under the .uproject's directory, which is not the case for Programs)
- Added two params to GetProjectArchitectures:
- bGetAllSupported - used to get all supported architectures, not just the ones currently being built for (needed for XcodeProject to know what architectures to allow in the dropdown)
- bIsDistributionMode - used to get architectures to compile when making distribution builds (probably want to compile all architectures for distro's)
- Removed the MacExports.TargetsAlowedForAppleSilicon, updated XcodeProject code to use the new GetProjectArchitectures()
#rb david.harvey
#jira none
#preflight 63909f217e0feab0b7bd8241
[CL 23428114 by Josh Adams in ue5-main branch]
- ConvertToReadableArchitecture() - turn an internal platform arch string to a printable version
- IsX86Architecture() - returns true if the platform arch string represents an x86 architecture
- Changed Linux to use the HumanReadableName as the FolderNameForArchitecture, so it's shorter and it is not obfuscated anymore
#rb brandon.schaefer
#preflight 638fc65e9549ddaa288ccf73
#fyi dan.thompson
[CL 23419149 by Josh Adams in ue5-main branch]
- Changed the very high level loop over targets and architectures to move the Architecture as innermost loop - this allows each target to compile with different architectures in the case of mutli-target compiling
- Added [Editor]DefaultArchitecture to Mac ini's - the [Editor]TargetArchitecture property is now what the target _supports_, and Default is what it will be built with if no architecture is specified (usually will be "Host" to indicate that whatever the current host platform is will be what is compiled. "All" can be used to compile Fat binaries by default.
- Updated the LinkEnvironment constructor that takes another LinkEnvironment and an Architecture, to filter the input files for that architecture, and removed the similar code from MacToolchain
- Updates for Programs for Mac compilation, either:
- Adding an .ini and a .uproject files - programs need a .uproject for UBT to be able to find their Config directory in a standard way)
- Marking the Target as not supporting Mac (some programs call Windows code directly)
- Updating libs to be fat (intel+arm)
#rb david.harvey
#preflight 638e47395624e6da5e9658d6
[CL 23397419 by Josh Adams in ue5-main branch]
- also includes -PGOFastGen to enable /FASTGENPROFILE for a better framerate during PGO Profiling.
- also favoring the PGC file that matches the executable when building PGO Optimize builds rather than failing.
#jira UE-159562
#rb Wojciech.Krywult, Eric.McDaniel
#preflight 638db5c00e4613faed110db5
[CL 23387994 by David Harvey in ue5-main branch]
- Mac changes to compile separately, but link together (with lipo) after making two .dylibs/executables
- Removed FixDylibDependencies on Mac by making "stub dylibs" to mimic what Windows does with import libs, to solve circular dependencies
- Added DependenciesToSkipByArchitecture to ModuleRules that is used, when making a new single-arch LinkEnvironment from a multi-arch LinkEnvironment, to strip out libraries, etc, that should not be included with that single architecture
#preflight 6387891b4004f73f623c85a0
#rb zack.neyland
[CL 23336522 by Josh Adams in ue5-main branch]