Files
TerracottaWarriors/Plugins/AndroidVulkanVideo_5.3/Source/AndroidVulkanVideo/AndroidVulkanVideo.Build.cs

89 lines
2.4 KiB
C#
Raw Normal View History

2025-07-14 22:24:27 +08:00
// ------------------------------------------------
// Copyright Joe Marshall 2024- All Rights Reserved
// ------------------------------------------------
//
// Build AndroidVulkanVideo module
// ------------------------------------------------
using UnrealBuildTool;
using System.IO;
using System;
public class AndroidVulkanVideo : ModuleRules
{
public AndroidVulkanVideo(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
CppStandard = CppStandardVersion.Cpp17;
PublicIncludePaths.AddRange(
new string[] {
// ... add public include paths required here ...
}
);
PrivateIncludePaths.AddRange(
new string[] {
// ... add other private include paths required here ...
}
);
PublicDependencyModuleNames.AddRange(
new string[]
{
"Core",
"Projects"
// ... add other public dependencies that you statically link with here ...
}
);
PrivateDependencyModuleNames.AddRange(
new string[]
{
"CoreUObject", "Engine","RHI","VulkanRHI","AudioExtensions","MediaUtils"
// ... add private dependencies that you statically link with here ...
}
);
DynamicallyLoadedModuleNames.AddRange(
new string[]
{
"Media"
}
);
PrivateIncludePathModuleNames.AddRange(
new string[] {
"Media","MediaUtils"
});
if (Target.Platform == UnrealTargetPlatform.Android)
{
PrivateDependencyModuleNames.AddRange(new string[] { "Launch" });
// AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(ModuleDirectory, "Copy_Lib_Android.xml"));
AddEngineThirdPartyPrivateStaticDependencies(Target, "Vulkan");
PublicSystemLibraries.Add("libmediandk");
string overridelib_src_path = Path.GetFullPath("../overridelib/BuildOverrideLib.xml", ModuleDirectory);
string overridelib_built_path = Path.GetFullPath("./overridelib_built/InstallOverrideLib.xml",ModuleDirectory);
if(File.Exists(overridelib_src_path)){
// build vulkan override layer from scratch if we have code
AdditionalPropertiesForReceipt.Add("AndroidPlugin", overridelib_src_path);
}else if(File.Exists(overridelib_built_path)){
// otherwise copy pre-built vulkan override layer .so into project
AdditionalPropertiesForReceipt.Add("AndroidPlugin", overridelib_built_path);
}else{
// ERROR
throw new InvalidOperationException("Need "+overridelib_built_path+" to build");
}
}
bPrecompile = true;
}
}