Commit Graph

1530 Commits

Author SHA1 Message Date
marc audy
9dc0fb13b0 Make CreateTargetRulesInstance able to return null in the case a rules assembly does not exist
This fixes issues with platform extensions when using -TargetType
#rb Joe.Kirchoff, Josh.Adams

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 21408188 via CL 21408217
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v975-21357124)

[CL 21411933 by marc audy in ue5-main branch]
2022-08-16 15:31:02 -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
UnrealBot
73409369c0 Branch snapshot for CL 21319338
[CL 21319338 in ue5-main branch]
2022-08-10 16:03:37 +00: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
jorgenpt
86e78f4299 PR #9021: Improve support for PreBuildSteps generating files (Contributed by jorgenpt)
#rb trivial
#preflight 62d5b5bf950c572d242a6c8d

[CL 21152219 by jorgenpt in ue5-main branch]
2022-07-18 16:23:54 -04:00
Wojciech Krywult
dc47ecf009 Modular builds: UBT: Added an option to generate .loadorder manifest file that includes a list of all dynamic modules in the order in which they are meant to be loaded (based on their dependencies).
It's needed on some platforms that don't handle DLLs dependencies out of the box. Generation of this file is integrated into the build metadata generation but is only triggered for platforms that explicitly indicate that it's needed (UEBuildPlatform.RequiresLoadOrderManifest()).

#rb Joe.Kirchoff
#preflight 62d57764f156340c79b98306

[CL 21149087 by Wojciech Krywult in ue5-main branch]
2022-07-18 11:31:22 -04:00
Tim Smith
5200aeebdb Fixed issue with UAT/UBT script module rebuild tracking. If MSBuild doesn't update the target DLL due to there being no real changes, then the simple check against target time stamps being out of order would fail. Changed to save the reference time stamp and then compare them to test to see if they don't match.
Minor refactor to how valid and invalid build records are tracked.

#rb josh.adams
#preflight 62d15d263b057e7274876325

[CL 21108749 by Tim Smith in ue5-main branch]
2022-07-15 08:42:45 -04:00
Joe Kirchoff
e7bed3a793 UnrealBuildTool: Report in the log when a dependency file is missing instead of printing an invalid timestamp
#rnx
#rb trivial
#preflight 62bb99da30036d0db9438dc8

[CL 20867012 by Joe Kirchoff in ue5-main branch]
2022-06-28 20:22:32 -04:00
mike beach
456bfdb6a5 For UBT, mimicing changes made on the UE side in CL 20764079.
Adding support for managing multiple plugins, and specifying explicit versions to enable.

#rb joe.kirchoff
#preflight 62b3aedd7113a3a4a485adfc

#ROBOMERGE-OWNER: mike.beach
#ROBOMERGE-AUTHOR: mike.beach
#ROBOMERGE-SOURCE: CL 20801427 via CL 20801485 via CL 20801490
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v971-20777995)

[CL 20803672 by mike beach in ue5-main branch]
2022-06-23 18:08:26 -04:00
bryan sefcik
1b2a0a8c56 * Combined generated cpp files and module cpp files into the same unity files.
ShooterGame Editor with 8 processes:
Before:
3706 compile tasks
1517.98 seconds

After:
3372 compile tasks
1428.56 seconds

Game Editor with 64 processes:
Before:
6323 compile tasks
1090.78 seconds

After:
5666 compile tasks
1063.90 seconds
#preflight 62b4820d1371af05d9f26407

[CL 20796589 by bryan sefcik in ue5-main branch]
2022-06-23 12:22:28 -04:00
Ben Marsh
c0f0e0679e UBT: Fix UHT output not being run through log parser.
#preflight none

[CL 20736036 by Ben Marsh in ue5-main branch]
2022-06-20 08:49:54 -04:00
Tim Smith
826650afea Added the ability to compile specific files (i.e. -singlefile) while a live coding session is active. Output is sent to a different location to prevent clashes with overriting object files for the live coding session.
#rb ben.marsh
#preflight 62a8bd9a6373922cf48a1be0

[CL 20653442 by Tim Smith in ue5-main branch]
2022-06-14 13:56:18 -04:00
quentin-dietz
d04d9ec2da PR #9159: Fix small typo in UnrealPluginLanguage.cs documentation (Contributed by quentin-dietz)
#preflight 62a7d556c3492689258f107b

[CL 20639071 by quentin-dietz in ue5-main branch]
2022-06-13 20:38:39 -04:00
andrew scheidecker
1218625098 Changed boolean property bVersePublicApi on Build.cs and uplugin files to an enum named VerseScope with three states InternalAPI, PublicAPI and User.
Submitting on behalf of Markus.Breyer.

