Files
UnrealEngine/Engine/Source/Runtime/Experimental/Chaos/Chaos.Build.cs
2025-05-18 13:04:45 +08:00

57 lines
1.6 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using System.Linq;
using System.Collections.Generic;
namespace UnrealBuildTool.Rules
{
public class Chaos : ModuleRules
{
public Chaos(ReadOnlyTargetRules Target) : base(Target)
{
NumIncludedBytesPerUnityCPPOverride = 192 * 1024; // This is half of the default unity size(NumIncludedBytesPerUnityCPP) specified in TargetRules.cs
PublicDependencyModuleNames.AddRange(
new string[] {
"AutoRTFM",
"Core",
"CoreUObject",
"ChaosCore",
"IntelISPC",
"TraceLog",
"Voronoi",
"GeometryCore",
"ChaosVDRuntime",
"NNE",
}
);
PrivateDependencyModuleNames.AddRange(
new string[] {
"Eigen"
}
);
PublicDefinitions.Add("COMPILE_WITHOUT_UNREAL_SUPPORT=0");
PrivateDefinitions.Add("CHAOS_INCLUDE_LEVEL_1=1");
PrivateIncludePathModuleNames.Add("PhysicsCore"); // Needed because we include "ChaosEngineInterface.h"
if (Target.bUseChaosMemoryTracking == true)
{
PublicDefinitions.Add("CHAOS_MEMORY_TRACKING=1");
}
else
{
PublicDefinitions.Add("CHAOS_MEMORY_TRACKING=0");
}
SetupModuleChaosVisualDebuggerSupport(Target);
CppCompileWarningSettings.UnsafeTypeCastWarningLevel = WarningLevel.Error;
StaticAnalyzerDisabledCheckers.Add("cplusplus.NewDeleteLeaks"); // To be reevalulated, believed to be invalid warnings.
StaticAnalyzerDisabledCheckers.Add("core.UndefinedBinaryOperatorResult"); // Invalid warning in mass property calculation.
}
}
}