Commit Graph

156 Commits

Author SHA1 Message Date
sergio gardeazabal
d907da5d37 [Chaos VD] Implemented Recording using Trace
- Created a set of macros to trace data about Solver Frames, Solver Steps, and Solver Particles on Rigid Solvers and RBAN solvers
- Added a way to have the context between CVDTrace calls to know which solver started the call on a determined solver step or particle without having to copy that information to every object

#rb benn.gallagher
#jira UE-181330
#preflight 643d9d4c0a5a4b944e348487

[CL 25077633 by sergio gardeazabal in ue5-main branch]
2023-04-17 18:20:36 -04:00
Josh Adams
1e6ed89565 - Frameworks working on Mac with Modern Xcode just like IOS frameworks
- Update frameworks with a Framework mode to differentiate between linking with it and copying to .app (in case of a static lib framework, or load-only dylib
- Updated CEF3 to work as a normal framework (if we have a universal framework binary, it would be simpler, because LoadInMain() would work without any paths)
#rb roman.dzieciol
#preflight 643484117536ac6b78ae7ce3

[CL 24985043 by Josh Adams in ue5-main branch]
2023-04-10 18:08:40 -04:00
saam barati
33186743fe Fix areas where I used spaces instead of tabs in 24959203
#rb none
#preflight none

[CL 24984001 by saam barati in ue5-main branch]
2023-04-10 17:09:31 -04:00
saam barati
3ea476b189 Fix duplicative include after 24959203
#jira none
#preflight none
#rb none

[CL 24960511 by saam barati in ue5-main branch]
2023-04-06 19:45:14 -04:00
saam barati
d38bd62f99 Land public UBT portions of SOL-4383
#preflight 642dca73c6769c6082fc8693
#rb Phil.Pizlo
#rb Andrew.Scheidecker

This patch makes it possible to generate header files in a way that the Verse VM will take advantage of.

[CL 24960308 by saam barati in ue5-main branch]
2023-04-06 19:30:49 -04:00
Luke Thatcher
d566d29fa9 Undo //UE5/Main/... changelist 24869066 due to build errors.
#rb none
#jira none
#preflight 642c50afc6769c60826710d3

[CL 24913159 by Luke Thatcher in ue5-main branch]
2023-04-04 12:54:16 -04:00
Luke Thatcher
abed07b9f6 Remove NullRHI module from non-desktop builds
- Marked RHI modules with an [RHIModule] C# attribute, so UBT can determine how many RHIs are being included in the build via standard module references.
 - Refactored the "fixed RHI class" macros to automatically de-virtualize RHI command calls. WITH_FIXED_RHI_CLASS is always defined to 1 if there's only a single RHI module included in the build.

Unified "-rhivalidation" command line switch handling.

#rb mihnea.balta
#preflight 64247bb8c42c7fd1cb5fc582

[CL 24869066 by Luke Thatcher in ue5-main branch]
2023-03-31 06:32:14 -04:00
Joe Kirchoff
60234ab3bb UnrealBuildTool: Update support for minimum cpu arch for x64 platforms. Replaces ModuleRules.bUseAVX
* Add MinimumCpuArchitectureX64 enum, valid values are None, AVX, AVX2, & AVX512. Default value is None
* Obsolete boolean bUseAVX in favor of MinCpuArchX64
* Add MinCpuArchX64 setting to TargetRules
* Add Optional MinCpuArchX64 to ModuleRules, will override any target setting if not null
* Only pass this /arch for x64 platforms
* Can be controlled on the command line with -MinCpuArchX64=

#jira UE-181851
#rb Bryan.Sefcik
#preflight 6425fc7f91589478cdc7867c

[CL 24861220 by Joe Kirchoff in ue5-main branch]
2023-03-30 17:52:50 -04:00
bryan sefcik
241a1f79d2 Fixed an issue where other target test settings would leak into other tests.
#rb joe.kirchoff
#preflight 6424cc08b01a25d6a00b5cd1

[CL 24848706 by bryan sefcik in ue5-main branch]
2023-03-29 20:09:34 -04:00
joe kirchoff
22d71006f0 UnrealBuildTool: Add SupportedTargetTypes attribute, allowing for ModuleRules to be marked as supported for only specific TargetTypes (Editor, Game, Client, Server).
* Add SupportedPlatformGroup attribute, which will resolve to a SupportedPlatform attribute that contains all the platforms in that group
* Allow SupportedConfigurations attribute on ModuleRules
* Filter out -AllModules plugin modules that are unsupported
* Print warning with reference chain when a module is referenced but unsupported

#jira UE-177807
#preflight 641a3684ee0aed1347594abc
#rb Francis.Hurteau

[CL 24756436 by joe kirchoff in ue5-main branch]
2023-03-22 19:44:40 -04:00
joe kirchoff
88c89989cd UnrealBuildTool: Update -Deterministic to not have a per module setting as this doesn't work due to PCH requirements and instead add a setting to control warning level
#rb Henrik.Karlsson

[CL 24647188 by joe kirchoff in ue5-main branch]
2023-03-14 19:43:44 -04:00
Ben Marsh
513a5dbec1 UBT: Fix missing errors/warnings when compiling rules files.
#preflight none

[CL 24586299 by Ben Marsh in ue5-main branch]
2023-03-09 20:00:10 -05:00
Joe Kirchoff
0ad148be67 UnrealBuildTool: ModuleRules CppStandardVersion should be nullable so we can detect when it's actually overridden
#preflight 64066ea48832f48a4ddaee26

[CL 24532882 by Joe Kirchoff in ue5-main branch]
2023-03-06 18:04:01 -05:00
Joe Kirchoff
029b190e08 UnrealBuildTool: Allow overriding bWarningsAsErrors on a per module basis
#rb christopher.waters
#preflight 63ff840ca134e0b0590f38a5

[CL 24464453 by Joe Kirchoff in ue5-main branch]
2023-03-01 12:12:31 -05:00
joe kirchoff
606c42edeb Module include path validation. Disabled until outstanding issues are fixed
#rnx
#jira UE-177808
#rb Tim.Smith

[CL 24412746 by joe kirchoff in ue5-main branch]
2023-02-24 19:01:37 -05:00
ben woodhouse
982c48de6a Add support for overriding module optimization mode from a target. This allows game projects to override engine module optimization modes.
Note: This also implicitly disables PCH usage if a private PCH isn't set (this was previously fatal, but we need to be more flexible if we're overriding from the target).

