- 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]
#ROBOMERGE-OWNER: james.doverspike
#ROBOMERGE-AUTHOR: james.doverspike
#ROBOMERGE-SOURCE: CL 19485685 via CL 19485788 via CL 19487499 via CL 19499010 via CL 19499025
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v936-19480137)
[CL 19501414 by james doverspike in ue5-main branch]
#fyi Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: Ensure name suffixes are added if the TargetName is replaced in UEBuildTarget (manually merge due to conflict)
#rnx
#rb none
#preflight 61e9e7f6ab6e1cc028bd372a
[CL 19095177 by joe kirchoff in ue5-main branch]
#fyi joe.kirchoff
Original CL Desc
-----------------------------------------------------------------
[Backout] - CL18683346
#fyi Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: Ensure name suffixes are added if the TargetName is replaced in UEBuildTarget (manually merge due to conflict)
#rnx
#rb none
#preflight 61e9e7f6ab6e1cc028bd372a
[CL 19094975 by joe kirchoff in ue5-main branch]
#fyi Joe.Kirchoff
Original CL Desc
-----------------------------------------------------------------
UnrealBuildTool: Ensure name suffixes are added if the TargetName is replaced in UEBuildTarget (manually merge due to conflict)
#rnx
#rb none
#preflight 61e9e7f6ab6e1cc028bd372a
[CL 19094839 by joe kirchoff in ue5-main branch]
Adds a define UE_FNAME_OUTLINE_NUMBER.
Removes of FName, FMinimalName from memory image support. Adds of FMemoryImageName.
Removal of FMinimalName operator<<, all fields made private, size made variable.
All fields of FScriptName made private.
Added console commands for dumping numbered/unnumbered names and stats.
#rb johan.torp
#ROBOMERGE-OWNER: robert.millar
#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 19058026 via CL 19058611 via CL 19058656 via CL 19061727 via CL 19061740 via CL 19064047
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v918-19018356)
[CL 19066701 by robert millar in ue5-main branch]
Add command line argument for bRetainFramePointers.
#rb brandon.schaefer
[FYI] nuno.leiria
#ROBOMERGE-AUTHOR: robert.millar
#ROBOMERGE-SOURCE: CL 18981122 via CL 18981257 via CL 18981859 via CL 18982123 via CL 18982359 via CL 18992714 via CL 18993053
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)
[CL 18997362 by robert millar in ue5-main branch]
- bIncludeAllTests flag on target will compile with all tests: used on LowLevelTests target to run on preflights
- Preflights now running low level tests by default, only those from LowLevelTests and its dependencies stemming from Core and Projects
#preflight 61f930bb8b4112f7cc95e807
#rb Mark.Lintott
[CL 18807604 by chris constantinescu 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]