Commit Graph

169 Commits

Author SHA1 Message Date
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
bryan sefcik
ac642e3ace Updated to disable XGE and SNDBS when profiling.
Added a flag that turns off module unity size overrides.

#jira
[FYI] joe.kirchoff
#preflight 637673ccaf52be152449722a

[CL 23182588 by bryan sefcik in ue5-main branch]
2022-11-17 15:29:33 -05:00
Rafa Lecina
df001c1d21 Support enable ARC in modules
#jira UE-107891
#review @Sam.Zamani @Bertrand.Carre @Chris.Varnsverry @Roman.Dzieciol @Josh.Adams  @Jack.Porter
#preflight

[CL 23133821 by Rafa Lecina in ue5-main branch]
2022-11-15 06:02:36 -05:00
bryan sefcik
d464a46b31 Reorganized the unity logic to take into account the generated cpp files when determining whether to use unity files. Previously the logic wouldn't take into account the number of generated files which meant that modules that had just generated cpp files wouldn't use unity files.
Before:
Unity Files: 6759
Total CPU Time: 77035.734375 s
Total time in Parallel executor: 2062.95 seconds

After:
Unity Files: 6656
Total CPU Time: 76182.40625 s
Total time in Parallel executor: 2047.47 seconds

#jira
[FYI] joe.kirchoff
#preflight 637273a1ee4d25f90acc3712

[CL 23123139 by bryan sefcik in ue5-main branch]
2022-11-14 14:15:09 -05:00
chris constantinescu
7859a6cdb4 Catch2 feature introduced: test groups and group events at global, group and test group before/after levels
#preflight 636ab505450be1d9f83e90e4
#rb Jerome.Delattre

[CL 23039159 by chris constantinescu in ue5-main branch]
2022-11-08 16:02:46 -05:00
joe kirchoff
4bd342fb6c UnrealBuildTool: BuildSetting.V3 (currently disabled) which disallows adding module parent directory to include path list
#rnx
#rb bryan.sefcik
#preflight 634df3105f008d633fd571d2

[CL 22798627 by joe kirchoff in ue5-main branch]
2022-10-26 19:13:07 -04:00
joe kirchoff
20c19d6503 [Backout] - CL22754728
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealHeaderTool: BuildSetting.V3 (currently disabled) which disallows adding module parent directory to include path list

#rnx
#rb bryan.sefcik
#preflight 634df3105f008d633fd571d2

[CL 22795918 by joe kirchoff in ue5-main branch]
2022-10-26 18:18:06 -04:00
joe kirchoff
6e28fec987 UnrealHeaderTool: BuildSetting.V3 (currently disabled) which disallows adding module parent directory to include path list
#rnx
#rb bryan.sefcik
#preflight 634df3105f008d633fd571d2

[CL 22793005 by joe kirchoff in ue5-main branch]
2022-10-26 17:30:50 -04:00
henrik karlsson
19a8eac8c1 [UBT]
* Fixed bug where name collision happened if both VNI and UHT files were created for same file

Fixes VerseExample UBT exception

#rb none
#preflight none

[CL 22783396 by henrik karlsson in ue5-main branch]
2022-10-26 13:07:08 -04:00
bryan sefcik
a86a03522d Added a bool setting to allow us to turn off the forcing of PCH files for gen.cpp files when PCH is disabled. This improves NoPCH/DisableUnity compile times.
#jira
#preflight 63518daf3d41a4455a3de844

[CL 22677159 by bryan sefcik in ue5-main branch]
2022-10-20 20:09:31 -04:00
henrik karlsson
a72cec4bbc [UnrealBuildTool]
* Added support for forcing module to use inlined .gen.cpp files

#rb joe.kirchoff
#preflight skipped

[CL 22673962 by henrik karlsson in ue5-main branch]
2022-10-20 17:53:32 -04:00
bryan sefcik
3c6a04fdf6 Fixed an issue where SNDBS would fail to compile files on agents because the inlined gen.cpp files were not setup as prerequisites.
#rb joe.kirchoff

[CL 22464949 by bryan sefcik in ue5-main branch]
2022-10-11 16:49:17 -04:00
Robert Millar
a677dbc70e Allow disabling all static analysis on a module.
#rb joe.kirchoff
#jira none
#preflight https://horde.devtools.epicgames.com/job/6340540e174b13865728ca7c

[CL 22403984 by Robert Millar in ue5-main branch]
2022-10-07 13:30:19 -04:00
bryan sefcik
2a23602913 Fixed an issue the BF was seeing with compiling non-unity builds that use the inline gen.cpp macro.
#preflight 6330d4e3d747fe52c8739b78

