140 lines
3.6 KiB
C#
140 lines
3.6 KiB
C#
// @lint-ignore-every LICENSELINT
|
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
using System;
|
|
using System.IO;
|
|
|
|
namespace UnrealBuildTool.Rules
|
|
{
|
|
public class OculusXRHMD : ModuleRules
|
|
{
|
|
public OculusXRHMD(ReadOnlyTargetRules Target) : base(Target)
|
|
{
|
|
bUseUnity = true;
|
|
|
|
var EngineDir = Path.GetFullPath(Target.RelativeEnginePath);
|
|
|
|
PrivateIncludePaths.AddRange(
|
|
new string[] {
|
|
Path.Combine(EngineDir, "Source/Runtime/Renderer/Private"),
|
|
Path.Combine(EngineDir, "Source/Runtime/Renderer/Private"),
|
|
Path.Combine(EngineDir, "Source/Runtime/OpenGLDrv/Private"),
|
|
Path.Combine(EngineDir, "Source/Runtime/Engine/Classes/Components"),
|
|
Path.Combine(EngineDir, "Source/Runtime/Engine/Classes/Kismet"),
|
|
});
|
|
|
|
PublicIncludePathModuleNames.AddRange(
|
|
new string[] {
|
|
"Launch",
|
|
"ProceduralMeshComponent",
|
|
"AndroidPermission"
|
|
});
|
|
|
|
PrivateDependencyModuleNames.AddRange(
|
|
new string[]
|
|
{
|
|
"Core",
|
|
"CoreUObject",
|
|
"Engine",
|
|
"InputCore",
|
|
"RHI",
|
|
"RHICore",
|
|
"RenderCore",
|
|
"Renderer",
|
|
"Slate",
|
|
"SlateCore",
|
|
"ImageWrapper",
|
|
"MediaAssets",
|
|
"Analytics",
|
|
"OpenGLDrv",
|
|
"VulkanRHI",
|
|
"OVRPluginXR",
|
|
"OculusOpenXRLoader",
|
|
"ProceduralMeshComponent",
|
|
"Projects",
|
|
});
|
|
|
|
PublicDependencyModuleNames.AddRange(
|
|
new string[]
|
|
{
|
|
"HeadMountedDisplay",
|
|
});
|
|
|
|
if (Target.Version.MajorVersion > 5 || (Target.Version.MajorVersion == 5 && Target.Version.MinorVersion >= 3))
|
|
{
|
|
PublicDependencyModuleNames.AddRange(
|
|
new string[]
|
|
{
|
|
"XRBase",
|
|
});
|
|
}
|
|
|
|
if (Target.bBuildEditor == true)
|
|
{
|
|
PrivateDependencyModuleNames.Add("UnrealEd");
|
|
}
|
|
|
|
AddEngineThirdPartyPrivateStaticDependencies(Target, "OpenGL");
|
|
|
|
if (Target.Platform == UnrealTargetPlatform.Win64)
|
|
{
|
|
// D3D
|
|
{
|
|
PrivateDependencyModuleNames.AddRange(
|
|
new string[]
|
|
{
|
|
"D3D11RHI",
|
|
"D3D12RHI",
|
|
});
|
|
|
|
PrivateIncludePaths.AddRange(
|
|
new string[]
|
|
{
|
|
"OculusXRMR/Public",
|
|
});
|
|
|
|
AddEngineThirdPartyPrivateStaticDependencies(Target, "DX11");
|
|
AddEngineThirdPartyPrivateStaticDependencies(Target, "DX12");
|
|
AddEngineThirdPartyPrivateStaticDependencies(Target, "NVAPI");
|
|
AddEngineThirdPartyPrivateStaticDependencies(Target, "DX11Audio");
|
|
AddEngineThirdPartyPrivateStaticDependencies(Target, "DirectSound");
|
|
AddEngineThirdPartyPrivateStaticDependencies(Target, "NVAftermath");
|
|
AddEngineThirdPartyPrivateStaticDependencies(Target, "IntelMetricsDiscovery");
|
|
AddEngineThirdPartyPrivateStaticDependencies(Target, "IntelExtensionsFramework");
|
|
}
|
|
|
|
// Vulkan
|
|
{
|
|
AddEngineThirdPartyPrivateStaticDependencies(Target, "Vulkan");
|
|
}
|
|
|
|
// OVRPlugin
|
|
if (Target.Platform == UnrealTargetPlatform.Win64)
|
|
{
|
|
RuntimeDependencies.Add("$(PluginDir)/Source/ThirdParty/OVRPlugin/OVRPlugin/Lib/" + Target.Platform.ToString() + "/OpenXR/OVRPlugin.dll");
|
|
}
|
|
}
|
|
else if (Target.Platform == UnrealTargetPlatform.Android)
|
|
{
|
|
// We are not currently supporting Mixed Reality on Android, but we need to include IOculusXRMRModule.h for OCULUS_MR_SUPPORTED_PLATFORMS definition
|
|
PrivateIncludePaths.AddRange(
|
|
new string[]
|
|
{
|
|
"OculusXRMR/Public"
|
|
});
|
|
|
|
// Vulkan
|
|
{
|
|
AddEngineThirdPartyPrivateStaticDependencies(Target, "Vulkan");
|
|
}
|
|
|
|
// AndroidPlugin
|
|
{
|
|
string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
|
|
AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(PluginPath, "OculusMobile_APL.xml"));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|