Exemple #1
0
        public AzureSpatialAnchorsForOpenXR(ReadOnlyTargetRules Target) : base(Target)
        {
            if (Target.Platform == UnrealTargetPlatform.Win64 || Target.Platform == UnrealTargetPlatform.HoloLens)
            {
                // these parameters mandatory for winrt support
                bEnableExceptions = true;
                bUseUnity         = false;
                CppStandard       = CppStandardVersion.Cpp17;
                PublicSystemLibraries.AddRange(new string[] { "shlwapi.lib", "runtimeobject.lib" });
            }

            PrivateDependencyModuleNames.AddRange(
                new string[]
            {
                "Core",
                "CoreUObject",
                "Engine",
                "AugmentedReality",
                "HeadMountedDisplay",
                "OpenXRHMD",
                "NuGetModule",
                "Projects",
                "MicrosoftOpenXR"
            }
                );

            PublicDependencyModuleNames.AddRange(
                new string[]
            {
                "AzureSpatialAnchors",
                "MicrosoftOpenXR"
            }
                );

            PrivateIncludePathModuleNames.AddRange(
                new string[]
            {
                "HeadMountedDisplay",
                "NuGetModule"
            }
                );

            PublicIncludePathModuleNames.AddRange(
                new string[]
            {
                "HeadMountedDisplay",
                "NuGetModule"
            }
                );

            string OpenXRPluginIncludePath  = Path.Combine(PluginDirectory, "Source", "MicrosoftOpenXR", "Private");
            string OpenXRPrivateIncludePath = Path.Combine(PluginDirectory, "Source", "MicrosoftOpenXR", "Private", "External");

            PrivateIncludePaths.Add(OpenXRPluginIncludePath);
            PrivateIncludePaths.Add(OpenXRPrivateIncludePath);
        }
Exemple #2
0
    public DX11Audio(ReadOnlyTargetRules Target) : base(Target)
    {
        Type = ModuleType.External;

        string DirectXSDKDir = "";

        if (Target.Platform == UnrealTargetPlatform.HoloLens)
        {
            DirectXSDKDir = Target.WindowsPlatform.bUseWindowsSDK10 ?
                            Target.UEThirdPartySourceDirectory + "Windows/DirectXLegacy" :
                            Target.UEThirdPartySourceDirectory + "Windows/DirectX";
        }
        else
        {
            DirectXSDKDir = Target.UEThirdPartySourceDirectory + "Windows/DirectX";
        }

        string LibDir = null;

        if (Target.Platform == UnrealTargetPlatform.Win64)
        {
            LibDir = DirectXSDKDir + "/Lib/x64/";
        }
        else if (Target.Platform == UnrealTargetPlatform.Win32)
        {
            LibDir = DirectXSDKDir + "/Lib/x86/";
        }

        if (Target.Platform == UnrealTargetPlatform.Win32 || Target.Platform == UnrealTargetPlatform.Win64)
        {
            PublicSystemIncludePaths.Add(DirectXSDKDir + "/include");

            PublicAdditionalLibraries.AddRange(
                new string[]
            {
                LibDir + "dxguid.lib",
                LibDir + "X3DAudio.lib",
                LibDir + "xapobase.lib",
                LibDir + "XAPOFX.lib"
            }
                );
        }
        else if (Target.Platform == UnrealTargetPlatform.HoloLens)
        {
            PublicSystemIncludePaths.Add(DirectXSDKDir + "/include");

            PublicSystemLibraries.AddRange(
                new string[]
            {
                LibDir + "dxguid.lib",
                LibDir + "xapobase.lib"
            }
                );
        }
    }