[CL 22177396 by bryan sefcik in ue5-main branch]
2022-09-25 19:36:22 -04:00
joe kirchoff
03ac9fef1e UnrealBuildTool: Fix another instance where all writable source files would incorrectly add many files to the adaptive working set
#jira UE-163272
#rnx
#rb trivial
#preflight 632defa4d51603c548982fbe

[CL 22165269 by joe kirchoff in ue5-main branch]
2022-09-23 20:44:32 -04:00
bryan sefcik
dc368e588b Added the ability to override the NumIncludedBytesPerUnityCPP from the module rules. This is needed by some modules to better tune the size of the unity files.
Before:
1 Unity file
Total CPU Time: 162.90625 s
Total time in Parallel executor: 61.62 seconds

After:
6 Unity files
Total CPU Time: 169.15625 s
Total time in Parallel executor: 16.64 seconds

#jira
[FYI] nick.darnell, joe.kirchoff
#preflight 632889795f55ba280ec1ef84

[CL 22087017 by bryan sefcik in ue5-main branch]
2022-09-19 21:57:04 -04:00
bryan sefcik
e5edfdd06d Added support to inline the gen.cpp files into the module cpp files.
This change does a few things:
* Improves compile times because the gen.cpp is inlined so less header parsing is required.
* Allows us to forward declare more types in the headers where we were not able to because the gen.cpp files did not have all the required headers included. The gen.cpp files required the header that generated it to include all the types because of the constructor and desructor in the gen.cpp need to know the full type.

#jira
#preflight 6323b43f8131e92d65aed1d9

[CL 22064061 by bryan sefcik in ue5-main branch]
2022-09-16 20:28:51 -04:00
Joe Kirchoff
2f253dda67 UnrealBuildTool: Support -SingleFile compile for .mm and .rc files
#rnx
#rb trivial
#preflight 63127c7eda1671f997d729d8

[CL 21769171 by Joe Kirchoff in ue5-main branch]
2022-09-02 18:35:54 -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
Jeff Fisher
773631b6f9 UE-147894 Delete WMR
-Remove the deprecated WindowsMixedReality and AzureSpatialAnchorsForWMR plugins.
#jira UE-147894
#review-21507768
#rb Robert.Srinivasiah
#preflight 630554dc5a5d4e46243727f3

[CL 21523822 by Jeff Fisher in ue5-main branch]
2022-08-23 18:49:58 -04:00
bryan sefcik
9feb0e9764 Added a mode that prints out useful build graph info.
#jira
#rb tim.smith
#preflight 62ffc2b8fa1ac183e590874b

[CL 21460072 by bryan sefcik in ue5-main branch]
2022-08-19 13:11:54 -04:00
henrik karlsson
9b603cee85 [UnrealBuildTool]
* Added support for ".ubtignore" files that can be put in a folder to make ubt ignore the folder and its subfolder
* Fixed bug where project's plugin and source folder were visited multiple times (look in FileMetadataPreftch.cs)
* Changed so Lazy<File/DirectoryItem> is resolved directly on windows platform and only do the extra refresh on mac/linux (there seems to be some bugs on those platforms and we don't want to pay extra cost on windows)
* Added runtimeconfig.template.json and changed UnrealBuildTool to use server gc and a few more settings that improve performance
* Added so all file traversing paths is aware of .uplugin
* Added debug code to be able to write out which files that have been touched during UBT execution. This can serve as a way to identify places to add .ubtignore files

#rb Joe.Kirchoff
#preflight 62f685f8cf7afa018ba0a4a5

#ROBOMERGE-AUTHOR: henrik.karlsson
#ROBOMERGE-SOURCE: CL 21360427 via CL 21371108 via CL 21371121 via CL 21371139
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21371637 by henrik karlsson in ue5-main branch]
2022-08-13 02:43:13 -04:00
Joe Kirchoff
371c0b0624 UnrealBuildTool: Move static analysis checker options into ModuleRules rather than TargetRules
#rnx
#rb none
#preflight 62f6e75de67510be05db43f9

[CL 21368307 by Joe Kirchoff in ue5-main branch]
2022-08-12 20:06:00 -04:00
kaffeewolf
a3acfba5d6 PR #9449: Add support for specifying C Standard when compiling plain C files (Contributed by kaffeewolf)
#rb none
#preflight 62f2f8c33f500fb6dc059f18

[CL 21305284 by kaffeewolf in ue5-main branch]
2022-08-09 20:34:50 -04:00
bryan sefcik
d7de18b231 Added the ability to turn off merging of module and generated cpp files in the module.
#jira

#ROBOMERGE-AUTHOR: bryan.sefcik
#ROBOMERGE-SOURCE: CL 21157633 via CL 21159485 via CL 21164382
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v972-20964824)

[CL 21182322 by bryan sefcik in ue5-main branch]
2022-07-20 12:10:32 -04:00