Files
UnrealEngineUWP/Engine/Source/Runtime/BinkAudioDecoder/Module/BinkAudioDecoder.Build.cs
dan thompson c3a14b350b Submitting new bink decoder libs to pick up the radfft init race condition fixed a while back for the encoder libs.
#rb fabian.giesen

[CL 31314600 by dan thompson in ue5-main branch]
2024-02-08 19:39:38 -05:00

83 lines
3.0 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using System.IO;
using System.Collections.Generic;
using System.Security.Cryptography;
using UnrealBuildTool;
public class BinkAudioDecoder : ModuleRules
{
// virtual so that NDA platforms can hide secrets
protected virtual string GetLibrary(ReadOnlyTargetRules Target)
{
if (Target.Platform.IsInGroup(UnrealPlatformGroup.Windows))
{
return Path.Combine(ModuleDirectory, "..", "SDK", "BinkAudio", "Lib", "binka_ue_decode_win64_static.lib");
}
if (Target.Platform == UnrealTargetPlatform.Linux)
{
if (Target.Architecture == UnrealArch.Arm64)
{
return Path.Combine(ModuleDirectory, "..", "SDK", "BinkAudio", "Lib", "libbinka_ue_decode_lnxarm64_static.a");
}
if (Target.Architecture == UnrealArch.X64)
{
return Path.Combine(ModuleDirectory, "..", "SDK", "BinkAudio", "Lib", "libbinka_ue_decode_lnx64_static.a");
}
}
if (Target.Platform == UnrealTargetPlatform.Mac)
{
return Path.Combine(ModuleDirectory, "..", "SDK", "BinkAudio", "Lib", "libbinka_ue_decode_osx_static.a");
}
if (Target.Platform == UnrealTargetPlatform.IOS)
{
string LibExt = (Target.Architecture == UnrealArch.IOSSimulator) ? "_sim.a" : ".a";
return Path.Combine(ModuleDirectory, "..", "SDK", "BinkAudio", "Lib", "libbinka_ue_decode_ios_static" + LibExt);
}
if (Target.Platform == UnrealTargetPlatform.TVOS)
{
return Path.Combine(ModuleDirectory, "..", "SDK", "BinkAudio", "Lib", "libbinka_ue_decode_tvos_static.a");
}
return null;
}
public BinkAudioDecoder(ReadOnlyTargetRules Target) : base(Target)
{
ShortName = "BinkAudioDecoder";
PublicDependencyModuleNames.AddRange(
new string[]
{
"Core",
"CoreUObject",
"Engine"
}
);
PublicSystemIncludePaths.Add(Path.Combine(ModuleDirectory, "..", "SDK", "BinkAudio", "Include"));
if (Target.Platform == UnrealTargetPlatform.Android)
{
// For Android each architecture is registered and unneeded one is filtered out
PublicDefinitions.Add("WITH_BINK_AUDIO=1");
PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "..", "SDK", "BinkAudio", "Lib", "Android", "ARM64", "libbinka_ue_decode_androidarm64_static.a"));
PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "..", "SDK", "BinkAudio", "Lib", "Android", "x64", "libbinka_ue_decode_androidx64_static.a"));
}
else
{
string Library = GetLibrary(Target);
if (Library != null)
{
// We have to have this because some audio mixers are shared across platforms
// that we don't have libs for (e.g. hololens).
PublicDefinitions.Add("WITH_BINK_AUDIO=1");
PublicAdditionalLibraries.Add(Library);
}
else
{
PublicDefinitions.Add("WITH_BINK_AUDIO=0");
}
}
}
}