Files
UnrealEngine/Engine/Source/ThirdParty/VHACD/VHACD.Build.cs
2025-05-18 13:04:45 +08:00

58 lines
1.7 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
public class VHACD : ModuleRules
{
public VHACD(ReadOnlyTargetRules Target) : base(Target)
{
Type = ModuleType.External;
string VHACDDirectory = Target.UEThirdPartySourceDirectory + "VHACD/";
string VHACDLibPath = VHACDDirectory;
PublicSystemIncludePaths.Add(VHACDDirectory + "public");
if (Target.Platform == UnrealTargetPlatform.Win64)
{
VHACDLibPath = VHACDLibPath + "lib/Win64/VS" + Target.WindowsPlatform.GetVisualStudioCompilerVersionName() + "/";
if (Target.Architecture == UnrealArch.Arm64)
{
VHACDLibPath += "arm64/";
}
if (Target.Configuration == UnrealTargetConfiguration.Debug && Target.bDebugBuildsActuallyUseDebugCRT)
{
PublicAdditionalLibraries.Add(VHACDLibPath + "VHACDd.lib");
}
else
{
PublicAdditionalLibraries.Add(VHACDLibPath + "VHACD.lib");
}
}
else if (Target.Platform == UnrealTargetPlatform.Mac)
{
string LibPath = VHACDDirectory + "Lib/Mac/";
if (Target.Configuration == UnrealTargetConfiguration.Debug && Target.bDebugBuildsActuallyUseDebugCRT)
{
PublicAdditionalLibraries.Add(LibPath + "libVHACD_LIBd.a");
}
else
{
PublicAdditionalLibraries.Add(LibPath + "libVHACD_LIB.a");
}
PublicFrameworks.AddRange(new string[] { "OpenCL" });
}
else if (Target.IsInPlatformGroup(UnrealPlatformGroup.Unix))
{
if (Target.LinkType == TargetLinkType.Monolithic)
{
PublicAdditionalLibraries.Add(VHACDDirectory + "Lib/Linux/" + Target.Architecture.LinuxName + "/libVHACD.a");
}
else
{
PublicAdditionalLibraries.Add(VHACDDirectory + "Lib/Linux/" + Target.Architecture.LinuxName + "/libVHACD_fPIC.a");
}
}
}
}