Commit Graph

148 Commits

Author SHA1 Message Date
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
Ben Marsh
2358410789 UBT: Fix ability to do single file compiles on a generated header.
#preflight none

[CL 21018550 by Ben Marsh in ue5-main branch]
2022-07-08 20:55:22 -04:00
will damon
0b522316a3 Remove AGXRHI and associated components from mainline.
- AGXRHI development is now occurring in a separate branch/stream.
- Relocate Engine/Source/Runtime/Apple/Common/Public/* -> Engine/Source/Runtime/Apple/MetalRHI/Public/*
- Update module dependencies, etc.

#rb will.damon
#jira none
#rnx
#preflight 62b610597c36e130975e1332

[CL 20817379 by will damon in ue5-main branch]
2022-06-24 17:44:05 -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
bryan sefcik
201f16b130 * Added debug pch info.
#preflight 62abf6a95c69124c409fd15c

[CL 20699299 by bryan sefcik in ue5-main branch]
2022-06-16 23:51:17 -04:00
Ben Marsh
cbb950c578 UBT: Use ILogger throughout UBT, rather than legacy EpicGames.Core.Log methods. All output going forwards should use structured logging rather than String.Format style logging.
#preflight 628e9dc6e746de4961f60032

[CL 20373777 by Ben Marsh in ue5-main branch]
2022-05-25 19:55:37 -04:00
Joe Kirchoff
c512a89ace Rename UnrealBuildTool.EngineSourceDirectory -> Unreal.EngineSourceDirectory
#rnx
#rb trivial
#preflight 628e9fdaf622d972b59ebe85

[CL 20372061 by Joe Kirchoff in ue5-main branch]
2022-05-25 17:54:39 -04:00
charles lefebvre
e9c1b7e4d4 Add an option to discard circular dependency validation for non engine modules
#rb jonathan.adamczewski
#rnx
#preflight 6261e03bfe26b98ad84e1b0e

#ROBOMERGE-AUTHOR: charles.lefebvre
#ROBOMERGE-SOURCE: CL 19858990 via CL 19863809 via CL 19863885
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v940-19807014)

[CL 19871119 by charles lefebvre in ue5-main branch]
2022-04-22 15:57:39 -04:00
chris constantinescu
28111d40fc Redundancy cleanup in UBT Low Level Tests:
- test-specific targets and modules are constructed by RulesAssembly which removes a lot of spaghetti code
- no more excluding the Tests folder by default which is guaranteed to mislead users #fyi Jon.Nabozny
- test compilation in Tests is controlled through WITH_LOW_LEVEL_TESTS
- preparation code for switching tests between Catch2 / TestAutomation Fmwk

Nightly LLT PF 6260431391376845adeb4c40

#rnx
#preflight 62602d50dd47b4ad2173c30b

[CL 19834665 by chris constantinescu in ue5-main branch]
2022-04-20 14:24:59 -04:00
markus breyer
0a28710e48 UBT detects script source directories more robustly
- besides existence also checks if any script source files are present within

#rb jonathan.adamczewski
#rnx
#preflight 624b1fbff4217035fab7ba5a

#ROBOMERGE-AUTHOR: markus.breyer
#ROBOMERGE-SOURCE: CL 19612224 via CL 19613043 via CL 19613335 via CL 19613472
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)

[CL 19615160 by markus breyer in ue5-main branch]
2022-04-04 17:18:07 -04:00
jonathan adamczewski
0a6164bbd3 nullability annotations, rethrow fixes, net6.0 warning suppression
#jira none
#trivial
#rnx
#preflight 62425155c61d8a458f230657

[CL 19536049 by jonathan adamczewski in ue5-main branch]
2022-03-28 20:50:06 -04:00
jonathan adamczewski
5c68d1d9ef Revert //UE5/Main/... changelist 19531725 - return to NET Core 3.1
#preflight 62422fd0470aff98e946bfce
#jira UE-119846

[CL 19534572 by jonathan adamczewski in ue5-main branch]
2022-03-28 18:25:19 -04:00
jonathan adamczewski
18ac15cbb1 Upgrade to .NET 6.0
#jira UE-119846
#preflight 6241fc06470aff98e943c035

[CL 19531725 by jonathan adamczewski in ue5-main branch]
2022-03-28 15:30:56 -04:00
christopher waters
22de0b360d Adding a "deprecation" path for engine includes to allow types to be moved without breaking licensee module builds.
- Non-engine modules/targets will have to specify the "version" of includes via IncludeOrderVersion in TargetRules or ModuleRules.
- This setting will control the value of UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_XXX where XXX is the version of the engine.
- When moving types out of a header, users will need to include the new location of the type in the header it was removed from but only if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_XXX is set.
- If a target does not change its IncludeOrderVersion to the latest version, UBT will print out a message telling users how to upgrade.
- This change introduces a new set of SharedPCH permutations to make sure modules with older versions get the PCH with UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_XXX set correctly.

#jira none
#rb jonathan.adamczewski, joe.kirchoff
#preflight 623e1d3d196f3ae80b4c37ee

[CL 19518359 by christopher waters in ue5-main branch]
2022-03-25 16:16:30 -04:00
markus breyer
f2f4745eb2 Removed obsolete module rules property AdditionalCodeGenDirectories
#rb jonathan.adamczewski
#rnx
#preflight 62390b870820efd0948fbc5e

#ROBOMERGE-AUTHOR: markus.breyer
#ROBOMERGE-SOURCE: CL 19461822 via CL 19465279 via CL 19465809 via CL 19475541 via CL 19475821
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v935-19464907)

[CL 19476440 by markus breyer in ue5-main branch]
2022-03-23 01:25:15 -04:00
marc audy
be5732dd4b Generated code for UHT and VNI now stored in separate subfolders of the generated code directory
- so they can be independently wiped
- fix for build errors caused by stale files leftover from moved/renamed UBT module

#rb jonathan.adamczewski, tim.smith
#rnx
#preflight 6238de1704769ab493478dc1

#ROBOMERGE-OWNER: marc.audy
#ROBOMERGE-AUTHOR: markus.breyer
#ROBOMERGE-SOURCE: CL 19458771 via CL 19462083 via CL 19463537 via CL 19475357 via CL 19475717
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v935-19464907)

[CL 19476295 by marc audy in ue5-main branch]
2022-03-23 00:51:39 -04:00
chris constantinescu
c8cb8f0b04 Module-level setup/teardown with the help of source file build order overrides.
- optional alter of source file build order: towards beginning or end
- test build: correctly handle inclusion of special dependencies such as Engine, Editor, CoreUObject and ApplicationCore
- existing tests: add setup and teardown tests that initialize test modules. This causes setup and teardown to be local to module instead of global, which was not the correct way to run tests across multiple modules.

#preflight 62151e43dc0170cfb3649ee8
#rb Jermoe.Delattre

[CL 19076600 by chris constantinescu in ue5-main branch]
2022-02-22 13:52:35 -05:00
andrew davidson
08570f0250 LWC: Enable ISPC for LWC double types. Submitted on behalf of jeff.rous[at]intel.com
#rb andy.davidson
#jira UE-107988
#preflight 61eec2feaa3f15faa57a5702

#ROBOMERGE-AUTHOR: andrew.davidson
#ROBOMERGE-SOURCE: CL 18708912 in //UE5/Release-5.0/... via CL 18708982 via CL 18709226
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18709243 by andrew davidson in ue5-main branch]
2022-01-24 10:54:27 -05:00
chris constantinescu
55e80d2462 Test Mode: boolean flag on ModuleRules class that allows including Tests folder into non-test builds.
#rnx
#preflight 61eb1ea5731e3b40889eaece

[CL 18697083 by chris constantinescu in ue5-main branch]
2022-01-21 16:53:29 -05:00
chris constantinescu
8c968941f9 UBT TestMode that allows building a test executable for an associated target.
- Each module can now have a Tests folder at its root containing low level tests written with Catch2
- Used like this: UnrealBuildTool.exe -Mode=Test TargetName Platform Configuration
- It creates a test executable that's associated with the specified build Target and it includes all the tests for the Target AND all its dependencies as well
- When building without -Mode=Test it will omit the Tests folder contents from compilation: in theory we never allowed folders named Tests at the root of modules, but there might be isolated exceptions where we didn't validate folder names - in this case we will need to move that Tests folder one level up for example
- Code paths for test and non-test builds are entirely separated

#jira UE-135280
#rb Jerome.Delattre
#preflight 61e839d5276892ce10759205

[CL 18663474 by chris constantinescu in ue5-main branch]
2022-01-19 15:00:37 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00