Exemple #3
0
    public GoogleSTT(ReadOnlyTargetRules Target) : base(Target)
    {
        PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;

        PublicIncludePaths.AddRange(
            new string[] {
            // ... add public include paths required here ...
        }
            );


        PrivateIncludePaths.AddRange(
            new string[] {
            // ... add other private include paths required here ...
            Path.GetFullPath(Path.Combine(EngineDirectory, "Source/Runtime/AudioCaptureImplementations/AudioCaptureRtAudio/Private")),
        }
            );

        PublicSystemIncludePaths.AddRange(
            new string[] {
            SystemPath + "Include/10.0.18362.0/um",
            SystemPath + "Include/10.0.18362.0/shared",
        }
            );

        PublicSystemLibraryPaths.AddRange(
            new string[] {
            SystemPath + "Lib/10.0.18362.0/um/x64",
        }
            );

        PublicSystemLibraries.AddRange(
            new string[] {
            "Crypt32.Lib",
            "bcrypt.lib",
            "Winhttp.lib",
        }
            );

        PublicDependencyModuleNames.AddRange(
            new string[]
        {
            "Core",
            "InputCore",
            // ... add other public dependencies that you statically link with here ...
        }
            );


        PrivateDependencyModuleNames.AddRange(
            new string[]
        {
            "CoreUObject",
            "Engine",
            "Slate",
            "SlateCore",
            "AudioCaptureCore",
            "AudioCaptureRtAudio",
            // ... add private dependencies that you statically link with here ...
        }
            );


        DynamicallyLoadedModuleNames.AddRange(
            new string[]
        {
            // ... add any modules that your module loads dynamically here ...
        }
            );

        PublicDefinitions.AddRange(
            new string[] {
            "CPPREST_FORCE_PPLX=0",
            "_WIN32_WINNT_VISTA=0",
        }
            );

        LoadThirdParty(Target);
    }
Exemple #4
0
    public DX11(ReadOnlyTargetRules Target) : base(Target)
    {
        Type = ModuleType.External;

        string DirectXSDKDir = "";

        if (Target.Platform == UnrealTargetPlatform.HoloLens)
        {
            DirectXSDKDir = Target.WindowsPlatform.bUseWindowsSDK10 ?
                            Target.UEThirdPartySourceDirectory + "Windows/DirectXLegacy" :
                            Target.UEThirdPartySourceDirectory + "Windows/DirectX";
        }
        else
        {
            DirectXSDKDir = Target.UEThirdPartySourceDirectory + "Windows/DirectX";
        }

        if (Target.Platform == UnrealTargetPlatform.Win64 || Target.Platform == UnrealTargetPlatform.Win32)
        {
            PublicSystemIncludePaths.Add(DirectXSDKDir + "/Include");

            PublicDefinitions.Add("WITH_D3DX_LIBS=1");

            string LibDir = null;
            if (Target.Platform == UnrealTargetPlatform.Win64)
            {
                LibDir = DirectXSDKDir + "/Lib/x64/";
            }
            else if (Target.Platform == UnrealTargetPlatform.Win32)
            {
                LibDir = DirectXSDKDir + "/Lib/x86/";
            }

            PublicAdditionalLibraries.AddRange(
                new string[] {
                LibDir + "dxgi.lib",
                LibDir + "d3d9.lib",
                LibDir + "d3d11.lib",
                LibDir + "dxguid.lib",
                LibDir + "d3dcompiler.lib",
                (Target.Configuration == UnrealTargetConfiguration.Debug && Target.bDebugBuildsActuallyUseDebugCRT) ? LibDir + "d3dx11d.lib" : LibDir + "d3dx11.lib",
                LibDir + "dinput8.lib",
                LibDir + "X3DAudio.lib",
                LibDir + "xapobase.lib",
                LibDir + "XAPOFX.lib"
            }
                );
        }
        else if (Target.Platform == UnrealTargetPlatform.XboxOne)
        {
            PublicDefinitions.Add("WITH_D3DX_LIBS=0");
        }

        else if (Target.Platform == UnrealTargetPlatform.HoloLens)
        {
            PublicSystemIncludePaths.Add(DirectXSDKDir + "/Include");

            PublicDefinitions.Add("WITH_D3DX_LIBS=0");
            PublicSystemLibraries.AddRange(
                new string[] {
                "dxguid.lib",
            }
                );
        }
    }
