Files
UnrealEngine/Engine/Source/ThirdParty/Kiss_FFT/Kiss_FFT.Build.cs
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

61 lines
1.9 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
public class Kiss_FFT : ModuleRules
{
public Kiss_FFT(ReadOnlyTargetRules Target) : base(Target)
{
Type = ModuleType.External;
PublicDefinitions.Add("WITH_KISSFFT=1");
// Compile and link with kissFFT
string Kiss_FFTPath = Target.UEThirdPartySourceDirectory + "Kiss_FFT/kiss_fft129";
PublicSystemIncludePaths.Add(Kiss_FFTPath);
if (Target.Platform == UnrealTargetPlatform.Win64)
{
string LibDir;
if (Target.Configuration == UnrealTargetConfiguration.Debug && Target.bDebugBuildsActuallyUseDebugCRT)
{
LibDir = Kiss_FFTPath + "/lib/" + Target.Architecture.WindowsLibDir + "/VS" + Target.WindowsPlatform.GetVisualStudioCompilerVersionName() + "/Debug/";
}
else
{
LibDir = Kiss_FFTPath + "/lib/" + Target.Architecture.WindowsLibDir + "/VS" + Target.WindowsPlatform.GetVisualStudioCompilerVersionName() + "/Release/";
}
PublicAdditionalLibraries.Add(LibDir + "KissFFT.lib");
}
else if (Target.Platform == UnrealTargetPlatform.Mac)
{
if (Target.Configuration == UnrealTargetConfiguration.Debug && Target.bDebugBuildsActuallyUseDebugCRT)
{
PublicAdditionalLibraries.Add(Kiss_FFTPath + "/Lib/Mac/Debug/libKissFFT.a");
}
else
{
PublicAdditionalLibraries.Add(Kiss_FFTPath + "/Lib/Mac/Release/libKissFFT.a");
}
}
else if (Target.IsInPlatformGroup(UnrealPlatformGroup.Unix))
{
if (Target.LinkType == TargetLinkType.Monolithic)
{
PublicAdditionalLibraries.Add(Kiss_FFTPath + "/Lib/Linux/Release/" + Target.Architecture.LinuxName + "/libKissFFT.a");
}
else
{
PublicAdditionalLibraries.Add(Kiss_FFTPath + "/Lib/Linux/Release/" + Target.Architecture.LinuxName + "/libKissFFT_fPIC.a");
}
if (Target.Platform == UnrealTargetPlatform.LinuxArm64)
{
PrecompileForTargets = PrecompileTargetsType.None;
}
}
}
}