Commit Graph

75 Commits

Author SHA1 Message Date
joe kirchoff
da089d0875 Support for .natstepfilter
#rnx
#jira UE-190863
#jira UE-191341

#ushell-cherrypick of 26715542 by Joe.Kirchoff

[CL 26723680 by joe kirchoff in ue5-main branch]
2023-07-31 18:02:16 -04:00
galeone
431c09150e [UBT] Add support for Code coverage on Linux
#rb Brandon.Schaefer, Jerome.Delattre, Joe.Kirchoff

[CL 25794147 by galeone in ue5-main branch]
2023-06-05 12:03:25 -04:00
joe kirchoff
36d266e932 UnrealBuildTool: Automated code cleanup
#rnx
#preflight 6476799e947ff6973c225619

[CL 25693241 by joe kirchoff in ue5-main branch]
2023-05-30 18:38:07 -04:00
Joe Kirchoff
bcedb28640 UnrealBuildTool: MSVC deterministic mode pch variant
#rnx
#rb trivial
#preflight 643f391a211b661dc483c71f

[CL 25099894 by Joe Kirchoff in ue5-main branch]
2023-04-18 22:23:21 -04:00
josh adams
24ceb3f238 - Hiding warning/error about missing identity (which is okay to be missing - depending Mac configuration it could be an error not a warning)
- Only use new dSYM utility when doing monolothic binaries, otherwise the normal path works fine (reduces risk)
#jira UE-183336
#rb calvin.zheng
#preflight https://horde.devtools.epicgames.com/job/6439834bdb681113a400ab59

[CL 25054467 by josh adams in ue5-main branch]
2023-04-14 19:13:01 -04:00
robert millar
240c37b769 Link natvis files from module directories into binary debug info.
#rb joe.kirchoff

[CL 24824604 by robert millar in ue5-main branch]
2023-03-28 15:31:18 -04: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
1e0b0a3eff - Added GetProjectArchitectures, which UBT will use to determine the architecture to build with when -architecture is not specified (UEBuildMac is now using it to control architectures for programs/projects)
- 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]
2022-12-05 14:57:26 -05:00
Josh Adams
b337b06556 - Allow for a platform to compile for multiple architectures, and have the high-level compile separately, and then link not separately (this means we can't use the one-target-per-architecture stuff that is already present)
- 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]
2022-11-30 13:38:45 -05:00
brandon schaefer
4f85084928 [UBT] Add options to enable pie and stack protector for target rules
disabled by default

#rb Josh.Adams, Zack.Neyland
#preflight 637526e4ee4d25f90aa62e6c

[CL 23163701 by brandon schaefer in ue5-main branch]
2022-11-16 17:02:54 -05:00
nuno leiria
42049243ac Implemented ThinLTO cache and pruning arguments in UBT
#preflight 632c24691003050806482034
#rb Joe.Kirchoff, Wojciech.Krywult, Brian.White

[CL 22204860 by nuno leiria in ue5-main branch]
2022-09-27 09:48:46 -04:00
Joe Kirchoff
9b55ef770f UnrealBuildTool: Determinisitic build configuration update to manage via TargetRules and ModuleRules
#rnx
#rb none
#preflight 63056e3a516bef57ffc5a099

[CL 21527850 by Joe Kirchoff in ue5-main branch]
2022-08-23 20:33:31 -04:00
dmytro vovk
37b8ab825c Deprecated bCompileForSize UBT Target option and replaced with OptimizationMode enumto fine tune a balance between speed and\or code size
#jira none
#rb Joe.Kirchoff
#preflight 62ff99b0200ff87e07f75a69

[CL 21511266 by dmytro vovk in ue5-main branch]
2022-08-23 12:44:36 -04:00
mickael gilabert
469a7e6fcb UBT: Add -CrashDiagnosticDirectory to set where to put crash report files (for platforms that support it)
[REVIEW] [at]jeff.newquist, [at]joe.kirchoff
#rnx

#ROBOMERGE-OWNER: mickael.gilabert
#ROBOMERGE-AUTHOR: mickael.gilabert
#ROBOMERGE-SOURCE: CL 19555896 via CL 19556567 via CL 19557148 via CL 19557163
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v937-19513599)

[CL 19561558 by mickael gilabert in ue5-main branch]
2022-03-30 14:42:23 -04:00
mickael gilabert
8fd8151c2e UnrealBuildTool: Add -PackagePath to set destination folder of input files used at link time (normally used to debug a linker crash for platforms that support it)
[REVIEW] [at]joe.kirchoff, [at]jeff.newquist, [at]ryan.hummer
#rnx

#ROBOMERGE-AUTHOR: mickael.gilabert
#ROBOMERGE-SOURCE: CL 19426025 via CL 19426051 via CL 19431658 via CL 19435910 via CL 19436496
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v930-19419903)

[CL 19437798 by mickael gilabert in ue5-main branch]
2022-03-18 13:22:54 -04:00
jonathan adamczewski
c7aeb00f62 UnrealBuildTool: Remove various references to UE4.
#jira UE-111420
#trivial
#preflight none

#ROBOMERGE-AUTHOR: jonathan.adamczewski
#ROBOMERGE-SOURCE: CL 18565554 in //UE5/Release-5.0/... via CL 18565574
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18565586 by jonathan adamczewski in ue5-release-engine-test branch]
2022-01-10 16:46:00 -05:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
jonathan adamczewski
a865a21fb0 Move FileItem and DirectoryItem into BuildUtilities
#jira none

#ROBOMERGE-SOURCE: CL 16596289 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16596323 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-08 19:06:03 -04:00
halfdan ingvarsson
9a3fb45cb4 UBT: Add support for ASan on Windows for MSVC versions that support it.
Note that up until VS 16.9, according to the MSVC blog, ASan requires explcit helper libraries to be added to the linker line, which requires knowledge of what type of CRT we're compiling with on the link side.

#jira UE-70239
#rb Ben.Marsh

[CL 15574618 by halfdan ingvarsson in ue5-main branch]
2021-03-02 17:55:40 -04:00
Ben Marsh
6f927647b1 Changing C# code over to using EpicGames.Core over DotNETCommon.
#rb none
#rnx

[CL 14962096 by Ben Marsh in ue5-main branch]
2020-12-21 23:07:37 -04:00
Ben Marsh
68f5abeb09 UBT: Convert UnrealBuildTool to use nullable references.
#rb none
#rnx

[CL 14960546 by Ben Marsh in ue5-main branch]
2020-12-20 18:47:42 -04:00
Marcus Wassmer
3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
Ben Marsh
d6d7c939e5 Copying //UE4/Dev-Build to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 12726184 by Ben Marsh in Main branch]
2020-04-10 11:30:32 -04:00
Ryan Durand
9ef3748747 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536
#ROBOMERGE-BOT: FORTNITE (Main -> Dev-EngineMerge) (v613-10869866)

[CL 10870955 by Ryan Durand in Main branch]
2019-12-26 23:01:54 -05:00
luke thatcher
762d8ba154 Add a flag in TargetRules to optionally disable the generation of the runtime symbol files on some platforms.
#rb Ben.Marsh, Ben.Woodhouse


#ROBOMERGE-SOURCE: CL 9546226 via CL 9546228
#ROBOMERGE-BOT: (v521-9539702)

[CL 9546230 by luke thatcher in Main branch]
2019-10-11 07:21:22 -04:00