Exemple #5
0
        public IOSApsalar(ReadOnlyTargetRules Target) : base(Target)
        {
            BinariesSubFolder = "NotForLicensees";

            PublicDependencyModuleNames.AddRange(
                new string[]
            {
                "Core",
                // ... add other public dependencies that you statically link with here ...
            }
                );

            PrivateDependencyModuleNames.AddRange(
                new string[]
            {
                "Analytics",
                // ... add private dependencies that you statically link with here ...
            }
                );

            PublicIncludePathModuleNames.Add("Analytics");

            PublicFrameworks.AddRange(
                new string[] {
                "CoreTelephony",
                "SystemConfiguration",
                "UIKit",
                "Foundation",
                "CoreGraphics",
                "MobileCoreServices",
                "StoreKit",
                "CFNetwork",
                "CoreData",
                "Security",
                "CoreLocation"
            });

            PublicSystemLibraries.AddRange(
                new string[] {
                "sqlite3",
                "z"
            });

            bool bHasApsalarSDK =
                (System.IO.Directory.Exists(System.IO.Path.Combine(Target.UEThirdPartySourceDirectory, "Apsalar")) &&
                 System.IO.Directory.Exists(System.IO.Path.Combine(Target.UEThirdPartySourceDirectory, "Apsalar", "IOS"))) ||
                (System.IO.Directory.Exists(System.IO.Path.Combine(Target.UEThirdPartySourceDirectory, "NotForLicensees")) &&
                 System.IO.Directory.Exists(System.IO.Path.Combine(Target.UEThirdPartySourceDirectory, "NotForLicensees", "Apsalar")) &&
                 System.IO.Directory.Exists(System.IO.Path.Combine(Target.UEThirdPartySourceDirectory, "NotForLicensees", "Apsalar", "IOS")));

            if (bHasApsalarSDK)
            {
                PublicIncludePaths.Add(Target.UEThirdPartySourceDirectory + "NotForLicensees/Apsalar/IOS/");
                PublicAdditionalLibraries.Add(Target.UEThirdPartySourceDirectory + "NotForLicensees/Apsalar/IOS/libApsalar.a");

                PublicDefinitions.Add("WITH_APSALAR=1");
            }
            else
            {
                PublicDefinitions.Add("WITH_APSALAR=0");
            }
        }