#rnx
#rb Markus.Breyer, Graeme.Thornton, Eric.Knapik
#preflight 62a74175af7ad033effb81ad

#ROBOMERGE-OWNER: andrew.scheidecker
#ROBOMERGE-AUTHOR: andrew.scheidecker
#ROBOMERGE-SOURCE: CL 20629231 via CL 20629334 via CL 20629474 via CL 20629523
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20636288 by andrew scheidecker in ue5-main branch]
2022-06-13 18:37:53 -04:00
Tim Smith
06cac684a2 Added .so and .dylib files as files to consider as library files to help reduce relinking on Mac and Linux.
#rb joe.kirchoff, ben.marsh
#preflight 62a72b392a70e8deaccf4aaa

[CL 20626926 by Tim Smith in ue5-main branch]
2022-06-13 10:32:12 -04:00
Joe Kirchoff
f0be910e28 UnrealBuildTool: Add verbose logging to RulesCompiler to track which plugins and modules are found
#rnx
#rb none
#preflight 62a1478d8256a494c137e620

[CL 20569778 by Joe Kirchoff in ue5-main branch]
2022-06-08 21:15:51 -04:00
mike beach
9911369e6a Making it so UBT accounts for project level content-only plugins in content-only projects (the project could still enable/disable those plugins and the rules assembly needs to be aware of them).
#rb Joe.Kirchoff

#ROBOMERGE-OWNER: mike.beach
#ROBOMERGE-AUTHOR: mike.beach
#ROBOMERGE-SOURCE: CL 20563816 via CL 20563854 via CL 20563860
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v954-20466795)

[CL 20567272 by mike beach in ue5-main branch]
2022-06-08 19:05:41 -04:00
Chris Babcock
b60e054191 Add file/line logging for UnrealPluginLanguage (UPL) warnings and errors
#jira UE-155640
#android
#review @Jack.Porter
#rb Jack.Porter

#preflight https://horde.devtools.epicgames.com/job/6298ec186438e3c7311ab0ab

[CL 20566090 by Chris Babcock in ue5-main branch]
2022-06-08 18:08:12 -04:00
Joe Kirchoff
da80e64339 UnrealBuildTool: Only mark marketplace plugin as readonly for installed builds
#rb Ben.Marsh
#rb Martin.Sevigny
#jira UE-152647
#jira UE-156024
#preflight 629fdfae233ae0a8f81958ef

This should be tested against the fix for UE-148690 to ensure there's no regression

[CL 20558829 by Joe Kirchoff in ue5-main branch]
2022-06-08 12:47:44 -04:00
chris constantinescu
79078dc749 Low level tests adapter that can translate Catch2-defined test to a Functional Test
#preflight 629f74c6233ae0a8f8fb1f97
#rb Devin.Doucette

[CL 20540119 by chris constantinescu in ue5-main branch]
2022-06-07 12:37:53 -04:00
Tim Smith
ba7e42070a Ignore compile actions that aren't using the c++ compiler when doing live coding. Resolves issues where changes that would contribute to the resource file (i.e. copyright notice) would cause live coding to fail.
#rb self
#jira UE-145201
#preflight 6290e7d56c4b4192f29fc023

[CL 20394069 by Tim Smith in ue5-main branch]
2022-05-27 11:51:13 -04:00
markus breyer
45f42535a5 Added new properties to Build.cs and uplugin files to support Verse public API
- new property bVersePublicApi in Build.cs files that is set to expose the associated Verse code to public users
- new property "VersePublicApi" in uplugin files that is set to expose the associated Verse code to public users

#rb andrew.scheidecker, conan.reis
#rnx
#preflight 628c579c3b67edca7a615f57
#preflight 628fe09bf622d972b5f58a6e

#ROBOMERGE-OWNER: markus.breyer
#ROBOMERGE-AUTHOR: markus.breyer
#ROBOMERGE-SOURCE: CL 20386247 via CL 20386248 via CL 20386313 via CL 20386316
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20387729 by markus breyer in ue5-main branch]
2022-05-26 19:24:39 -04:00
Ben Marsh
cf7582e557 UAT: Fix exception when creating dummy targets in UAT.
#preflight none

[CL 20374333 by Ben Marsh in ue5-main branch]
2022-05-25 20:48:43 -04:00
Joe Kirchoff
63d5c71b0d UnrealBuildTool: Add BinarySuffix to BuildHostPlatform
#rnx
#rb trivial
#preflight 628ebe53e746de496100396b

[CL 20373816 by Joe Kirchoff in ue5-main branch]
2022-05-25 19:59:27 -04:00