Files
UnrealEngine/Engine/Plugins/Animation/RigLogic/Source/RigLogicLib/RigLogicLib.Build.cs
2025-05-18 13:04:45 +08:00

65 lines
1.7 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
namespace UnrealBuildTool.Rules
{
public class RigLogicLib : ModuleRules
{
public RigLogicLib(ReadOnlyTargetRules Target) : base(Target)
{
IWYUSupport = IWYUSupport.None;
PublicDependencyModuleNames.AddRange(
new string[]
{
"Core",
"CoreUObject",
"Engine",
"ControlRig"
}
);
if (Target.Type == TargetType.Editor)
{
PublicDependencyModuleNames.Add("UnrealEd");
PublicDependencyModuleNames.Add("EditorFramework");
}
Type = ModuleType.CPlusPlus;
PrivateDefinitions.Add("RL_BUILD_WITH_ZYX_ROTATION_ORDER=1");
if (Target.LinkType != TargetLinkType.Monolithic)
{
PrivateDefinitions.Add("RL_BUILD_SHARED=1");
PublicDefinitions.Add("RL_SHARED=1");
}
if (Target.Platform == UnrealTargetPlatform.Win64)
{
PrivateDefinitions.Add("TRIMD_CUSTOM_WINDOWS_H=\"WindowsPlatformUE.h\"");
PrivateDefinitions.Add("TRIO_CUSTOM_WINDOWS_H=\"WindowsPlatformUE.h\"");
PrivateDefinitions.Add("TRIO_WINDOWS_FILE_MAPPING_AVAILABLE=1");
if (Target.Architecture == UnrealArch.Arm64 || Target.Architecture == UnrealArch.Arm64ec)
{
PrivateDefinitions.Add("RL_BUILD_WITH_NEON");
}
}
if (Target.Platform == UnrealTargetPlatform.Linux || Target.Platform == UnrealTargetPlatform.LinuxArm64)
{
PrivateDefinitions.Add("TRIO_MREMAP_AVAILABLE=1");
}
if (Target.Platform == UnrealTargetPlatform.Linux ||
Target.Platform == UnrealTargetPlatform.LinuxArm64 ||
Target.Platform == UnrealTargetPlatform.Mac)
{
PrivateDefinitions.Add("TRIO_MMAP_AVAILABLE=1");
}
PrivateDefinitions.Add("RL_AUTODETECT_SSE=1");
PrivateDefinitions.Add("RL_AUTODETECT_HALF_FLOATS=1");
}
}
}