Exemple #6
0
    public MicrosoftOpenXR(ReadOnlyTargetRules Target) : base(Target)
    {
        PCHUsage             = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
        PrivatePCHHeaderFile = @"Private\OpenXRCommon.h";

        PrivateIncludePaths.AddRange(
            new string[] {
            // This private include path ensures our newer copy of the openxr headers take precedence over the engine's copy.
            "MicrosoftOpenXR/Private/External"
        }
            );


        PrivateDependencyModuleNames.AddRange(
            new string[]
        {
            "Core",
            "CoreUObject",
            "ApplicationCore",
            "Engine",
            "Slate",
            "SlateCore",
            "InputCore",
            "OpenXRHMD",
            "MicrosoftOpenXRRuntimeSettings",
            "HeadMountedDisplay",
            "AugmentedReality",
            "OpenXRAR",
            "RHI",
            "RenderCore",
            "Projects",
        }
            );

        if (Target.bBuildEditor)
        {
            PrivateDependencyModuleNames.AddRange(
                new string[]
            {
                "UnrealEd"
            }
                );
        }

        PrivateIncludePathModuleNames.AddRange(
            new string[]
        {
            "HeadMountedDisplay"
        }
            );

        PublicIncludePathModuleNames.AddRange(
            new string[]
        {
            "HeadMountedDisplay"
        }
            );

        // WinRT with Nuget support
        if (Target.Platform == UnrealTargetPlatform.Win64 || Target.Platform == UnrealTargetPlatform.HoloLens)
        {
            // these parameters mandatory for winrt support
            bEnableExceptions = true;
            bUseUnity         = false;
            CppStandard       = CppStandardVersion.Cpp17;
            PublicSystemLibraries.AddRange(new string [] { "shlwapi.lib", "runtimeobject.lib" });

            // prepare everything for nuget
            string MyModuleName = GetType().Name;
            string NugetFolder  = Path.Combine(PluginDirectory, "Intermediate", "Nuget", MyModuleName);
            Directory.CreateDirectory(NugetFolder);

            string BinariesSubFolder = Path.Combine("Binaries", "ThirdParty", Target.Type.ToString(), Target.Platform.ToString(), Target.Architecture);

            PrivateDefinitions.Add(string.Format("THIRDPARTY_BINARY_SUBFOLDER=\"{0}\"", BinariesSubFolder.Replace(@"\", @"\\")));

            string BinariesFolder = Path.Combine(PluginDirectory, BinariesSubFolder);
            Directory.CreateDirectory(BinariesFolder);

            // download nuget
            string NugetExe = Path.Combine(NugetFolder, "nuget.exe");
            if (!File.Exists(NugetExe))
            {
                using (System.Net.WebClient myWebClient = new System.Net.WebClient())
                {
                    // we aren't focusing on a specific nuget version, we can use any of them but the latest one is preferable
                    myWebClient.DownloadFile(@"https://dist.nuget.org/win-x86-commandline/latest/nuget.exe", NugetExe);
                }
            }

            // run nuget to update the packages
            {
                var StartInfo = new System.Diagnostics.ProcessStartInfo(NugetExe, string.Format("install \"{0}\" -OutputDirectory \"{1}\"", Path.Combine(ModuleDirectory, "packages.config"), NugetFolder));
                StartInfo.UseShellExecute = false;
                StartInfo.CreateNoWindow  = true;
                var ExitCode = Utils.RunLocalProcessAndPrintfOutput(StartInfo);
                if (ExitCode < 0)
                {
                    throw new BuildException("Failed to get nuget packages.  See log for details.");
                }
            }

            // get list of the installed packages, that's needed because the code should get particular versions of the installed packages
            string[] InstalledPackages = Utils.RunLocalProcessAndReturnStdOut(NugetExe, string.Format("list -Source \"{0}\"", NugetFolder)).Split(new char[] { '\r', '\n' });

            // get WinRT package
            string CppWinRTPackage = InstalledPackages.FirstOrDefault(x => x.StartsWith("Microsoft.Windows.CppWinRT"));
            if (!string.IsNullOrEmpty(CppWinRTPackage))
            {
                string CppWinRTName   = CppWinRTPackage.Replace(" ", ".");
                string CppWinRTExe    = Path.Combine(NugetFolder, CppWinRTName, "bin", "cppwinrt.exe");
                string CppWinRTFolder = Path.Combine(PluginDirectory, "Intermediate", CppWinRTName, MyModuleName);
                Directory.CreateDirectory(CppWinRTFolder);

                // search all downloaded packages for winmd files
                string[] WinMDFiles = Directory.GetFiles(NugetFolder, "*.winmd", SearchOption.AllDirectories);

                // all downloaded winmd file with WinSDK to be processed by cppwinrt.exe
                var WinMDFilesStringbuilder = new System.Text.StringBuilder();
                foreach (var winmd in WinMDFiles)
                {
                    WinMDFilesStringbuilder.Append(" -input \"");
                    WinMDFilesStringbuilder.Append(winmd);
                    WinMDFilesStringbuilder.Append("\"");
                }

                // generate winrt headers and add them into include paths
                var StartInfo = new System.Diagnostics.ProcessStartInfo(CppWinRTExe, string.Format("{0} -input \"{1}\" -output \"{2}\"", WinMDFilesStringbuilder, Target.WindowsPlatform.WindowsSdkVersion, CppWinRTFolder));
                StartInfo.UseShellExecute = false;
                StartInfo.CreateNoWindow  = true;
                var ExitCode = Utils.RunLocalProcessAndPrintfOutput(StartInfo);
                if (ExitCode < 0)
                {
                    throw new BuildException("Failed to get generate WinRT headers.  See log for details.");
                }

                PrivateIncludePaths.Add(CppWinRTFolder);
            }
            else
            {
                // fall back to default WinSDK headers if no winrt package in our list
                PrivateIncludePaths.Add(Path.Combine(Target.WindowsPlatform.WindowsSdkDir, "Include", Target.WindowsPlatform.WindowsSdkVersion, "cppwinrt"));
            }

            // WinRT lib for some job
            string QRPackage = InstalledPackages.FirstOrDefault(x => x.StartsWith("Microsoft.MixedReality.QR"));
            if (!string.IsNullOrEmpty(QRPackage))
            {
                string QRFolderName = QRPackage.Replace(" ", ".");

                // copying dll and winmd binaries to our local binaries folder
                // !!!!! please make sure that you use the path of file! Unreal can't do it for you !!!!!
                SafeCopy(Path.Combine(NugetFolder, QRFolderName, @"lib\uap10.0.18362\Microsoft.MixedReality.QR.winmd"),
                         Path.Combine(BinariesFolder, "Microsoft.MixedReality.QR.winmd"));

                SafeCopy(Path.Combine(NugetFolder, QRFolderName, string.Format(@"runtimes\win10-{0}\native\Microsoft.MixedReality.QR.dll", Target.WindowsPlatform.Architecture.ToString())),
                         Path.Combine(BinariesFolder, "Microsoft.MixedReality.QR.dll"));

                // also both both binaries must be in RuntimeDependencies, unless you get failures in Hololens platform
                RuntimeDependencies.Add(Path.Combine(BinariesFolder, "Microsoft.MixedReality.QR.dll"));
                RuntimeDependencies.Add(Path.Combine(BinariesFolder, "Microsoft.MixedReality.QR.winmd"));
            }

            if (Target.Platform == UnrealTargetPlatform.Win64)
            {
                // Microsoft.VCRTForwarders.140 is needed to run WinRT dlls in Win64 platforms
                string VCRTForwardersPackage = InstalledPackages.FirstOrDefault(x => x.StartsWith("Microsoft.VCRTForwarders.140"));
                if (!string.IsNullOrEmpty(VCRTForwardersPackage))
                {
                    string VCRTForwardersName = VCRTForwardersPackage.Replace(" ", ".");
                    foreach (var Dll in Directory.EnumerateFiles(Path.Combine(NugetFolder, VCRTForwardersName, "runtimes/win10-x64/native/release"), "*_app.dll"))
                    {
                        string newDll = Path.Combine(BinariesFolder, Path.GetFileName(Dll));
                        SafeCopy(Dll, newDll);
                        RuntimeDependencies.Add(newDll);
                    }
                }

                string RemotingPackage = InstalledPackages.FirstOrDefault(x => x.StartsWith("Microsoft.Holographic.Remoting.OpenXr"));
                if (!string.IsNullOrEmpty(RemotingPackage))
                {
                    string RemotingFolderName = RemotingPackage.Replace(" ", ".");

                    SafeCopy(Path.Combine(NugetFolder, RemotingFolderName, @"build\native\bin\x64\Desktop\Microsoft.Holographic.AppRemoting.OpenXr.dll"),
                             Path.Combine(BinariesFolder, "Microsoft.Holographic.AppRemoting.OpenXr.dll"));

                    SafeCopy(Path.Combine(NugetFolder, RemotingFolderName, @"build\native\bin\x64\Desktop\RemotingXR.json"),
                             Path.Combine(BinariesFolder, "RemotingXR.json"));

                    PrivateIncludePaths.Add(Path.Combine(NugetFolder, RemotingFolderName, @"build\native\include\openxr"));

                    RuntimeDependencies.Add(Path.Combine(BinariesFolder, "Microsoft.Holographic.AppRemoting.OpenXr.dll"));
                    RuntimeDependencies.Add(Path.Combine(BinariesFolder, "RemotingXR.json"));
                }
            }
        }
    }
Exemple #7
0
    public AkAudio(ReadOnlyTargetRules Target) : base(Target)
    {
        string ThirdPartyFolder = Path.Combine(ModuleDirectory, "../../ThirdParty");

        AkUEPlatformInstance = AkUEPlatform.GetAkUEPlatformInstance(Target, ThirdPartyFolder);
        PCHUsage             = PCHUsageMode.UseExplicitOrSharedPCHs;

        PrivateIncludePathModuleNames.AddRange(new[] { "Settings", "UMG", "TargetPlatform" });

        PublicDependencyModuleNames.AddRange(new[] { "UMG", "PhysX", "APEX" });

        PrivateDependencyModuleNames.AddRange(new[]
        {
            "Core",
            "CoreUObject",
            "Engine",
            "SlateCore",
            "NetworkReplayStreaming",
            "MovieScene",
            "MovieSceneTracks",
            "Projects",
            "Json",
            "Slate",
            "InputCore",
            "Projects"
        });

        if (Target.bBuildEditor)
        {
            PrivateDependencyModuleNames.AddRange(
                new string[]
            {
                "UnrealEd",
                "DesktopPlatform",
                "TargetPlatform"
            });

            foreach (var Platform in GetAvailablePlatforms(ModuleDirectory))
            {
                PublicDefinitions.Add("AK_PLATFORM_" + Platform.ToUpper());
            }
        }

        PrivateIncludePaths.Add("AkAudio/Private");
        PublicIncludePaths.Add(Path.Combine(ThirdPartyFolder, "include"));

        PublicDefinitions.Add("AK_UNREAL_MAX_CONCURRENT_IO=32");
        PublicDefinitions.Add("AK_UNREAL_IO_GRANULARITY=32768");
        if (Target.Configuration == UnrealTargetConfiguration.Shipping)
        {
            PublicDefinitions.Add("AK_OPTIMIZED");
        }

        if (Target.Configuration != UnrealTargetConfiguration.Shipping && AkUEPlatformInstance.SupportsCommunication)
        {
            AkLibs.Add("CommunicationCentral");
            PublicDefinitions.Add("AK_ENABLE_COMMUNICATION=1");
        }
        else
        {
            PublicDefinitions.Add("AK_ENABLE_COMMUNICATION=0");
        }

        if (AkUEPlatformInstance.SupportsAkAutobahn)
        {
            AkLibs.Add("AkAutobahn");
            PublicDefinitions.Add("AK_SUPPORT_WAAPI=1");
        }
        else
        {
            PublicDefinitions.Add("AK_SUPPORT_WAAPI=0");
        }

        if (AkUEPlatformInstance.SupportsOpus)
        {
            AkLibs.Add("AkOpusDecoder");
            PublicDefinitions.Add("AK_SUPPORT_OPUS=1");
        }
        else
        {
            PublicDefinitions.Add("AK_SUPPORT_OPUS=0");
        }

        if (AkUEPlatformInstance.SupportsDeviceMemory)
        {
            PublicDefinitions.Add("AK_SUPPORT_DEVICE_MEMORY=1");
        }
        else
        {
            PublicDefinitions.Add("AK_SUPPORT_DEVICE_MEMORY=0");
        }

        // Platform-specific dependencies
#if UE_4_24_OR_LATER
        PublicSystemLibraries.AddRange(AkUEPlatformInstance.GetPublicSystemLibraries());
#else
        PublicLibraryPaths.AddRange(AkUEPlatformInstance.GetPublicLibraryPaths());
        PublicAdditionalLibraries.AddRange(AkUEPlatformInstance.GetPublicSystemLibraries());
#endif
        AkLibs.AddRange(AkUEPlatformInstance.GetAdditionalWwiseLibs());
        PublicDefinitions.AddRange(AkUEPlatformInstance.GetPublicDefinitions());
        PublicDefinitions.Add(string.Format("AK_CONFIGURATION=\"{0}\"", AkUEPlatformInstance.akConfigurationDir));
        var AdditionalProperty = AkUEPlatformInstance.GetAdditionalPropertyForReceipt(ModuleDirectory);
        if (AdditionalProperty != null)
        {
            AdditionalPropertiesForReceipt.Add(AdditionalProperty.Item1, AdditionalProperty.Item2);
        }

        var Frameworks = AkUEPlatformInstance.GetPublicAdditionalFrameworks();
        foreach (var fw in Frameworks)
        {
#if UE_4_22_OR_LATER
            PublicAdditionalFrameworks.Add(new ModuleRules.Framework(fw));
#else
            PublicAdditionalFrameworks.Add(new UEBuildFramework(fw));
#endif
        }

        PublicAdditionalLibraries.AddRange(AkUEPlatformInstance.GetSanitizedAkLibList(AkLibs));
    }
Exemple #8
0
    public MicrosoftOpenXR(ReadOnlyTargetRules Target) : base(Target)
    {
        if (Target.Platform == UnrealTargetPlatform.Win64 || Target.Platform == UnrealTargetPlatform.HoloLens)
        {
            // these parameters mandatory for winrt support
            bEnableExceptions = true;
            bUseUnity         = false;
            CppStandard       = CppStandardVersion.Cpp17;
            PublicSystemLibraries.AddRange(new string[] { "shlwapi.lib", "runtimeobject.lib" });
        }

        PCHUsage             = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
        PrivatePCHHeaderFile = @"Private\OpenXRCommon.h";

        PrivateIncludePaths.AddRange(
            new string[] {
            // This private include path ensures our newer copy of the openxr headers take precedence over the engine's copy.
            "MicrosoftOpenXR/Private/External"
        }
            );


        PrivateDependencyModuleNames.AddRange(
            new string[]
        {
            "Core",
            "CoreUObject",
            "ApplicationCore",
            "Engine",
            "Slate",
            "SlateCore",
            "InputCore",
            "OpenXRHMD",
            "MicrosoftOpenXRRuntimeSettings",
            "HeadMountedDisplay",
            "AugmentedReality",
            "OpenXRAR",
            "RHI",
            "RenderCore",
            "Projects",
            "NuGetModule"
        }
            );

        PublicDependencyModuleNames.AddRange(
            new string[]
        {
            "NuGetModule"
        }
            );

        if (Target.bBuildEditor)
        {
            PrivateDependencyModuleNames.AddRange(
                new string[]
            {
                "UnrealEd"
            }
                );
        }

        PrivateIncludePathModuleNames.AddRange(
            new string[]
        {
            "HeadMountedDisplay",
            "NuGetModule"
        }
            );

        PublicIncludePathModuleNames.AddRange(
            new string[]
        {
            "HeadMountedDisplay",
            "NuGetModule"
        }
            );

        // DX-specific code for webcam texture processing
        if (Target.Platform == UnrealTargetPlatform.Win64 || Target.Platform == UnrealTargetPlatform.HoloLens)
        {
            PrivateDependencyModuleNames.AddRange(new string[] {
                "D3D11RHI",
                "D3D12RHI"
            });

            var EngineDir = Path.GetFullPath(Target.RelativeEnginePath);
            PrivateIncludePaths.AddRange(
                new string[] {
                Path.Combine(EngineDir, @"Source\Runtime\Windows\D3D11RHI\Private"),
                Path.Combine(EngineDir, @"Source\Runtime\Windows\D3D11RHI\Private\Windows"),
                Path.Combine(EngineDir, @"Source\Runtime\D3D12RHI\Private"),
                Path.Combine(EngineDir, @"Source\Runtime\D3D12RHI\Private\Windows")
            });

            AddEngineThirdPartyPrivateStaticDependencies(Target, "DX11");
            AddEngineThirdPartyPrivateStaticDependencies(Target, "DX12");
            AddEngineThirdPartyPrivateStaticDependencies(Target, "NVAPI");
            AddEngineThirdPartyPrivateStaticDependencies(Target, "AMD_AGS");
            AddEngineThirdPartyPrivateStaticDependencies(Target, "NVAftermath");
            AddEngineThirdPartyPrivateStaticDependencies(Target, "IntelMetricsDiscovery");
            AddEngineThirdPartyPrivateStaticDependencies(Target, "IntelExtensionsFramework");
        }
    }
Exemple #9
0
    public MicrosoftOpenXR(ReadOnlyTargetRules Target) : base(Target)
    {
        if (Target.Platform == UnrealTargetPlatform.Win64 || Target.Platform == UnrealTargetPlatform.HoloLens)
        {
            // these parameters mandatory for winrt support
            bEnableExceptions = true;
            bUseUnity         = false;
            CppStandard       = CppStandardVersion.Cpp17;
            PublicSystemLibraries.AddRange(new string[] { "shlwapi.lib", "runtimeobject.lib" });
        }

        PCHUsage             = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
        PrivatePCHHeaderFile = @"Private\OpenXRCommon.h";

        PrivateIncludePaths.AddRange(
            new string[] {
            // This private include path ensures our newer copy of the openxr headers take precedence over the engine's copy.
            "MicrosoftOpenXR/Private/External"
        }
            );


        PrivateDependencyModuleNames.AddRange(
            new string[]
        {
            "Core",
            "CoreUObject",
            "ApplicationCore",
            "Engine",
            "Slate",
            "SlateCore",
            "InputCore",
            "OpenXRHMD",
            "MicrosoftOpenXRRuntimeSettings",
            "HeadMountedDisplay",
            "AugmentedReality",
            "OpenXRAR",
            "RHI",
            "RenderCore",
            "Projects",
            "NuGetModule"
        }
            );

        PublicDependencyModuleNames.AddRange(
            new string[]
        {
            "NuGetModule"
        }
            );

        if (Target.bBuildEditor)
        {
            PrivateDependencyModuleNames.AddRange(
                new string[]
            {
                "UnrealEd"
            }
                );
        }

        PrivateIncludePathModuleNames.AddRange(
            new string[]
        {
            "HeadMountedDisplay",
            "NuGetModule"
        }
            );

        PublicIncludePathModuleNames.AddRange(
            new string[]
        {
            "HeadMountedDisplay",
            "NuGetModule"
        }
            );
    }