Commit Graph

129 Commits

Author SHA1 Message Date
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
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
joe kirchoff
b8b683acbe UnrealBuildTool: Distinguish Internal from Public API
Support "Internal" include directory that will only be added to a Referencing module if the referenced module has the same scope. Intent is to to "hide" APIs from external modules that do not need to include headers that are intended for internal module use only.

#jira UE-112188
#rb Ben.Marsh
#preflight 610085314cd79300016e7269

#ROBOMERGE-SOURCE: CL 16976401 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16976411 by joe kirchoff in ue5-release-engine-test branch]
2021-07-27 19:39:41 -04:00
joe kirchoff
dc02442b5d UnrealBuildTool: Write relative paths in generated pch comments if under the unreal root
#rb trivial
#rnx

#ROBOMERGE-SOURCE: CL 16912334 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16912350 by joe kirchoff in ue5-release-engine-test branch]
2021-07-21 14:18:19 -04:00
ben marsh
74fac70496 UBT: Fix arguments for Intellisense PCH generation.
#ROBOMERGE-SOURCE: CL 16894546 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16894553 by ben marsh in ue5-release-engine-test branch]
2021-07-20 07:04:16 -04:00
ben marsh
39ea9c65dd UBT: Include PCH settings in Visual Studio project files for Intellisense parser.
#ROBOMERGE-SOURCE: CL 16883248 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v836-16769935)

[CL 16883253 by ben marsh in ue5-release-engine-test branch]
2021-07-19 10:12:28 -04:00
nick darnell
a0d11435ea UBT - Started seeing "UnrealBuildTool : error : Unhandled exception: System.IO.DirectoryNotFoundException: Could not find a part of the path", turned out to be an issue with checking a folder to make sure it exists before it attempts to add files from that path.
#jira none
[FYI] Ben.Marsh
Ben.Marsh

#ROBOMERGE-SOURCE: CL 16724833 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529)

[CL 16724840 by nick darnell in ue5-release-engine-test branch]
2021-06-20 23:10:20 -04:00
jonathan adamczewski
ad86e81438 UnrealBuildTool:
Add a StringComparison argument to CreateIntermediateTextFile() and require callers to make a decision about the case-sensitivity used when considering whether to re-write a file.

(This is intentionally explicit and verbose at the call-site - we should implement a better solution. This change makes it clear that there is work to be done to be able to simplify the interface and achieve reliable behavior.)

As a first pass, C++ files (headers, cpp files, pch files) will have a case-sensitive comparison (C++ code is, mostly, case sensitive), Linux script files have a case-sensitive comparison (case-sensitive filesystem), and all other files are compared disregarding case - to match pre-existing behavior, and with the desire to not borrow more surprises than necessary.

#jira none

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

[CL 16616345 by jonathan adamczewski in ue5-release-engine-test branch]
2021-06-09 19:45:21 -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
will damon
bc656d20e0 Initial import of AGXRHI
AGXRHI is starting out as a clone of MetalRHI, but will be refactored and overhauled with several goals in mind:

- Reduce/Eliminate technical debt
- Substantially improve readability and maintainability
- Introduce clear layers for platform independent vs dependent code
- Reduce memory footprint and generally improve memory usage
- Remove legacy concepts (like manual reference counting) and enable better integration with platform tools
- Implement newer and more modern features provided by Metal (such as ray tracing and enhanced command buffer debugging)
- Target/tune the software architecture and API usage for performance on Apple designed GPUs

#rb jack.porter, richard.wallis
#jira none
#fyi lukas.hermanns
#rnx

[CL 16225160 by will damon in ue5-main branch]
2021-05-06 15:47:24 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
Ben Marsh
bc47b15e06 Merge utility library changes from GitSync.
[CL 16135807 by Ben Marsh in ue5-main branch]
2021-04-27 22:41:48 -04:00
jonathan adamczewski
061b3de0fe Definitions.h: Drop some breadcrumbs
As an aid to the unfamiliar searcher (i.e. me), make the name of generated files "Definitions.h" appear as a literal in UBT code. Also, in those generated files, include a reference back to what generates them.

#jira none

[CL 16057466 by jonathan adamczewski in ue5-main branch]
2021-04-19 20:51:35 -04:00
Devin Doucette
81344d6cff UBT: Fixed single-file builds when bAdaptiveUnityCompilesHeaderFiles is true
#rb Tim.Smith
#rnx
#robomerge[STARSHIP] Release-5.0-EarlyAccess

[CL 15698430 by Devin Doucette in ue5-main branch]
2021-03-15 13:49:58 -04:00
Devin Doucette
800b4e9427 UBT: Fixed bAdaptiveUnityCompilesHeaderFiles to use generated files to include headers
#rb Ben.Marsh
#rnx
#robomerge[STARSHIP] Release-5.0-EarlyAccess

[CL 15666062 by Devin Doucette in ue5-main branch]
2021-03-10 11:23:43 -04:00
Devin Doucette
8b1f950403 UBT: Apply optimization, precompiled header, and header build behaviors to the working set even when unity is disabled on the module
#rn Ben.Marsh
#robomerge[STARSHIP] Release-5.0-EarlyAccess
#fyi Brandon.Dawson

[CL 15645534 by Devin Doucette in ue5-main branch]
2021-03-08 16:58:01 -04:00
Devin Doucette
d553d0a4e0 UBT: Changes to adaptive unity to expose more non-unity errors
- Exclude source files from unity if their first include is in the working set.
- Compile header files in the working set in their own dedicated source file if there is not an existing source file that includes it first.

#rb Ben.Marsh
#robomerge[STARSHIP] Release-5.0-EarlyAccess

[CL 15639040 by Devin Doucette in ue5-main branch]
2021-03-08 10:40:17 -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
Ben Marsh
96c997d826 UBT: Move logic for building response files and generating inputs and outputs for MSVC compilation into the VCCompileAction class.
#rb none
#rnx

[CL 14812826 by Ben Marsh in ue5-main branch]
2020-11-25 10:19:33 -04:00