Files
2025-05-18 13:04:45 +08:00

87 lines
2.4 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
using System.IO;
using EpicGames.Core;
namespace UnrealBuildTool.Rules
{
public class ElectraSamples: ModuleRules
{
public ElectraSamples(ReadOnlyTargetRules Target) : base(Target)
{
bLegalToDistributeObjectCode = true;
DynamicallyLoadedModuleNames.AddRange(
new string[] {
"Media",
});
PrivateDependencyModuleNames.AddRange(
new string[] {
"Core",
"CoreUObject",
"MediaUtils",
"RenderCore",
"RHI",
"ElectraBase",
});
PrivateIncludePathModuleNames.AddRange(
new string[] {
"Media",
});
if (Target.bCompileAgainstEngine)
{
PrivateDependencyModuleNames.Add("Engine");
}
if (Target.Platform.IsInGroup(UnrealPlatformGroup.Windows))
{
PublicDependencyModuleNames.Add("DirectX");
AddEngineThirdPartyPrivateStaticDependencies(Target, "DX9");
if (Target.WindowsPlatform.Architecture != UnrealArch.Arm64)
{
PublicAdditionalLibraries.AddRange(new string[] {
Path.Combine(Target.WindowsPlatform.DirectXLibDir, "dxerr.lib"),
});
}
PrivateDependencyModuleNames.AddAll("D3D11RHI", "D3D12RHI");
AddEngineThirdPartyPrivateStaticDependencies(Target, "DX11", "DX12");
PrivateDefinitions.Add("ELECTRA_SUPPORT_PREWIN8");
PrivateDefinitions.Add("ELECTRA_HAVE_DX11");
PublicSystemLibraries.AddRange(new string[] {
"strmiids.lib",
"legacy_stdio_definitions.lib",
"Dxva2.lib",
});
PublicIncludePaths.Add("$(ModuleDir)/Public/Windows");
}
else if (Target.IsInPlatformGroup(UnrealPlatformGroup.Apple))
{
PrivateDependencyModuleNames.Add("MetalRHI");
AddEngineThirdPartyPrivateStaticDependencies(Target, "MetalCPP");
PublicIncludePaths.Add("$(ModuleDir)/Public/Apple");
}
else if (Target.IsInPlatformGroup(UnrealPlatformGroup.Android))
{
PublicIncludePaths.Add("$(ModuleDir)/Public/Android");
string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(PluginPath, "ElectraSamples_UPL.xml"));
PrivateDependencyModuleNames.Add("VulkanRHI");
AddEngineThirdPartyPrivateStaticDependencies(Target, "Vulkan");
}
else if (Target.IsInPlatformGroup(UnrealPlatformGroup.Unix))
{
PublicIncludePaths.Add("$(ModuleDir)/Public/Linux");
}
}
}
}