#rb joe.kirchoff

[CL 24225336 by ben woodhouse in ue5-main branch]
2023-02-14 20:53:08 -05:00
chris constantinescu
4e7e7f9f3f LLT cleanup and improvements/updates:
- remove dependency on LaunchEngineLoop.cpp which also allows compilation against engine to succeed
- LowLevelTestsRunner no dependency on engine modules required: Launch, Core, Project
- EXPLICIT_TESTS_TARGET definition for self-contained tests: test modules and targets that derive from TestModuleRules/TestTargetRules respectively
- Cleanup Launch dependencies from existing explicit tests
- Cleanup redundant flags from existing explicit tests
- rename Self -> Foundation for in Horde
- additional platform fixes
Default #preflight 63e14d37244dc45a20e29337
All platform/tests LLTs #preflight 63e022f91b44ee7cb1c11d60
#rnx

[CL 24035900 by chris constantinescu in ue5-main branch]
2023-02-06 14:27:24 -05:00
ben woodhouse
61d6a27216 Add support for overriding an individual module's optimization level via a new OptimizationLevel property. This requires either a private PCH, or PCHUsageMode=NoPCHs (not recommended) because Clang requires that a PCH's optimization flags match the compile unit.
#rb Joe.Kirchoff

[CL 23933583 by ben woodhouse in ue5-main branch]
2023-01-31 14:12:11 -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
guillaume guay
54d72765a0 - Defined WITH_GAMEPLAY_DEBUGER_MENU to compile the gameplay debugger categories menus either when WITH_GAMEPLAY_DEBUGGER is defined or when WITH_GAMEPLAY_DEBUGGER_CORE is defined but except in Shipping.
- Debugger Input bindings are automatically registered only when WITH_GAMEPLAY_DEBUGGER is enabled.

[REVIEW] [at]maxime.mercier, [at]yoan.stamant
#preflight https://horde.devtools.epicgames.com/job/63cae88d8421864a9ca132ea

[CL 23797681 by guillaume guay in ue5-main branch]
2023-01-20 16:51:42 -05:00
guillaume guay
36c4c9951d Forcing the Gameplay Debugger Menu to be compiled even in Shipping when bBuildDeveloperTools=true
[REVIEW] [at]maxime.mercier, [at]yoan.stamant

[CL 23784878 by guillaume guay in ue5-main branch]
2023-01-19 20:48:22 -05:00
Joe Kirchoff
24ebcdfb1d UnrealBuildTool: Support msvc analyzer extensions
Enable by setting ModuleRules.bStaticAnalyzerExtensions = true.

It is recommended to use ModuleRules.StaticAnalyzerRulesets to filter the warnings that are reported as this will enable a large number of additional warnings.

Please see the following links for more details:
https://learn.microsoft.com/en-us/cpp/code-quality/using-the-cpp-core-guidelines-checkers
https://learn.microsoft.com/en-us/cpp/code-quality/using-rule-sets-to-specify-the-cpp-rules-to-run

#jira UE-174521
#rb trivial
#preflight 63c9e333977c626356cdf40f

[CL 23784396 by Joe Kirchoff in ue5-main branch]
2023-01-19 19:46:12 -05:00
guillaume guay
1c91bfc34a Allow Gameplay Debugger categories to be compiled in Gameplay Debugger Core mode but never in Shipping.
This will allow game teams to create on-the-fly the Gameplay Debugger when desired (like in Test build) and add the Engine categories they need for the core mode.
Also moved the  Gameplay Debugger Categories header file their corresponding public folder.

[REVIEW] https://p4-swarm.epicgames.net/reviews/23684361
#preflight https://horde.devtools.epicgames.com/job/63c856b602024f93d8e9b510

[CL 23781711 by guillaume guay in ue5-main branch]
2023-01-19 17:10:04 -05:00
henrik karlsson
ffe6cab480 [UBT]
* Deprecated ModuleRules bEnforceIWYU. IWYUSupport property should be used instead

#preflight 63c1eafaa06ab115ea24e6a7
#rb none

[CL 23696267 by henrik karlsson in ue5-main branch]
2023-01-13 23:34:44 -05:00
henrik karlsson
eb3e372b6c [Chaos]
* Moved Rotation.h from Chaos to ChaosCore
* Removed HEADER_UNIT_SKIP in Core.h now when all its includes are valid module dependency wise

#preflight 63c1eafaa06ab115ea24e6a7
#rb chris.caulfield

[CL 23696263 by henrik karlsson in ue5-main branch]
2023-01-13 23:34:40 -05:00