Commit Graph

225 Commits

Author SHA1 Message Date
chris constantinescu
199373a78d UBT new plugin test - generate solution doesn't include create new target
#rb Jerome.Delattre, Eric.Day
#jira UE-192402

[CL 26919864 by chris constantinescu in ue5-main branch]
2023-08-08 12:26:25 -04:00
tim smith
e8b817d727 Updated UnrealHeaderTool to save the EpicGames.UHT assembly name as the path being used to generate code.
#rb Josh.Adams

[CL 25869746 by tim smith in ue5-main branch]
2023-06-08 09:35:38 -04:00
joe kirchoff
acacd6a8de UnrealBuildTool: More automated code cleanup
* Use object type rather than var
* Remove double newlines
* Use pattern matching

#rnx
#preflight 647780095d23eca37d28a387

[CL 25706751 by joe kirchoff in ue5-main branch]
2023-05-31 13:37:21 -04:00
joe kirchoff
acf80ab609 [Backout] - CL25694851
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: More automated code cleanup

#rnx

[CL 25695155 by joe kirchoff in ue5-main branch]
2023-05-30 19:55:37 -04:00
joe kirchoff
7ed1a39679 UnrealBuildTool: More automated code cleanup
#rnx

[CL 25694864 by joe kirchoff in ue5-main branch]
2023-05-30 19:36:05 -04:00
joe kirchoff
c04da27b3b UnrealBuildTool: More automated code cleanup
#rnx
#preflight 64767efb4b1ead7c7f428c7a

[CL 25693857 by joe kirchoff in ue5-main branch]
2023-05-30 18:59:32 -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
Ben Marsh
3889217961 UBT: Merging CL 25121561 to support async ToolMode and ActionExecutor instances.
#preflight none

[CL 25121660 by Ben Marsh in ue5-main branch]
2023-04-19 21:44:13 -04:00
Joe Kirchoff
2a261c113d EpicGames.Core: Obsolete ReadOnlyHashSet in favor of IReadOnlySet
#rb Ben.Marsh
#preflight 641e1145a86ae7cbcc86bc53

[CL 24789316 by Joe Kirchoff in ue5-main branch]
2023-03-24 17:59:47 -04:00
Ben Marsh
7e26c34d2b EpicGames.Core: Deprecate legacy log methods to prefer structured logging interface.
#preflight 640a23d928026468d9de7cbd

[CL 24580590 by Ben Marsh in ue5-main branch]
2023-03-09 14:51:40 -05:00
Joe Kirchoff
935138d8b6 UnrealBuildTool: Make module include path warning debugging output instead
#rnx
#rb trivial
#preflight 63ed259d514832b242b74964

[CL 24235564 by Joe Kirchoff in ue5-main branch]
2023-02-15 13:45:16 -05:00
josh adams
f881608487 - Fixing location for UHT generated headers to not have architecture in the path, because they are per-arch, and with InstalledBuilds, if we made a Universal build, but then user does non-universal, the UHT intermediates would look in a different location than where we put them ('arm64' vs 'arm64+x64')
#jira UE-176191
#preflight 63e401713c44c83044e5b2c3

[CL 24214920 by josh adams in ue5-main branch]
2023-02-14 12:40:03 -05:00
bryan sefcik
592942fad7 Added support for Clang PCH chaining
https://clang.llvm.org/docs/PCHInternals.html#chained-precompiled-headers

Linux - EngineTestEditor -allmodules
Before:
Total PCH Size: 3.41 GB

After:
Total PCH Size: 2.65 GB

#jira
#rb joe.kirchoff
#preflight 63e57da9636f66aac7dc1818

[CL 24114121 by bryan sefcik in ue5-main branch]
2023-02-09 22:37:30 -05:00
henrik karlsson
67e29b9c10 [UBT]
* Deleted code that should be deleted after 5.2

#preflight skipped
#rb tim.smith

[CL 23923936 by henrik karlsson in ue5-main branch]
2023-01-31 01:25:57 -05: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
Joe Kirchoff
ede136ba5a UnrealBuildTool: Ensure Module.bHasUObjects is set for IncludePathModules as well, so this property is consistent when building a Target with -AllModules and the generated UHT path is added to the include paths when compiling
#rnx
#jira UE-174751
#rb Tim.Smith
#preflight 63ced865976daa618c1fa160

[CL 23821153 by Joe Kirchoff in ue5-main branch]
2023-01-23 15:57:40 -05:00
Tim Smith
106b956993 Remove C++ UHT as the UHT to be used to generate headers. This does not remove the ability to build C++ UHT as a target.
#rb joe.kirchoff
#preflight 63c84257fb1a8cf245e538c4

[CL 23761220 by Tim Smith in ue5-main branch]
2023-01-18 14:14:27 -05:00
Tim Smith
7b744efd60 Added ability to force the usage of C++ UHT even if the warning has been enabled.
#rb robert.millar
#rnx
#preflight 638506c6ca02aa2c49b47ee2

[CL 23294078 by Tim Smith in ue5-main branch]
2022-11-28 14:13:03 -05:00
joe kirchoff
1eb7b0cf74 UnrealHeaderTool: Update #include paths to be relative to the module's available include path rather than always using the module's parent directory
#rb Tim.Smith
#preflight 635c2d0c1803be35c7714697

[CL 22850540 by joe kirchoff in ue5-main branch]
2022-10-29 01:54:08 -04:00
joe kirchoff
9b250b2268 [Backout] - CL22830574
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealHeaderTool: Update #include paths to be relative to the module's first public include path (or the generated UHT path if no public include paths are available) rather than the module's parent directory

#rb Tim.Smith
#preflight 635b0719015611ae3a0779d1

[CL 22832250 by joe kirchoff in ue5-main branch]
2022-10-28 13:41:02 -04:00
joe kirchoff
3cb16277fe UnrealHeaderTool: Update #include paths to be relative to the module's first public include path (or the generated UHT path if no public include paths are available) rather than the module's parent directory
#rb Tim.Smith
#preflight 635b0719015611ae3a0779d1

[CL 22832204 by joe kirchoff in ue5-main branch]
2022-10-28 13:40:18 -04:00
bryan sefcik
4a0fa07264 Optimized how files were iterated on when scanning the directories.
#jira
#preflight 633508bec351ce85fafc300b

[CL 22244215 by bryan sefcik in ue5-main branch]
2022-09-29 02:27:28 -04:00
tim smith
a13076902b Added warnings when C++ UHT is used. These warnings include the reasons why C++ UHT is being used. The warning is currently disabled but informational messages will still be generated.
#rb
#preflight 6322088da514fd1e37319c62

[CL 22015813 by tim smith in ue5-main branch]
2022-09-14 16:44:09 -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
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