2019-12-26 14:45:42 -05:00
|
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
2019-11-26 17:28:51 -05:00
|
|
|
|
|
|
|
|
using UnrealBuildTool;
|
2021-04-29 19:32:06 -04:00
|
|
|
using System.IO;
|
|
|
|
|
using System;
|
2019-11-26 17:28:51 -05:00
|
|
|
|
2021-06-07 20:09:45 -04:00
|
|
|
[SupportedPlatforms("Win64", "Linux")]
|
2019-11-26 17:28:51 -05:00
|
|
|
public class AVEncoder : ModuleRules
|
|
|
|
|
{
|
|
|
|
|
public AVEncoder(ReadOnlyTargetRules Target) : base(Target)
|
|
|
|
|
{
|
2021-04-29 19:32:06 -04:00
|
|
|
// Without these two compilation fails on VS2017 with D8049: command line is too long to fit in debug record.
|
|
|
|
|
bLegacyPublicIncludePaths = false;
|
|
|
|
|
DefaultBuildSettings = BuildSettingsVersion.V2;
|
2019-11-26 17:28:51 -05:00
|
|
|
|
2021-04-29 19:32:06 -04:00
|
|
|
// PCHUsage = PCHUsageMode.NoPCHs;
|
|
|
|
|
|
|
|
|
|
// PrecompileForTargets = PrecompileTargetsType.None;
|
|
|
|
|
|
|
|
|
|
PublicIncludePaths.AddRange(new string[] {
|
|
|
|
|
// ... add public include paths required here ...
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
PrivateIncludePaths.AddRange(new string[] {
|
|
|
|
|
// ... add other private include paths required here ...
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
PrivateDependencyModuleNames.AddRange(new string[] {
|
2019-11-26 17:28:51 -05:00
|
|
|
"Engine",
|
2021-05-25 02:43:26 -04:00
|
|
|
"nvEncode",
|
|
|
|
|
"Amf"
|
2021-04-29 19:32:06 -04:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
PublicDependencyModuleNames.AddRange(new string[] {
|
2019-11-26 17:28:51 -05:00
|
|
|
"RenderCore",
|
2021-04-29 19:32:06 -04:00
|
|
|
"Core",
|
|
|
|
|
"RHI"
|
|
|
|
|
// ... add other public dependencies that you statically link with here ...
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
DynamicallyLoadedModuleNames.AddRange(new string[] {
|
|
|
|
|
// ... add any modules that your module loads dynamically here ...
|
2019-11-26 17:28:51 -05:00
|
|
|
});
|
|
|
|
|
|
2021-06-14 13:40:06 -04:00
|
|
|
if (Target.IsInPlatformGroup(UnrealPlatformGroup.Windows) || Target.Platform == UnrealTargetPlatform.Linux || Target.Platform == UnrealTargetPlatform.LinuxArm64)
|
2021-05-25 02:43:26 -04:00
|
|
|
{
|
2021-05-25 14:56:09 -04:00
|
|
|
AddEngineThirdPartyPrivateStaticDependencies(Target, "NVAftermath");
|
2021-05-25 02:43:26 -04:00
|
|
|
PrivateIncludePathModuleNames.Add("VulkanRHI");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
string EngineSourceDirectory = Path.GetFullPath(Target.RelativeEnginePath);
|
|
|
|
|
PrivateIncludePaths.Add(Path.Combine(EngineSourceDirectory, "Source/Runtime/VulkanRHI/Private"));
|
|
|
|
|
AddEngineThirdPartyPrivateStaticDependencies(Target, "Vulkan");
|
|
|
|
|
|
2021-01-31 15:09:58 -04:00
|
|
|
if (Target.Platform == UnrealTargetPlatform.Win64)
|
2019-11-26 17:28:51 -05:00
|
|
|
{
|
2021-05-25 02:43:26 -04:00
|
|
|
PublicDependencyModuleNames.Add("D3D12RHI");
|
|
|
|
|
|
2021-04-29 19:32:06 -04:00
|
|
|
// d3d to be able to use NVENC
|
|
|
|
|
PublicSystemLibraries.AddRange(new string[] {
|
|
|
|
|
"dxgi.lib",
|
|
|
|
|
"d3d11.lib",
|
|
|
|
|
"d3d12.lib",
|
|
|
|
|
"mfplat.lib",
|
|
|
|
|
"mfuuid.lib"
|
|
|
|
|
});
|
2021-05-25 02:43:26 -04:00
|
|
|
|
|
|
|
|
PrivateIncludePaths.Add(Path.Combine(EngineSourceDirectory, "Source/Runtime/VulkanRHI/Private/Windows"));
|
2019-11-26 17:28:51 -05:00
|
|
|
}
|
2021-06-14 13:40:06 -04:00
|
|
|
else if (Target.Platform == UnrealTargetPlatform.Linux || Target.Platform == UnrealTargetPlatform.LinuxArm64)
|
2021-04-29 19:32:06 -04:00
|
|
|
{
|
2021-05-25 02:43:26 -04:00
|
|
|
PrivateDependencyModuleNames.Add("CUDA");
|
|
|
|
|
PrivateIncludePaths.Add(Path.Combine(EngineSourceDirectory, "Source/Runtime/VulkanRHI/Private/Linux"));
|
2021-04-29 19:32:06 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// TEMPORARY: set this to zero for all platforms until CUDA TPS review clears
|
|
|
|
|
PublicDefinitions.Add("WITH_CUDA=0");
|
2019-11-26 17:28:51 -05:00
|
|
|
}
|
|
|
|
|
}
|