- 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]
- 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]
- 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]
Use a single vcpkg.json that is copied whenever building
Remove v141 libs
Remove unused grpc libs
#rnx
#rb trivial
#jira UE-127356
#preflight 61eecfdfef289ffc6dec4d63
#ROBOMERGE-AUTHOR: joe.kirchoff
#ROBOMERGE-SOURCE: CL 18709844 in //UE5/Release-5.0/... via CL 18709887 via CL 18710018
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)
[CL 18710030 by joe kirchoff in ue5-main branch]
- 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]
- Drives the WITH_EDITOR preprocessor definition.
- Updated TargetRules.bBuildEditor to check the target type or bCompileAgainstEditor.
- Removed usages of TargetRules.bBuildEditor from UBT and replaced it with checks against the target type or the new bCompileAgainstEditor flag where necessary.
#rb Ben.Marsh
#preflight 61b21886764790bee6bce956
[CL 18419147 by JeanMichel Dignard in ue5-main branch]
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971
[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035
[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485
[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
[FYI] Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
vcpkg: Remove v141 as vs2017 is no longer supported and use v142 for external modules. Add configs for v143 for when vcpkg supports it.
#rb none
#rnx
#ROBOMERGE-AUTHOR: joe.kirchoff
#ROBOMERGE-SOURCE: CL 17589155 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)
[CL 17589191 by joe kirchoff in ue5-release-engine-test branch]
Add a layer of caching to avoid running msbuild as much as possible.
#jira UE-109181
#rb ben.marsh
#ROBOMERGE-SOURCE: CL 17102399 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v853-17066230)
[CL 17102408 by jonathan adamczewski in ue5-release-engine-test branch]
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]