Пример #1
0
        public SteamAudio(ReadOnlyTargetRules Target) : base(Target)
        {
            PrivateIncludePaths.AddRange(
                new string[] {
                "SteamAudio/Private",
            }
                );

            PublicDependencyModuleNames.AddRange(
                new string[] {
                "Core",
                "CoreUObject",
                "Engine",
                "AudioMixer",
                "InputCore",
                "RenderCore",
                "RHI"
            }
                );

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

            PrivateDependencyModuleNames.AddRange(
                new string[] {
                "Core",
                "CoreUObject",
                "Engine",
                "InputCore",
                "Projects",
                "AudioMixer"
            }
                );

            if (Target.bBuildEditor == true)
            {
                PrivateDependencyModuleNames.Add("UnrealEd");
                PrivateDependencyModuleNames.Add("Landscape");
            }

            AddEngineThirdPartyPrivateStaticDependencies(Target, "libPhonon");
            switch (Target.Platform)
            {
            case UnrealTargetPlatform.Win32:
                PrivateDependencyModuleNames.Add("XAudio2");
                AddEngineThirdPartyPrivateStaticDependencies(Target, "DX11Audio");
                break;

            case UnrealTargetPlatform.Win64:
                PrivateDependencyModuleNames.Add("XAudio2");
                AddEngineThirdPartyPrivateStaticDependencies(Target, "DX11Audio");
                PublicDelayLoadDLLs.Add("GPUUtilities.dll");
                PublicDelayLoadDLLs.Add("tanrt64.dll");
                break;

            case UnrealTargetPlatform.Android:
                string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
                AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(PluginPath, "SteamAudio_APL.xml"));
                break;

            default:
                break;
            }
        }
Пример #2
0
        public DevToDev(ReadOnlyTargetRules Target) : base(Target)
        {
            PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
            var ModulePath = ModuleDirectory;

            if (Target.Platform == UnrealTargetPlatform.IOS)
            {
                PublicAdditionalFrameworks.Add(
                    new Framework(
                        "devtodev",
                        "../../ThirdParty/iOS/devtodev.embeddedframework.zip"
                        )
                    );
                PublicFrameworks.AddRange(
                    new string[] {
                    "UIKit",
                    "Foundation",
                    "AdSupport",
                    "StoreKit",
                    "CoreGraphics",
                    "Security",
                    "SystemConfiguration",
                    "UserNotifications"
                }
                    );

                PublicAdditionalLibraries.AddRange(
                    new string[] {
                    "z",
                    "c++"
                });
            }
            else if (Target.Platform == UnrealTargetPlatform.Android)
            {
                PrivateDependencyModuleNames.Add("Launch");
                PrivateIncludePaths.Add(Path.Combine(ModuleDirectory, "Private/Android"));
            }
            else
            {
                // throw new NotImplementedException("This target platform is not supported for devtodev SDK: " + Target.Platform.ToString());
            }

            PublicDependencyModuleNames.AddRange(
                new string[] {
                "Core",
                "CoreUObject",
                "Engine"
            }
                );

            PrivateIncludePaths.Add(Path.GetFullPath(Path.Combine(ModulePath, "Private")));
            PrivateIncludePaths.Add(Path.GetFullPath(Path.Combine(ModulePath, "Public")));
            PublicIncludePaths.Add(Path.GetFullPath(Path.Combine(ModulePath, "Public")));

            PrivateDependencyModuleNames.AddRange(
                new string[] {
                "Analytics",
                "AnalyticsBlueprintLibrary",
                "Engine"
            }
                );

            PublicIncludePathModuleNames.AddRange(
                new string[] {
                "Analytics",
                "AnalyticsBlueprintLibrary",
                "Engine"
            }
                );

            if (Target.Platform == UnrealTargetPlatform.Android)
            {
                AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(ModuleDirectory, "../DTDAnalytics_APL.xml"));
            }
        }
        public GoogleARCoreBase(ReadOnlyTargetRules Target) : base(Target)
        {
            PrivateIncludePaths.AddRange(
                new string[]
            {
                "GoogleARCoreBase/Private",
            }
                );

            PublicIncludePathModuleNames.Add("TargetPlatform");

            PublicDependencyModuleNames.AddRange(
                new string[]
            {
                "HeadMountedDisplay",
                "AugmentedReality",
            }
                );

            PrivateDependencyModuleNames.AddRange(
                new string[]
            {
                "Core",
                "CoreUObject",
                "Engine",
                "EngineSettings",
                "Slate",
                "SlateCore",
                "RHI",
                "RenderCore",
                "AndroidPermission",
                "GoogleARCoreRendering",
                "GoogleARCoreSDK",
                "OpenGL",
                "UElibPNG",
                "zlib"
            }
                );

            PrivateIncludePathModuleNames.AddRange(
                new string[]
            {
                "Settings"                         // For editor settings panel.
            }
                );

            if (Target.Platform == UnrealTargetPlatform.Android)
            {
                // Additional dependencies on android...
                PrivateDependencyModuleNames.Add("Launch");

                // Register Plugin Language
                AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(ModuleDirectory, "GoogleARCoreBase_APL.xml"));
            }

            if (Target.bBuildEditor)
            {
                string ExecName = "";
                if (Target.Platform == UnrealTargetPlatform.Win64)
                {
                    ExecName = "Windows/arcoreimg.exe";
                }
                else if (Target.Platform == UnrealTargetPlatform.Linux)
                {
                    ExecName = "Linux/arcoreimg";
                }
                else if (Target.Platform == UnrealTargetPlatform.Mac)
                {
                    ExecName = "Mac/ptdbtool_macos_lipobin";
                }

                if (ExecName.Length > 0)
                {
                    RuntimeDependencies.Add("$(EngineDir)/Plugins/Runtime/AR/Google/GoogleARCore/Binaries/ThirdParty/Google/ARCoreImg/" + ExecName);
                }
            }

            bFasterWithoutUnity = false;
        }
Пример #4
0
        public Everyplay(TargetInfo Target)
        {
            PublicIncludePaths.AddRange(
                new string[] {
                // ... add public include paths required here ...
            }
                );

            PrivateIncludePaths.AddRange(
                new string[] {
                "Developer/Everyplay/Private",
                // ... add other private include paths required here ...
            }
                );

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

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

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

            PrivateIncludePathModuleNames.AddRange(
                new string[] {
                "Settings",
                "Launch",
            }
                );


            if (Target.Platform == UnrealTargetPlatform.IOS)
            {
                PublicFrameworks.AddRange(
                    new string[]
                {
                }
                    );
            }
            else if (Target.Platform == UnrealTargetPlatform.Android)
            {
                string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, BuildConfiguration.RelativeEnginePath);
                AdditionalPropertiesForReceipt.Add(new ReceiptProperty("AndroidPlugin", Path.Combine(PluginPath, "Everyplay_APL.xml")));
            }
        }
Пример #5
0
        public SnapdragonVRHMD(ReadOnlyTargetRules Target) : base(Target)
        {
            //Debug.Print("Build the SnapdragonVRHMD Plugin");
            var EngineDir = Path.GetFullPath(Target.RelativeEnginePath);

            var rendererPrivatePath  = Path.Combine(EngineDir, @"Source/Runtime/Renderer/Private");
            var corePrivatePath      = Path.Combine(EngineDir, "Source/Runtime/Core/Private");
            var launchPrivatePath    = Path.Combine(EngineDir, "Source/Runtime/Launch/Private");
            var openglDrvPrivatePath = Path.Combine(EngineDir, @"Source/Runtime/OpenGLDrv/Private");
            var openglPath           = Path.Combine(EngineDir, @"Source\ThirdParty\OpenGL");

            PrivateIncludePaths.AddRange(
                new string[] {
                "SnapdragonVRHMD/Private",
                rendererPrivatePath,
                corePrivatePath,
                openglDrvPrivatePath,
                openglPath
                //"../../../../../Source/Runtime/Renderer/Private",
                //"../../../../../Source/Runtime/Core/Private"
                // ... add other private include paths required here ...
            }
                );
            PublicIncludePaths.AddRange(
                new string[] {
                "SnapdragonVRHMD/Public",
                // ... add public include paths required here ...
            }
                );
            PrivateDependencyModuleNames.AddRange(
                new string[]
            {
                "Core",
                "CoreUObject",
                "Engine",
                "InputCore",
                "RHI",
                "RenderCore",
                "Renderer",
                "ShaderCore",
                "HeadMountedDisplay",
                "OpenGLDrv",
                "Slate",
                "SlateCore",
                "LibSvrApi",
                "NoloVR"
            }
                );
            PrivateIncludePathModuleNames.AddRange(new string[]
            {
                "NoloVR"
            });
            if (Target.Platform == UnrealTargetPlatform.Android)
            {
                PrivateDependencyModuleNames.Add("Launch");
            }
            AddEngineThirdPartyPrivateStaticDependencies(Target, "OpenGL");
            // PrivateIncludePaths.AddRange(
            //  new string[] {
            //         openglDrvPrivatePath
            //      //"../../../../../Source/Runtime/OpenGLDrv/Private",
            //      // ... add other private include paths required here ...
            //      }
            //  );
            if (Target.Platform == UnrealTargetPlatform.Android)
            {
                //PrivateDependencyModuleNames.AddRange(new string[] { "LibSvrApi" });
                string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
                AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(PluginPath, "SnapdragonVRHMD_APL.xml"));
            }
        }
Пример #6
0
    public Noesis(ReadOnlyTargetRules Target) : base(Target)
    {
        Type = ModuleType.External;

        string NoesisBasePath    = ModuleDirectory + "/NoesisSDK/";
        string NoesisIncludePath = NoesisBasePath + "Include/";
        string NoesisInteractivityIncludePath = NoesisBasePath + "Src/Packages/App/Interactivity/Include/";

        PublicIncludePaths.Add(ModuleDirectory);
        PublicIncludePaths.Add(NoesisIncludePath);
        PublicIncludePaths.Add(NoesisInteractivityIncludePath);

        // Let's try to make sure the right version of the SDK is in the right place.
        const string RequiredRevision    = "(r7619)";
        const string RequiredVersionName = "2.2.0b5";

        if (!Directory.Exists(NoesisBasePath))
        {
            throw new BuildException("Could not find NoesisGUI SDK in " + NoesisBasePath + ". Minimum required version is " + RequiredVersionName);
        }

        if (!Directory.Exists(NoesisBasePath + "Bin"))
        {
            throw new BuildException("Could not find NoesisGUI SDK Bin directory in " + NoesisBasePath + "Bin. Minimum required version is " + RequiredVersionName);
        }

        if (!Directory.Exists(NoesisBasePath + "Include"))
        {
            throw new BuildException("Could not find NoesisGUI SDK Include directory in " + NoesisBasePath + "Include. Minimum required version is " + RequiredVersionName);
        }

        if (!Directory.Exists(NoesisBasePath + "Lib"))
        {
            throw new BuildException("Could not find NoesisGUI SDK Lib directory in " + NoesisBasePath + "Lib. Minimum required version is " + RequiredVersionName);
        }

        string NoesisSdkVersionInfo;

        try
        {
            NoesisSdkVersionInfo = File.ReadAllText(NoesisBasePath + "version.txt");
        }
        catch (Exception)
        {
            throw new BuildException("Could not find NoesisGUI SDK version.txt in " + NoesisBasePath + "version.txt. Minimum required version is " + RequiredVersionName);
        }

        string[] SplitVersion = NoesisSdkVersionInfo.Split(' ');
        if (String.Compare(SplitVersion[SplitVersion.Length - 1], RequiredRevision) < 0)
        {
            throw new BuildException("Wrong version of the NoesisGUI SDK installed in " + NoesisBasePath + ". Minimum required version is " + RequiredVersionName);
        }

        PublicSystemIncludePaths.Add(NoesisIncludePath);

        if (Target.Platform == UnrealTargetPlatform.Win64)
        {
            string NoesisLibPath = NoesisBasePath + "Lib/windows_x86_64/";
            PublicLibraryPaths.Add(NoesisLibPath);
            PublicAdditionalLibraries.Add("Noesis.lib");
            PublicFrameworks.Add("CoreText");

            string BaseTargetPath = "";
            if (Target.LinkType == TargetLinkType.Monolithic)
            {
                if (Target.ProjectFile != null)
                {
                    BaseTargetPath = DirectoryReference.FromFile(Target.ProjectFile).ToString();
                }
            }
            else
            {
                BaseTargetPath = Target.RelativeEnginePath;
            }

            string NoesisDllPath       = "/NoesisSDK/Bin/windows_x86_64/Noesis.dll";
            string NoesisDllTargetPath = "/Binaries/Win64/Noesis.dll";

            if (Target.LinkType == TargetLinkType.Monolithic)
            {
                RuntimeDependencies.Add("$(ProjectDir)" + NoesisDllTargetPath);
            }
            else
            {
                RuntimeDependencies.Add("$(EngineDir)" + NoesisDllTargetPath);
            }

            if (BaseTargetPath != "")
            {
                try
                {
                    if (!System.IO.Directory.Exists(BaseTargetPath + "/Binaries/Win64"))
                    {
                        System.IO.Directory.CreateDirectory(BaseTargetPath + "/Binaries/Win64");
                    }
                    System.IO.File.Copy(ModuleDirectory + NoesisDllPath, BaseTargetPath + NoesisDllTargetPath, true);
                }
                catch (IOException Exception)
                {
                    if (Exception.HResult != -2147024864)                     // 0x80070020: The process cannot access the file ... because it is being used by another process.
                    {
                        throw;
                    }
                }
            }
        }
        else if (Target.Platform == UnrealTargetPlatform.Mac)
        {
            string NoesisLibPath = NoesisBasePath + "Bin/osx/";
            PublicLibraryPaths.Add(NoesisLibPath);
            PublicAdditionalLibraries.Add(NoesisLibPath + "Noesis.dylib");

            string NoesisDylibPath = "/NoesisSDK/Bin/osx/Noesis.dylib";
            RuntimeDependencies.Add(ModuleDirectory + NoesisDylibPath);
        }
        else if (Target.Platform == UnrealTargetPlatform.IOS)
        {
            string NoesisLibPath = NoesisBasePath + "Lib/ios/";
            PublicLibraryPaths.Add(NoesisLibPath);
            PublicAdditionalLibraries.Add("Noesis");

            if (Target.Version.MinorVersion <= 21)
            {
                PublicAdditionalShadowFiles.Add(Path.Combine(NoesisLibPath, "libNoesis.a"));
            }
        }
        else if (Target.Platform == UnrealTargetPlatform.Android)
        {
            string NoesisLibPath = NoesisBasePath + "Bin/android_arm/";
            PublicLibraryPaths.Add(NoesisLibPath);
            string NoesisLib64Path = NoesisBasePath + "Bin/android_arm64/";
            PublicLibraryPaths.Add(NoesisLib64Path);
            PublicAdditionalLibraries.Add("Noesis");

            string NoesisAplPath = "/Noesis_APL.xml";
            AdditionalPropertiesForReceipt.Add("AndroidPlugin", ModuleDirectory + NoesisAplPath);
        }
        else if (Target.Platform == UnrealTargetPlatform.PS4)
        {
            string NoesisLibPath = NoesisBasePath + "Lib/ps4/";
            PublicAdditionalLibraries.Add(NoesisLibPath + "Noesis.a");
        }
        else if (Target.Platform == UnrealTargetPlatform.XboxOne)
        {
            string NoesisLibPath = NoesisBasePath + "Bin/xbox_one/";
            PublicLibraryPaths.Add(NoesisLibPath);
            PublicAdditionalLibraries.Add("Noesis.lib");
        }
        else if (Target.Platform == UnrealTargetPlatform.HTML5)
        {
            string NoesisLibPath = NoesisBasePath + "Bin/wasm/";
            PublicAdditionalLibraries.Add(NoesisLibPath + "Noesis.bc");
        }
    }
Пример #7
0
    public IJKPlayerUE(ReadOnlyTargetRules Target) : base(Target)
    {
        PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
        string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);

        PublicIncludePaths.AddRange(
            new string[] {
            //"IJKPlayerUE/Public",
            Path.GetFullPath(Path.Combine(ModuleDirectory, "Public"))
        }
            );


        PrivateIncludePaths.AddRange(
            new string[] {
            "IJKPlayerUE/Private",
            // ... add other private include paths required here ...
        }
            );


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


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


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

        if (Target.Platform == UnrealTargetPlatform.Android)
        {
            PrivateDependencyModuleNames.AddRange(new string[] { "Launch" });

            string ArchDir = "armeabi-v7a";

            string LibDir = Path.GetFullPath(Path.Combine(ModuleDirectory, "../ThirdParty/IJKPlayerUELibrary/IJKPlayerLib/Android"));

            string LibPath = Path.Combine(LibDir, ArchDir);
            System.Console.WriteLine("--------------Android LibPath = " + LibPath);
            PublicSystemLibraryPaths.Add(LibPath);

            AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(PluginPath, "IJKPlayerUE_APL.xml"));
        }
    }
Пример #8
0
        public OculusHMD(ReadOnlyTargetRules Target) : base(Target)
        {
            PrivateIncludePaths.AddRange(
                new string[] {
                // Relative to Engine\Plugins\Runtime\Oculus\OculusVR\Source
                "../../../../../Source/Runtime/Renderer/Private",
                "../../../../../Source/Runtime/OpenGLDrv/Private",
                "../../../../../Source/Runtime/VulkanRHI/Private",
                "../../../../../Source/Runtime/Engine/Classes/Components",
                "../../../../../Source/Runtime/Engine/Classes/Kismet",
            });

            PublicIncludePathModuleNames.AddRange(
                new string[] {
                "Launch",
                "ProceduralMeshComponent",
            });

            if (Target.Platform == UnrealTargetPlatform.Win32 || Target.Platform == UnrealTargetPlatform.Win64)
            {
                PrivateIncludePaths.Add("../../../../../Source/Runtime/VulkanRHI/Private/Windows");
            }
            else
            {
                PrivateIncludePaths.Add("../../../../../Source/Runtime/VulkanRHI/Private/" + Target.Platform);
            }

            PrivateDependencyModuleNames.AddRange(
                new string[]
            {
                "Core",
                "CoreUObject",
                "Engine",
                "InputCore",
                "RHI",
                "RenderCore",
                "Renderer",
                "Slate",
                "SlateCore",
                "ImageWrapper",
                "MediaAssets",
                "Analytics",
                "UtilityShaders",
                "OpenGLDrv",
                "VulkanRHI",
                "OVRPlugin",
                "ProceduralMeshComponent",
                "Projects",
            });

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

            if (Target.bBuildEditor == true)
            {
                PrivateDependencyModuleNames.Add("UnrealEd");
            }

            AddEngineThirdPartyPrivateStaticDependencies(Target, "OpenGL");

            if (Target.Platform == UnrealTargetPlatform.Win32 || Target.Platform == UnrealTargetPlatform.Win64)
            {
                // D3D
                {
                    PrivateDependencyModuleNames.AddRange(
                        new string[]
                    {
                        "D3D11RHI",
                        "D3D12RHI",
                    });

                    PrivateIncludePaths.AddRange(
                        new string[]
                    {
                        "OculusMR/Public",
                        "../../../../../Source/Runtime/Windows/D3D11RHI/Private",
                        "../../../../../Source/Runtime/Windows/D3D11RHI/Private/Windows",
                        "../../../../../Source/Runtime/D3D12RHI/Private",
                        "../../../../../Source/Runtime/D3D12RHI/Private/Windows",
                    });

                    AddEngineThirdPartyPrivateStaticDependencies(Target, "DX11");
                    AddEngineThirdPartyPrivateStaticDependencies(Target, "DX12");
                    AddEngineThirdPartyPrivateStaticDependencies(Target, "NVAPI");
                    AddEngineThirdPartyPrivateStaticDependencies(Target, "DX11Audio");
                    AddEngineThirdPartyPrivateStaticDependencies(Target, "DirectSound");
                    AddEngineThirdPartyPrivateStaticDependencies(Target, "NVAftermath");
                    AddEngineThirdPartyPrivateStaticDependencies(Target, "IntelMetricsDiscovery");
                }

                // Vulkan
                {
                    AddEngineThirdPartyPrivateStaticDependencies(Target, "Vulkan");
                }

                // OVRPlugin
                {
                    PublicDelayLoadDLLs.Add("OVRPlugin.dll");
                    RuntimeDependencies.Add("$(EngineDir)/Binaries/ThirdParty/Oculus/OVRPlugin/OVRPlugin/" + Target.Platform.ToString() + "/OVRPlugin.dll");
                }
            }
            else if (Target.Platform == UnrealTargetPlatform.Android)
            {
                // We are not currently supporting Mixed Reality on Android, but we need to include IOculusMRModule.h for OCULUS_MR_SUPPORTED_PLATFORMS definition
                PrivateIncludePaths.AddRange(
                    new string[]
                {
                    "OculusMR/Public"
                });

                // Vulkan
                {
                    AddEngineThirdPartyPrivateStaticDependencies(Target, "Vulkan");
                }

                // AndroidPlugin
                {
                    string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
                    AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(PluginPath, "GearVR_APL.xml"));
                }
            }
        }
Пример #9
0
    public ARX(ReadOnlyTargetRules Target) : base(Target)
    {
        PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;

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


        PrivateIncludePaths.AddRange(
            new string[] {
            "ARX/Private",
            // ... add other private include paths required here ...
        }
            );


        PublicDependencyModuleNames.AddRange(
            new string[]
        {
            "Core",

            // ... add other public dependencies that you statically link with here ...
        }
            );


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


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

        string LibraryPath = Path.Combine(ThirdPartyPath, "lib", Target.Platform.ToString(), Target.Architecture);
        string IncludePath = Path.Combine(ThirdPartyPath, "include", Target.Platform.ToString(), Target.Architecture);

        Console.WriteLine("includepath: " + IncludePath);
        if (Target.Platform == UnrealTargetPlatform.Linux)
        {
            PublicIncludePaths.AddRange(new string[] {
                Path.Combine(IncludePath),
            });
            PublicAdditionalLibraries.AddRange(new string[] {
                Path.Combine(LibraryPath, "ARX"),
            });

            RuntimeDependencies.Add(Path.Combine(LibraryPath, "libARX.so"));
        }
        else if (Target.Platform == UnrealTargetPlatform.Win64 || Target.Platform == UnrealTargetPlatform.Win32)
        {
            PublicIncludePaths.AddRange(new string[] {
                Path.Combine(IncludePath),
            });

            RuntimeDependencies.Add(Path.Combine(LibraryPath, "ARX.dll"));
            PublicDelayLoadDLLs.Add("ARX.dll");
            Console.WriteLine("Attempting to include lib: " + Path.Combine(LibraryPath, "ARX.lib"));
            PublicAdditionalLibraries.AddRange(new string[] {
                Path.Combine(LibraryPath, "AR.lib"),
                Path.Combine(LibraryPath, "AR2.lib"),
                Path.Combine(LibraryPath, "ARG.lib"),
                Path.Combine(LibraryPath, "ARUtil.lib"),
                Path.Combine(LibraryPath, "ARVideo.lib"),
                Path.Combine(LibraryPath, "OCVT.lib"),
                Path.Combine(LibraryPath, "Eden.lib"),
                Path.Combine(LibraryPath, "libjpeg.lib"),
                Path.Combine(LibraryPath, "zlibstatic.lib"),
                Path.Combine(LibraryPath, "KPM.lib"),
                Path.Combine(LibraryPath, "pthreadVC2static.lib")
            });
        }
        else if (Target.Platform == UnrealTargetPlatform.Android)
        {
            string[] archs = new string[] { /*"arm64-v8a",*/ "armeabi-v7a" /*, "x86","x86_64"*/ };

            PublicIncludePaths.Add(Path.Combine(ThirdPartyPath, "include"));
            foreach (string arch in archs)
            {
                // Target.Architecture does not seem to work in Android
                IncludePath = Path.Combine(ThirdPartyPath, "include", Target.Platform.ToString(), arch);
                LibraryPath = Path.Combine(ThirdPartyPath, "lib", Target.Platform.ToString(), arch);

                PublicIncludePaths.Add(IncludePath);
                PublicLibraryPaths.Add(LibraryPath);

                RuntimeDependencies.Add(Path.Combine(LibraryPath, "libARX.so"));
                PublicAdditionalLibraries.AddRange(new string[] {
                    Path.Combine("ARX")
                });
            }
            DynamicallyLoadedModuleNames.Add("ARX");
            // this is the preferred way to include shared libraries to APK.
            string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
            AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(PluginPath, "ARX_APL.xml"));
        }
    }
Пример #10
0
    public NibiruHMD(ReadOnlyTargetRules Target) : base(Target)
    {
        PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;

        //Unreal engine install path
        string ue4_include_path  = Path.GetFullPath(Path.Combine(Target.RelativeEnginePath, "Source/Runtime/Renderer/Private"));
        string ue4_include_path2 = Path.GetFullPath(Path.Combine(Target.RelativeEnginePath, "Source/Runtime/Core/Private"));
        string ue4_include_path3 = Path.GetFullPath(Path.Combine(Target.RelativeEnginePath, "Source/Runtime/Launch/Private"));
        string ue4_include_path4 = Path.GetFullPath(Path.Combine(Target.RelativeEnginePath, "Source/Runtime/OpenGLDrv/Private"));
        string ue4_include_path5 = Path.GetFullPath(Path.Combine(Target.RelativeEnginePath, "Source/Runtime/ApplicationCore/Private"));

        PrivateIncludePaths.AddRange(
            new string[] {
            // ... add other private include paths required here ...
            "NibiruHMD/Private",
            ue4_include_path,
            ue4_include_path2,
            ue4_include_path3,
            ue4_include_path4,
            ue4_include_path5
        }
            );

        PrivateDependencyModuleNames.AddRange(
            new string[]
        {
            "Core",
            "CoreUObject",
            "Engine",
            "RHI",
            "RenderCore",
            "Renderer",
            "HeadMountedDisplay",
            "InputCore"
            // ... add private dependencies that you statically link with here ...
        }
            );

        if (Target.Platform == UnrealTargetPlatform.Android)
        {
            PrivateDependencyModuleNames.Add("Launch");
        }

        PrivateDependencyModuleNames.Add("OpenGLDrv");
        AddEngineThirdPartyPrivateStaticDependencies(Target, "OpenGL");

        if (Target.bBuildEditor == true)
        {
            System.Console.WriteLine("RUN-------is BuildEditor");
            PrivateDependencyModuleNames.AddRange(
                new string[]
            {
                "UnrealEd"
            });
        }

        if (Target.Platform == UnrealTargetPlatform.Android)
        {
            PrivateDependencyModuleNames.AddRange(new string[] {
                "NibiruVR"
            });

            string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
            AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(PluginPath, "NibiruVRHMD_APL.xml"));
        }
    }
Пример #11
0
    public bool LoadFFmpeg(ReadOnlyTargetRules Target)
    {
        bool isLibrarySupported = false;

        if ((Target.Platform == UnrealTargetPlatform.Win64) || (Target.Platform == UnrealTargetPlatform.Win32))
        {
            isLibrarySupported = true;

            string PlatformString = (Target.Platform == UnrealTargetPlatform.Win64) ? "x64" : "Win32";
            string LibrariesPath  = Path.Combine(Path.Combine(Path.Combine(ThirdPartyPath, "ffmpeg", "lib"), "vs"), PlatformString);


            System.Console.WriteLine("... LibrariesPath -> " + LibrariesPath);

            PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "avcodec.lib"));
            PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "avdevice.lib"));
            PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "avfilter.lib"));
            PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "avformat.lib"));
            PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "avutil.lib"));
            PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "swresample.lib"));
            PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "swscale.lib"));

            string[] dlls = { "avcodec-58.dll", "avdevice-58.dll", "avfilter-7.dll", "avformat-58.dll", "avutil-56.dll", "swresample-3.dll", "swscale-5.dll", "postproc-55.dll" };

            string BinariesPath = Path.Combine(Path.Combine(Path.Combine(ThirdPartyPath, "ffmpeg", "bin"), "vs"), PlatformString);
            foreach (string dll in dlls)
            {
                PublicDelayLoadDLLs.Add(dll);
                //CopyToBinaries(Path.Combine(BinariesPath, dll), Target);
                RuntimeDependencies.Add(Path.Combine(BinariesPath, dll), StagedFileType.NonUFS);
            }
        }
        else if (Target.Platform == UnrealTargetPlatform.Mac)
        {
            isLibrarySupported = true;
            //string LibrariesPath = Path.Combine(Path.Combine(ThirdPartyPath, "ffmpeg", "lib"), "osx");
            string LibrariesPath = "/usr/local/lib";
            System.Console.WriteLine("... LibrariesPath -> " + LibrariesPath);

            string[] libs = { "libavcodec.58.dylib", "libavdevice.58.dylib", "libavfilter.7.dylib", "libavformat.58.dylib", "libavutil.56.dylib", "libswresample.3.dylib", "libswscale.5.dylib", "libpostproc.55.dylib" };
            foreach (string lib in libs)
            {
                PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, lib));
                //PublicDelayLoadDLLs.Add(Path.Combine(LibrariesPath, lib));
                //CopyToBinaries(Path.Combine(LibrariesPath, lib), Target);
                //RuntimeDependencies.Add(Path.Combine(LibrariesPath, lib), StagedFileType.NonUFS);
            }
        }
        else if (Target.Platform == UnrealTargetPlatform.Android)
        {
            isLibrarySupported = true;

            string   LibrariesPath = Path.Combine(Path.Combine(ThirdPartyPath, "ffmpeg", "lib"), "android");
            string[] Platforms     = { "armeabi-v7a", "arm64-v8a", "x86", "x86_64" };


            string[] libs = { "libavcodec.so", "libavdevice.so", "libavfilter.so", "libavformat.so", "libavutil.so", "libswresample.so", "libswscale.so" };

            System.Console.WriteLine("Architecture: " + Target);


            foreach (string platform in Platforms)
            {
                foreach (string lib in libs)
                {
                    PublicAdditionalLibraries.Add(Path.Combine(Path.Combine(LibrariesPath, platform), lib));
                }
            }

            string finalPath = Path.Combine(ModulePath, "FFMPEGMedia_APL.xml");
            System.Console.WriteLine("... APL Path -> " + finalPath);
            AdditionalPropertiesForReceipt.Add(new ReceiptProperty("AndroidPlugin", finalPath));
        }

        if (isLibrarySupported)
        {
            // Include path
            PublicIncludePaths.Add(Path.Combine(ThirdPartyPath, "ffmpeg", "include"));
        }


        return(isLibrarySupported);
    }
    public AdMob(ReadOnlyTargetRules Target) : base(Target)
    {
        string strEngineDir     = GetEngineDirectory();
        string strEngineVersion = ReadEngineVersion(strEngineDir);

        System.Console.WriteLine("version:" + strEngineVersion);

        /*Definitions.Add( string.Format("ENGINE_VERSION={0}", strEngineVersion) );
         * Definitions.Add(string.Format("ENGINE_MAJOR_VERSION={0}", EngineMajorVersion));
         * Definitions.Add(string.Format("ENGINE_MINOR_VERSION={0}", EngineMinorVersion));
         * Definitions.Add(string.Format("ENGINE_PATCH_VERSION={0}", EnginePatchVersion));*/

        PublicIncludePaths.AddRange(
            new string[] {
            "AdMob/Public"

            // ... add public include paths required here ...
        }
            );

        PublicDependencyModuleNames.AddRange(
            new string[]
        {
            "Core",

            // ... add other public dependencies that you statically link with here ...
        }
            );


        PrivateDependencyModuleNames.AddRange(
            new string[]
        {
            "CoreUObject",
            "Engine",
            "Slate",
            "SlateCore",
            "AdCollection",

            // ... add private dependencies that you statically link with here ...
        }
            );


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



        if (Target.Platform == UnrealTargetPlatform.IOS)
        {
            PrivateIncludePaths.Add("Private/IOS");

            PublicAdditionalFrameworks.Add(
                new UEBuildFramework(
                    "GoogleMobileAds",                                                                                                  // Framework name
                    "../ThirdParty/ThirdPartyFrameworks/GoogleMobileAds.embeddedframework.zip")
                );

            PublicAdditionalFrameworks.Add(
                new UEBuildFramework(
                    "AdsUtil",                                                                                                  // Framework name
                    "../ThirdParty/ThirdPartyFrameworks/AdsUtil.embeddedframework.zip")
                );


            PublicFrameworks.AddRange(
                new string[]
            {
                "EventKit",
                "MediaPlayer",
                "AdSupport",
                "CoreLocation",
                "SystemConfiguration",
                "MessageUI",
                "Security",
                "CoreTelephony"
            }
                );
        }
        else if (Target.Platform == UnrealTargetPlatform.Android)
        {
            PrivateIncludePaths.Add("Private/Android");
            PrivateDependencyModuleNames.AddRange(
                new string[] {
                "Launch",
            }
                );

            string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);

            if (EngineMinorVersion == "18")
            {
                AdditionalPropertiesForReceipt.Add(new ReceiptProperty("AndroidPlugin", Path.Combine(PluginPath, "AdMob418_UPL.xml")));
            }
            else
            {
                AdditionalPropertiesForReceipt.Add(new ReceiptProperty("AndroidPlugin", Path.Combine(PluginPath, "AdMob_UPL.xml")));
            }
        }
        else if (Target.Platform == UnrealTargetPlatform.Win32 || Target.Platform == UnrealTargetPlatform.Win64)
        {
            PrivateIncludePaths.Add("Private/Windows");
        }
        else if (Target.Platform == UnrealTargetPlatform.Mac)
        {
            PrivateIncludePaths.Add("Private/Mac");
        }
        else
        {
            PrecompileForTargets = PrecompileTargetsType.None;
        }
    }
Пример #13
0
    public Voice(ReadOnlyTargetRules Target) : base(Target)
    {
        PublicDefinitions.Add("VOICE_PACKAGE=1");

        bool bDontNeedCapture = (Target.Type == TargetType.Server);

        if (bDontNeedCapture)
        {
            PublicDefinitions.Add("VOICE_MODULE_WITH_CAPTURE=0");
        }
        else
        {
            PublicDefinitions.Add("VOICE_MODULE_WITH_CAPTURE=1");
        }

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

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

        PrivateIncludePaths.AddRange(
            new string[] {
            "Runtime/Online/Voice/Private",
        }
            );

        PrivateDependencyModuleNames.AddRange(
            new string[] {
            "Core",
            "AudioMixer",
            "SignalProcessing"
        }
            );

        if (Target.Platform.IsInGroup(UnrealPlatformGroup.Windows))
        {
            AddEngineThirdPartyPrivateStaticDependencies(Target, "DirectSound");
        }
        else if (Target.Platform == UnrealTargetPlatform.Mac)
        {
            PublicFrameworks.AddRange(new string[] { "CoreAudio", "AudioUnit", "AudioToolbox" });
        }
        else if (Target.IsInPlatformGroup(UnrealPlatformGroup.Linux) && !bDontNeedCapture)
        {
            AddEngineThirdPartyPrivateStaticDependencies(Target, "SDL2");
        }

        AddEngineThirdPartyPrivateStaticDependencies(Target, "libOpus");

        if (Target.Platform == UnrealTargetPlatform.Android)
        {
            string ModulePath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
            AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(ModulePath, "AndroidVoiceImpl_UPL.xml"));
        }
    }
Пример #14
0
    public FireBase(ReadOnlyTargetRules Target) : base(Target)
    {
        PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;

        string strEngineDir     = GetEngineDirectory();
        string strEngineVersion = ReadEngineVersion(strEngineDir);

        System.Console.WriteLine("version:" + strEngineVersion);



        PublicDependencyModuleNames.AddRange(
            new string[]
        {
            "Core",

            // ... add other public dependencies that you statically link with here ...
        }
            );


        PrivateDependencyModuleNames.AddRange(
            new string[]
        {
            "Core",
            "CoreUObject",
            "Engine",
            "Slate",
            "SlateCore",

            // ... add private dependencies that you statically link with here ...
        }
            );


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

        if (Target.Platform == UnrealTargetPlatform.Android)
        {
            PrivateIncludePaths.Add("FireBase/ThirdParty/FireBaseCpp/include");

            PrivateDependencyModuleNames.AddRange(
                new string[] {
                "Launch",
            }
                );

            PublicLibraryPaths.Add(Path.GetFullPath(Path.Combine(ModulePath, "ThirdParty/FireBaseCpp/libs/android/armeabi")));
            PublicLibraryPaths.Add(Path.GetFullPath(Path.Combine(ModulePath, "ThirdParty/FireBaseCpp/libs/android/armeabi-v7a")));
            //PublicLibraryPaths.Add(Path.GetFullPath(Path.Combine(ModulePath, "ThirdParty/FireBaseCpp/libs/android/arm64-v8a")));

            string[] StaticLibrariesAndroid = new string[] {
                "app",
                "database",
            };

            foreach (string Lib in StaticLibrariesAndroid)
            {
                PublicAdditionalLibraries.Add(Lib);
            }

            string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
            AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(PluginPath, "FireBase_UPL.xml"));
        }
        else if (Target.Platform == UnrealTargetPlatform.Win32 || Target.Platform == UnrealTargetPlatform.Win64)
        {
            PrivateIncludePaths.Add("FireBase/Private/Common");
            PrivateIncludePaths.Add("FireBase/Private/Windows");
            PrivateIncludePaths.Add("FireBase/ThirdParty/FireBaseCpp/include");

            PublicLibraryPaths.Add(Path.GetFullPath(Path.Combine(ModulePath, "ThirdParty/FireBaseCpp/libs/windows")));
        }

        /*else if(Target.Platform == UnrealTargetPlatform.UWP64 || Target.Platform == UnrealTargetPlatform.UWP32)
         * {
         *  PrivateIncludePaths.Add("FireBase/Private/Common");
         *  PrivateIncludePaths.Add("FireBase/Private/Windows");
         *  PrivateIncludePaths.Add("FireBase/ThirdParty/FireBaseCpp/include");
         *
         *  PublicLibraryPaths.Add(Path.GetFullPath(Path.Combine(ModulePath, "ThirdParty/FireBaseCpp/libs/windows")));
         * }*/
        else if (Target.Platform == UnrealTargetPlatform.Linux)
        {
            PrivateIncludePaths.Add("FireBase/Private/Common");
            PrivateIncludePaths.Add("FireBase/Private/Windows");
            PrivateIncludePaths.Add("FireBase/ThirdParty/FireBaseCpp/include");
        }
        else if (Target.Platform == UnrealTargetPlatform.IOS)
        {
            PrivateIncludePaths.Add("FireBase/Private/Common");
            PrivateIncludePaths.Add("FireBase/Private/Windows");
            PrivateIncludePaths.Add("FireBase/ThirdParty/FireBaseCpp/include");
        }
    }
Пример #15
0
    public OnlineSubsystemGoogle(ReadOnlyTargetRules Target) : base(Target)
    {
        Definitions.Add("ONLINESUBSYSTEMGOOGLE_PACKAGE=1");
        PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;

        PrivateIncludePaths.Add("Private");

        PrivateDependencyModuleNames.AddRange(
            new string[] {
            "Core",
            "CoreUObject",
            "HTTP",
            "ImageCore",
            "Json",
            "Sockets",
            "OnlineSubsystem",
        }
            );

        if (Target.Platform == UnrealTargetPlatform.IOS)
        {
            Definitions.Add("WITH_GOOGLE=1");
            Definitions.Add("UE4_GOOGLE_VER=4.0.1");
            PrivateIncludePaths.Add("Private/IOS");

            // These are iOS system libraries that Google depends on
            PublicFrameworks.AddRange(
                new string[] {
                "SafariServices",
                "SystemConfiguration"
            });

            PublicAdditionalFrameworks.Add(
                new UEBuildFramework(
                    "GoogleSignIn",
                    "ThirdParty/IOS/GoogleSignInSDK/GoogleSignIn.embeddedframework.zip",
                    "GoogleSignIn.bundle"
                    )
                );

            PublicAdditionalFrameworks.Add(
                new UEBuildFramework(
                    "GoogleAppUtilities",
                    "ThirdParty/IOS/GoogleSignInSDK/GoogleAppUtilities.embeddedframework.zip"
                    )
                );

            PublicAdditionalFrameworks.Add(
                new UEBuildFramework(
                    "GoogleSignInDependencies",
                    "ThirdParty/IOS/GoogleSignInSDK/GoogleSignInDependencies.embeddedframework.zip"
                    )
                );

            PublicAdditionalFrameworks.Add(
                new UEBuildFramework(
                    "GoogleSymbolUtilities",
                    "ThirdParty/IOS/GoogleSignInSDK/GoogleSymbolUtilities.embeddedframework.zip"
                    )
                );
        }
        else if (Target.Platform == UnrealTargetPlatform.Android)
        {
            PrivateDependencyModuleNames.AddRange(
                new string[] {
                "Launch",
            }
                );

            string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
            AdditionalPropertiesForReceipt.Add(new ReceiptProperty("AndroidPlugin", Path.Combine(PluginPath, "OnlineSubsystemGoogle_UPL.xml")));

            PrivateIncludePaths.Add("Private/Android");
        }
        else if (Target.Platform == UnrealTargetPlatform.Win32 || Target.Platform == UnrealTargetPlatform.Win64)
        {
            PrivateIncludePaths.Add("Private/Windows");
        }
        else if (Target.Platform == UnrealTargetPlatform.XboxOne)
        {
            PrivateIncludePaths.Add("Private/XboxOne");
        }
        else if (Target.Platform == UnrealTargetPlatform.PS4)
        {
            PrivateIncludePaths.Add("Private/PS4");
        }
        else
        {
            PrecompileForTargets = PrecompileTargetsType.None;
        }
    }
    public GoogleVRTransition2D(ReadOnlyTargetRules Target) : base(Target)
    {
        PublicIncludePaths.AddRange(
            new string[] {
            "Runtime/Launch/Public"
            // ... add public include paths required here ...
        }
            );


        PrivateIncludePaths.AddRange(
            new string[] {
            "GoogleVRTransition2D/Private",

            // ... add other private include paths required here ...
        }
            );


        PublicDependencyModuleNames.AddRange(
            new string[]
        {
            "Core",

            // ... add other public dependencies that you statically link with here ...
        }
            );


        PrivateDependencyModuleNames.AddRange(
            new string[]
        {
            "CoreUObject",
            "Engine",
            "Slate",
            "SlateCore",

            // ... add private dependencies that you statically link with here ...
        }
            );


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

        if (Target.Platform == UnrealTargetPlatform.Android)
        {
            PrivateDependencyModuleNames.AddRange(new string[] { "GoogleVRTransition2D" });

            string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
            AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(PluginPath, "GoogleVRTransition2D_APL.xml"));
        }
        if (Target.Platform == UnrealTargetPlatform.Lumin)
        {
            PrecompileForTargets = PrecompileTargetsType.None;
        }
    }
        public GoogleVRController(ReadOnlyTargetRules Target) : base(Target)
        {
            bFasterWithoutUnity = true;

            string GoogleVRSDKDir = Target.UEThirdPartySourceDirectory + "GoogleVR/";

            PrivateIncludePaths.AddRange(
                new string[] {
                "GoogleVRController/Private",
                "GoogleVRController/Private/ArmModel",
                // ... add other private include paths required here ...
                GoogleVRSDKDir + "include",
                GoogleVRSDKDir + "include/vr/gvr/capi/include",
            }
                );

            PrivateDependencyModuleNames.AddRange(
                new string[]
            {
                "Core",
                "CoreUObject",
                "ApplicationCore",
                "Engine",
                "InputCore",
                "InputDevice",
                "HeadMountedDisplay",
                "GoogleVRHMD",
                "UMG",
                "Slate",
                "SlateCore"
            }
                );

            if (Target.Platform == UnrealTargetPlatform.Android)
            {
                PrivateDependencyModuleNames.Add("Launch");
            }

            if (Target.bBuildEditor == true)
            {
                PrivateDependencyModuleNames.Add("UnrealEd");
                if (Target.Platform == UnrealTargetPlatform.Mac || Target.Platform == UnrealTargetPlatform.Win32 || Target.Platform == UnrealTargetPlatform.Win64)
                {
                    PublicIncludePaths.Add("Developer/Android/AndroidDeviceDetection/Public");
                    PublicIncludePaths.Add("Developer/Android/AndroidDeviceDetection/Public/Interfaces");
                    PrivateDependencyModuleNames.AddRange(
                        new string[]
                    {
                        "GoogleVR",
                        "GoogleInstantPreview",
                    });
                }
            }

            if (Target.Platform == UnrealTargetPlatform.Android)
            {
                PrivateDependencyModuleNames.AddRange(new string[] { "GoogleVR" });

                string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
                AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(PluginPath, "GoogleVRController_APL.xml"));
            }
        }
    //=====Подключить библиотеки в зависимости от платформы/Enable libraries depending on the platform================
    public void LoadLib(ReadOnlyTargetRules Target)
    {
        //----------Если платформа Windows/If the Windows platform-----------------------------------------------------------------------------------
        if (Target.Platform == UnrealTargetPlatform.Win64 || Target.Platform == UnrealTargetPlatform.Win32)
        {
            //Add Include path /Добавить видиомсть папки include
            PublicIncludePaths.Add(Path.Combine(PathThirdPartyWindows, "include"));

            string[] Libs =
            {
                /*"example.lib",
                *   "example2.lib"*/
            };

            string[] DLLs =
            {
                /*"example.dll",
                *  "example2.dll"*/
            };

            //Add Static Libraries/Добавление Статических Библиотек
            foreach (string Lib in Libs)
            {
                PublicAdditionalLibraries.Add(Path.Combine(PathThirdPartyWindows, "lib", Lib));
            }

            //Add Dynamic Libraries/Добавление Динамических Библиоте
            foreach (string DLL in DLLs)
            {
                PublicDelayLoadDLLs.Add(Path.Combine(PathThirdPartyWindows, "lib", DLL));
            }
        }

        //----------Если платформа Android/If the Android platform-------------------------------------------------------------------------------------
        else if (Target.Platform == UnrealTargetPlatform.Android)
        {
            string ArchArmV7a = "armeabi-v7a";
            string ArchArmV8a = "arm64-v8a";

            PrivateDependencyModuleNames.AddRange(new string[]
            {
                "Launch"
            }
                                                  );

            //------------------- .h--------------------
            PrivateIncludePaths.AddRange(new string[] { Path.Combine(ModuleDirectory, "Private", "Android") });
            //-------------------- .so ------------------
            string[] Libs =
            {
                                #if UE_4_25_OR_LATER
                                #else
                "libc++_shared.so",
                                #endif
                //"Example.so",
                //"Example2.so"
            };

            foreach (string Lib in Libs)
            {
                PublicAdditionalLibraries.Add(Path.Combine(PathThirdPartyAndroid, ArchArmV7a, "lib", Lib));
                PublicAdditionalLibraries.Add(Path.Combine(PathThirdPartyAndroid, ArchArmV8a, "lib", Lib));
            }
            //----------------------------XML---------------------------------------
#if UE_4_25_OR_LATER
            AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(PathThirdPartyAndroid, "AndroidV25.xml"));
#else
            AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(PathThirdPartyAndroid, "AndroidV24.xml"));
#endif
        }

        //----------Если платформа IOS/If the IOS platform-------------------------------------------------------------------------------------------
        else if (Target.Platform == UnrealTargetPlatform.IOS)
        {
            PrivateDependencyModuleNames.AddRange(new string[]
            {
                "Launch"
            }
                                                  );
            //----------------- p-list ------------------
            AdditionalPropertiesForReceipt.Add("IOSPlugin", Path.Combine(ModuleDirectory, "Private", "IOS", "plist.xml"));
            //------------------- .h--------------------
            PrivateIncludePaths.AddRange(new string[] { Path.Combine(ModuleDirectory, "Private", "IOS") });
            PublicIncludePaths.Add(Path.Combine(PathThirdPartyIOS, "include"));
            //------------------- Public framework------------------------------------
            PublicFrameworks.AddRange(
                new string[]
            {
                "CoreTelephony",
                "SystemConfiguration",
                "UIKit",
                "Foundation",
                "CoreGraphics",
                "MobileCoreServices",
                "StoreKit",
                "CFNetwork",
                "CoreData",
                "Security",
                "CoreLocation",
                "WatchConnectivity",
                "MediaPlayer",
                "CoreFoundation"
            }
                );
            //------------------- Private framework---------------------------------------
            string[] frameworks =
            {
                /*"example", //example.framework
                 *  "example2" //example2.framework*/
            };

            foreach (string l_Framework in frameworks)
            {
                PublicAdditionalFrameworks.Add(
                    new Framework(l_Framework,
                                  Path.Combine(PathThirdPartyIOS, "frameworks", "example.framework.zip"), "" //example.framework.zip
                                  )
                    );
            }
        }
        //----------Неподдерживаемая платформа/Unsupported platform--------------------------
        else
        {
            string Err = string.Format("{0} dedicated server is made to depend on {1}. We want to avoid this, please correct module dependencies.", Target.Platform.ToString(), this.ToString()); System.Console.WriteLine(Err);
        }
    }
Пример #19
0
        public FMODStudio(TargetInfo Target)
    #endif
        {
            PCHUsage             = PCHUsageMode.UseExplicitOrSharedPCHs;
            PrivatePCHHeaderFile = "Private/FMODStudioPrivatePCH.h";

            bFasterWithoutUnity = true;

            PublicIncludePaths.Add(Path.Combine(ModuleDirectory, "Public/FMOD"));

            PrivateIncludePaths.Add(Path.Combine(ModuleDirectory, "Classes"));

            PublicDependencyModuleNames.AddRange(
                new string[]
            {
                "Core",
                "CoreUObject",
                "Engine",
                "Media",
                "Projects"
            }
                );

            PrivateDependencyModuleNames.AddRange(
                new string[]
            {
                "MovieScene",
                "MovieSceneTracks"
            }
                );

            if (Target.bBuildEditor == true)
            {
                PrivateDependencyModuleNames.Add("AssetRegistry");
                PrivateDependencyModuleNames.Add("UnrealEd");
            }

            DynamicallyLoadedModuleNames.AddRange(
                new string[]
            {
            }
                );

            string configName = "";

            if (Target.Configuration != UnrealTargetConfiguration.Shipping)
            {
                configName = "L";
                PublicDefinitions.Add("FMODSTUDIO_LINK_LOGGING=1");
            }
            else
            {
                configName = "";
                PublicDefinitions.Add("FMODSTUDIO_LINK_RELEASE=1");
            }

            string platformName = Target.Platform.ToString();

            string platformMidName = "";
            string linkExtension   = "";
            string dllExtension    = "";
            string libPrefix       = "";

            // ModuleDirectory points to FMODStudio\source\FMODStudio, need to get back to binaries directory for our libs
            string BasePath = System.IO.Path.Combine(ModuleDirectory, "../../Binaries", platformName);

            // Collapse the directory path, otherwise OSX is having issues with plugin paths.
            BasePath = Utils.CleanDirectorySeparators(BasePath);

            string copyThirdPartyPath      = "";
            bool   bAddRuntimeDependencies = true;
            bool   bAddDelayLoad           = false;
            bool   bShortLinkNames         = false;
            bool   bLinkFromBinaries       = true;

            // Minimum UE version for Switch 4.15
            System.Console.WriteLine("Target Platform -- " + Target.Platform.ToString());
            if (Target.Platform.ToString() == "Switch")
            {
                linkExtension           = ".a";
                dllExtension            = ".a";
                libPrefix               = "lib";
                bAddRuntimeDependencies = false;
            }
            else if (Target.Platform.ToString() == "UWP64")
            {
                platformMidName = "_X64";
                linkExtension   = ".lib";
                dllExtension    = ".dll";
                bAddDelayLoad   = true;
            }
            else
            {
                switch (Target.Platform)
                {
                case UnrealTargetPlatform.Win32:
                    linkExtension = "_vc.lib";
                    dllExtension  = ".dll";
                    bAddDelayLoad = true;
                    break;

                case UnrealTargetPlatform.Win64:
                    platformMidName = "64";
                    linkExtension   = "_vc.lib";
                    dllExtension    = ".dll";
                    bAddDelayLoad   = true;
                    break;

                case UnrealTargetPlatform.Mac:
                    linkExtension     = dllExtension = ".dylib";
                    libPrefix         = "lib";
                    bLinkFromBinaries = false;
                    break;

                case UnrealTargetPlatform.XboxOne:
                    linkExtension      = "_vc.lib";
                    dllExtension       = ".dll";
                    copyThirdPartyPath = "../XBoxOne";     // XBoxOne still doesn't seem to support plugins with .dlls
                    bAddDelayLoad      = false;
                    break;

                case UnrealTargetPlatform.PS4:
                    linkExtension = "_stub.a";
                    dllExtension  = ".prx";
                    libPrefix     = "lib";
                    bAddDelayLoad = true;
                    break;

                case UnrealTargetPlatform.Android:
                    // Don't use an explicit path with the .so, let the architecture dirs be filtered by UBT
                    PublicLibraryPaths.Add(System.IO.Path.Combine(BasePath, "armeabi-v7a"));
                    PublicLibraryPaths.Add(System.IO.Path.Combine(BasePath, "arm64-v8a"));
                    PublicLibraryPaths.Add(System.IO.Path.Combine(BasePath, "x86"));
                    bAddRuntimeDependencies = false; // Don't use this system
                    bShortLinkNames         = true;  // strip off lib and .so
                    linkExtension           = dllExtension = ".so";
                    libPrefix = "lib";
                    break;

                case UnrealTargetPlatform.IOS:
                    linkExtension           = "_iphoneos.a";
                    libPrefix               = "lib";
                    bAddRuntimeDependencies = false;
                    break;

                case UnrealTargetPlatform.Linux:
                    BasePath      = System.IO.Path.Combine(BasePath, "x86_64");
                    linkExtension = ".so";
                    dllExtension  = ".so";
                    libPrefix     = "lib";
                    break;

                default:
                    //extName = ".a";
                    throw new System.Exception(System.String.Format("Unsupported platform {0}", Target.Platform.ToString()));
                    //break;
                }
            }

            //System.Console.WriteLine("FMOD Current path: " + System.IO.Path.GetFullPath("."));
            //System.Console.WriteLine("FMOD Base path: " + BasePath);

            PublicLibraryPaths.Add(BasePath);

            string fmodLibName       = System.String.Format("{0}fmod{1}{2}{3}", libPrefix, configName, platformMidName, linkExtension);
            string fmodStudioLibName = System.String.Format("{0}fmodstudio{1}{2}{3}", libPrefix, configName, platformMidName, linkExtension);

            string fmodDllName       = System.String.Format("{0}fmod{1}{2}{3}", libPrefix, configName, platformMidName, dllExtension);
            string fmodStudioDllName = System.String.Format("{0}fmodstudio{1}{2}{3}", libPrefix, configName, platformMidName, dllExtension);

            string fmodLibPath       = System.IO.Path.Combine(BasePath, fmodLibName);
            string fmodStudioLibPath = System.IO.Path.Combine(BasePath, fmodStudioLibName);

            string fmodDllPath       = System.IO.Path.Combine(BasePath, fmodDllName);
            string fmodStudioDllPath = System.IO.Path.Combine(BasePath, fmodStudioDllName);

            System.Collections.Generic.List <string> plugins = GetPlugins(BasePath);

            if (bShortLinkNames)
            {
                // For android we have provided the paths to all architectures above
                // Just provide the name without "lib" and without extension
                PublicAdditionalLibraries.Add(System.String.Format("fmod{0}{1}", configName, platformMidName));
                PublicAdditionalLibraries.Add(System.String.Format("fmodstudio{0}{1}", configName, platformMidName));
            }
            else if (bLinkFromBinaries)
            {
                PublicAdditionalLibraries.Add(fmodLibPath);
                PublicAdditionalLibraries.Add(fmodStudioLibPath);
            }
            else
            {
                string LibPath = System.IO.Path.Combine(ModuleDirectory, "../../Libs/Mac/");
                PublicAdditionalLibraries.Add(System.String.Format("{0}libfmod{1}.dylib", LibPath, configName));
                PublicAdditionalLibraries.Add(System.String.Format("{0}libfmodStudio{1}.dylib", LibPath, configName));
            }

            if (bAddRuntimeDependencies)
            {
                RuntimeDependencies.Add(fmodDllPath);
                RuntimeDependencies.Add(fmodStudioDllPath);
                foreach (string plugin in plugins)
                {
                    string pluginPath = System.IO.Path.Combine(BasePath, plugin + dllExtension);
                    System.Console.WriteLine("Adding reference to FMOD plugin: " + pluginPath);
                    RuntimeDependencies.Add(pluginPath);
                }
            }

            if (copyThirdPartyPath.Length != 0)
            {
                string destPath = System.IO.Path.Combine(Target.UEThirdPartyBinariesDirectory, copyThirdPartyPath);
                System.IO.Directory.CreateDirectory(destPath);

                string fmodDllDest       = System.IO.Path.Combine(destPath, fmodDllName);
                string fmodStudioDllDest = System.IO.Path.Combine(destPath, fmodStudioDllName);

                CopyFile(fmodDllPath, fmodDllDest);
                CopyFile(fmodStudioDllPath, fmodStudioDllDest);
            }

            if (bAddDelayLoad)
            {
                PublicDelayLoadDLLs.AddRange(
                    new string[] {
                    fmodDllName,
                    fmodStudioDllName
                }
                    );
            }

            if (Target.Platform == UnrealTargetPlatform.Android)
            {
                string APLName    = System.String.Format("FMODStudio{0}_APL.xml", configName);
                string RelAPLPath = Utils.MakePathRelativeTo(System.IO.Path.Combine(ModuleDirectory, APLName), Target.RelativeEnginePath);
                System.Console.WriteLine("Adding {0}", RelAPLPath);
                AdditionalPropertiesForReceipt.Add("AndroidPlugin", RelAPLPath);
                foreach (string PluginName in System.IO.Directory.GetFiles(BasePath))
                {
                    if (PluginName.EndsWith("_APL.xml", System.StringComparison.OrdinalIgnoreCase))
                    {
                        string RelPluginPath = Utils.MakePathRelativeTo(PluginName, Target.RelativeEnginePath);
                        System.Console.WriteLine("Adding {0}", RelPluginPath);
                        AdditionalPropertiesForReceipt.Add("AndroidPlugin", RelPluginPath);
                    }
                }
            }
        }
    public Vungle(ReadOnlyTargetRules Target) : base(Target)
    {
        PublicIncludePaths.AddRange(
            new string[] {
            "Vungle/Public"

            // ... add public include paths required here ...
        }
            );

        PublicDependencyModuleNames.AddRange(
            new string[]
        {
            "Core",

            // ... add other public dependencies that you statically link with here ...
        }
            );


        PrivateDependencyModuleNames.AddRange(
            new string[]
        {
            "CoreUObject",
            "Engine",
            "Slate",
            "SlateCore",
            "AdCollection",

            // ... add private dependencies that you statically link with here ...
        }
            );


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


        if (Target.Platform == UnrealTargetPlatform.Android)
        {
            PrivateIncludePaths.Add("Private/Android");
            PrivateDependencyModuleNames.AddRange(
                new string[] {
                "Launch",
            }
                );

            string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
            AdditionalPropertiesForReceipt.Add(new ReceiptProperty("AndroidPlugin", Path.Combine(PluginPath, "Vungle_UPL.xml")));
        }
        else if (Target.Platform == UnrealTargetPlatform.Win32 || Target.Platform == UnrealTargetPlatform.Win64)
        {
            PrivateIncludePaths.Add("Private/Windows");
        }
        else if (Target.Platform == UnrealTargetPlatform.IOS)
        {
            PrivateIncludePaths.Add("Private/IOS");

            PublicAdditionalFrameworks.Add(
                new UEBuildFramework(
                    "VungleSDK",                                                                                                        // Framework name
                    "../ThirdParty/ThirdPartyFrameworks/VungleSDK.embeddedframework.zip")
                );

            PublicAdditionalFrameworks.Add(
                new UEBuildFramework(
                    "AdsUtil",                                                                                                          // Framework name
                    "../ThirdParty/ThirdPartyFrameworks/AdsUtil.embeddedframework.zip")
                );


            PublicFrameworks.AddRange(
                new string[]
            {
                "EventKit",
                "MediaPlayer",
                "AdSupport",
                "CoreLocation",
                "SystemConfiguration",
                "MessageUI",
                "Security",
                "CoreTelephony"
            }
                );
        }
        else if (Target.Platform == UnrealTargetPlatform.Mac)
        {
            PrivateIncludePaths.Add("Private/Mac");
        }
        else
        {
            PrecompileForTargets = PrecompileTargetsType.None;
        }
    }
Пример #21
0
    public WebSocket(ReadOnlyTargetRules Target) : base(Target)
    {
        PrivatePCHHeaderFile = "Public/WebSocket.h";

        string strEngineDir     = GetEngineDirectory();
        string strEngineVersion = ReadEngineVersion(strEngineDir);

        System.Console.WriteLine("version:" + strEngineVersion);

        PrivateIncludePaths.AddRange(
            new string[] {
            "WebSocket/Private",
            // ... add other private include paths required here ...
        }
            );


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


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


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

        if (int.Parse(EngineMinorVersion) > 23)
        {
            PublicDefinitions.Add("PLATFORM_HTML5=0");
        }

        // This file is changed from the official version.
        // It is assumes that we have a libwebsocket_static422.lib which has been compiled against the 4.22
        // version of the openssl third party libs.

        // should we use ue4 provided lws and openssl?
        bool UseDefaultLibs = false;

        if (Target.Platform == UnrealTargetPlatform.Win64)
        {
            PublicDefinitions.Add("PLATFORM_UWP=0");
            PrivateDependencyModuleNames.Add("zlib");

            // OpenSSL versions provided with UE4 for windows
            // We have compiled the libwebsockets libs to use the same as the engine uses.
            // for 4.22+
            // 4.24 1.1.1c
            // 4.22+ 1.1.1
            // 4.14+ 1.0.2h

            // kards change, also 22, 23, 24
            if (Int32.Parse(EngineMinorVersion) >= 20)
            {
                PrivateDependencyModuleNames.Add("OpenSSL");
            }

            PrivateIncludePaths.Add("WebSocket/ThirdParty/include/Win64");
            string strStaticPath = Path.GetFullPath(Path.Combine(ModulePath, "ThirdParty/lib/Win64/"));

            string[] StaticLibrariesX64 = new string[] {
            #if UE_4_22_OR_LATER
                // use this library, compatible with the OpenSSL module in the engine.
                "websockets_static422.lib",
            #else
                "websockets_static.lib",
            #endif
            };

            foreach (string Lib in StaticLibrariesX64)
            {
                PublicAdditionalLibraries.Add(Path.Combine(strStaticPath, Lib));
            }
        }
        if (Target.Platform == UnrealTargetPlatform.Win32)
        {
            PublicDefinitions.Add("PLATFORM_UWP=0");
            PrivateDependencyModuleNames.Add("zlib");
            PrivateDependencyModuleNames.Add("OpenSSL");
            PrivateIncludePaths.Add("WebSocket/ThirdParty/include/Win32");

            string strStaticPath = Path.GetFullPath(Path.Combine(ModulePath, "ThirdParty/lib/Win32/"));

            string[] StaticLibrariesX32 = new string[] {
                #if UE_4_22_OR_LATER
                "websockets_static422.lib",
                //"libcrypto.lib",
                //"libssl.lib",#else
                #else
                "websockets_static.lib",
                //"libcrypto.lib",
                //"libssl.lib",
                #endif
            };

            foreach (string Lib in StaticLibrariesX32)
            {
                PublicAdditionalLibraries.Add(Path.Combine(strStaticPath, Lib));
            }
        }

        /*else if(Target.Platform == UnrealTargetPlatform.HTML5)
         * {
         *  PublicDefinitions.Add("PLATFORM_UWP=0");
         *  string strStaticPath = Path.GetFullPath(Path.Combine(ModulePath, "ThirdParty/lib/HTML5/"));
         *  PublicLibraryPaths.Add(strStaticPath);
         *
         *  string[] StaticLibrariesHTML5 = new string[] {
         *      "WebSocket.js",
         *  };
         *
         *  foreach (string Lib in StaticLibrariesHTML5)
         *  {
         *      PublicAdditionalLibraries.Add(strStaticPath + Lib);
         *  }
         * }*/

#if false // use engine websocket libs for these platforms
        else if (Target.Platform == UnrealTargetPlatform.Mac)
        {
            PublicDefinitions.Add("PLATFORM_UWP=0");
            PrivateIncludePaths.Add("WebSocket/ThirdParty/include/Mac");
            string strStaticPath = Path.GetFullPath(Path.Combine(ModulePath, "ThirdParty/lib/Mac/"));
            //PublicLibraryPaths.Add(strStaticPath);

            string[] StaticLibrariesMac = new string[] {
                "libwebsockets.a",
                "libssl.a",
                "libcrypto.a"
            };

            foreach (string Lib in StaticLibrariesMac)
            {
                PublicAdditionalLibraries.Add(Path.Combine(strStaticPath, Lib));
            }
        }
        else if (Target.Platform == UnrealTargetPlatform.Linux)
        {
            PublicDefinitions.Add("PLATFORM_UWP=0");
            PrivateDependencyModuleNames.Add("OpenSSL");
            PrivateIncludePaths.Add("WebSocket/ThirdParty/include/Linux");
            string strStaticPath = Path.GetFullPath(Path.Combine(ModulePath, "ThirdParty/lib/Linux/"));

            string[] StaticLibrariesLinux = null;
            if (int.Parse(EngineMinorVersion) >= 24)
            {
                StaticLibrariesLinux = new string[] {
                    "libwebsockets424.a",
                };
            }
            else
            {
                StaticLibrariesLinux = new string[] {
                    "libwebsockets.a",
                };
            }

            foreach (string Lib in StaticLibrariesLinux)
            {
                PublicAdditionalLibraries.Add(Path.Combine(strStaticPath, Lib));
            }
        }
        else if (Target.Platform == UnrealTargetPlatform.IOS)
        {
            PublicDefinitions.Add("PLATFORM_UWP=0");
            PrivateIncludePaths.Add("WebSocket/ThirdParty/include/IOS");
            PrivateDependencyModuleNames.Add("OpenSSL");

            string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath + "/Source/");
            PluginPath = PluginPath.Replace("\\", "/");

            string strStaticPath = PluginPath + "/ThirdParty/lib/IOS/";// Path.GetFullPath(Path.Combine(ModulePath, "ThirdParty/lib/IOS/"));
            //PublicLibraryPaths.Add(strStaticPath);

            string[] StaticLibrariesIOS = new string[] {
                "websockets",
                //"ssl",
                //"crypto"
            };

            foreach (string Lib in StaticLibrariesIOS)
            {
                PublicAdditionalLibraries.Add(Path.Combine(strStaticPath, Lib));
                // warning CS0618: 'UnrealBuildTool.ModuleRules.PublicAdditionalShadowFiles' is obsolete: 'To specify files to be transferred to a remote Mac for compilation, create a [Project]/Build/Rsync/RsyncProject.txt file. See https://linux.die.net/man/1/rsync for more information about Rsync filter rules.'
                //PublicAdditionalShadowFiles.Add(Path.Combine(strStaticPath, "lib" + Lib + ".a") );
            }
        }
        else if (Target.Platform == UnrealTargetPlatform.Android)
        {
            PublicDefinitions.Add("PLATFORM_UWP=0");
            PrivateIncludePaths.Add("WebSocket/ThirdParty/include/Android");
            string strStaticPath      = Path.GetFullPath(Path.Combine(ModulePath, "ThirdParty/lib/Android/armeabi-v7a"));
            string strStaticArm64Path = Path.GetFullPath(Path.Combine(ModulePath, "ThirdParty/lib/Android/arm64-v8a"));

            // openssl provided by ue4 for android:
            // 4.23 1.0.1s, part of libcurl
            // Android apps are statically linked so we cannot have different versions of libraries
            // in the modules.  openssl is already linked in as part of libcurl.
            // We therefore cannot use the newer 1.1.1 series in this plugin.

            PrivateDependencyModuleNames.Add("OpenSSL");
            string[] StaticLibrariesAndroid = new string[] {
                "websockets",
                //    "ssl",
                //    "crypto"
            };

            foreach (string Lib in StaticLibrariesAndroid)
            {
                PublicAdditionalLibraries.Add(Path.Combine(strStaticPath, Lib));
                PublicAdditionalLibraries.Add(Path.Combine(strStaticArm64Path, Lib));
            }

            string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
            AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(PluginPath, "WebSocket_UPL.xml"));
        }
#endif
        else if (Target.Platform == UnrealTargetPlatform.Android)
        {
            string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
            AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(PluginPath, "WebSocket_UPL.xml"));
            UseDefaultLibs = true;
        }
        else
        {
            // all other platforms just use the ue4 provided libs
            UseDefaultLibs = true;
        }
        if (UseDefaultLibs)
        {
            // compile and link with the static versions of
            // libWebSockets that are provided with UE4.
            // This is at least version 3.0.0 of lws.
            // That version is quite sufficient for our purposes
            // but contains a bug that can cause problems on
            // windows.  Fixed in 1485db1805ffa175df5d1568f6d568822fc4fd4c
            // (and 16e31d4fd6fa7c437bbcd013f99fcacb3bf536d7)

            PublicDefinitions.Add("PLATFORM_UWP=0");
            // libwebsockets and openssl are provided by ue4
            // UE4.23-4.25:
            //      lws: 3.0.0 all platforms
            //      openssl:
            //          android, lumin: 1.0.1s
            //          ps4: 1.0.2g
            //          mac, IOS, windows, hololens: 1.1.1
            //          unix: 1.1.1c

            PrivateIncludePathModuleNames.AddRange(
                new string[]
            {
                "libWebSockets",
            }
                );
            AddEngineThirdPartyPrivateStaticDependencies(Target, "libWebSockets");
            AddEngineThirdPartyPrivateStaticDependencies(Target, "OpenSSL");
        }
    }
Пример #22
0
        public OculusHMD(ReadOnlyTargetRules Target) : base(Target)
        {
            PrivateIncludePaths.AddRange(
                new string[] {
                // Relative to Engine\Plugins\Runtime\Oculus\OculusVR\Source
                "../../../../../Source/Runtime/Renderer/Private",
                "../../../../../Source/Runtime/OpenGLDrv/Private",
                "../../../../../Source/Runtime/VulkanRHI/Private",
                "../../../../../Source/Runtime/Engine/Classes/Components",
            });

            PublicIncludePathModuleNames.Add("Launch");

            PrivateDependencyModuleNames.AddRange(
                new string[]
            {
                "Core",
                "CoreUObject",
                "Engine",
                "InputCore",
                "RHI",
                "RenderCore",
                "Renderer",
                "ShaderCore",
                "HeadMountedDisplay",
                "Slate",
                "SlateCore",
                "ImageWrapper",
                "MediaAssets",
                "Analytics",
                "UtilityShaders",
                "OpenGLDrv",
                "VulkanRHI",
                "OVRPlugin",
            });

            if (Target.bBuildEditor == true)
            {
                PrivateDependencyModuleNames.Add("UnrealEd");
            }

            AddEngineThirdPartyPrivateStaticDependencies(Target, "OpenGL");

            if (Target.Platform == UnrealTargetPlatform.Win32 || Target.Platform == UnrealTargetPlatform.Win64)
            {
                // D3D
                {
                    PrivateDependencyModuleNames.AddRange(
                        new string[]
                    {
                        "D3D11RHI",
                        "D3D12RHI",
                    });

                    PrivateIncludePaths.AddRange(
                        new string[]
                    {
                        "../../../../../Source/Runtime/Windows/D3D11RHI/Private",
                        "../../../../../Source/Runtime/Windows/D3D11RHI/Private/Windows",
                        "../../../../../Source/Runtime/D3D12RHI/Private",
                        "../../../../../Source/Runtime/D3D12RHI/Private/Windows",
                    });

                    AddEngineThirdPartyPrivateStaticDependencies(Target, "DX11");
                    AddEngineThirdPartyPrivateStaticDependencies(Target, "DX12");
                    AddEngineThirdPartyPrivateStaticDependencies(Target, "NVAPI");
                    AddEngineThirdPartyPrivateStaticDependencies(Target, "DX11Audio");
                    AddEngineThirdPartyPrivateStaticDependencies(Target, "DirectSound");
                }

                // Vulkan
                {
                    string VulkanSDKPath = Environment.GetEnvironmentVariable("VULKAN_SDK");
                    if (!String.IsNullOrEmpty(VulkanSDKPath))
                    {
                        // If the user has an installed SDK, use that instead
                        PrivateIncludePaths.Add(VulkanSDKPath + "/Include");
                        // Older SDKs have an extra subfolder
                        PrivateIncludePaths.Add(VulkanSDKPath + "/Include/vulkan");

                        if (Target.Platform == UnrealTargetPlatform.Win32)
                        {
                            PublicLibraryPaths.Add(VulkanSDKPath + "/Source/lib32");
                        }
                        else
                        {
                            PublicLibraryPaths.Add(VulkanSDKPath + "/Source/lib");
                        }

                        PublicAdditionalLibraries.Add("vulkan-1.lib");
                        PublicAdditionalLibraries.Add("vkstatic.1.lib");
                    }
                    else
                    {
                        AddEngineThirdPartyPrivateStaticDependencies(Target, "Vulkan");
                    }
                }

                // OVRPlugin
                {
                    PublicDelayLoadDLLs.Add("OVRPlugin.dll");
                    RuntimeDependencies.Add(new RuntimeDependency("$(EngineDir)/Binaries/ThirdParty/Oculus/OVRPlugin/OVRPlugin/" + Target.Platform.ToString() + "/OVRPlugin.dll"));
                }
            }
            else if (Target.Platform == UnrealTargetPlatform.Android)
            {
                // Vulkan
                {
                    string NDKPath = Environment.GetEnvironmentVariable("NDKROOT");
                    // Note: header is the same for all architectures so just use arch-arm
                    string NDKVulkanIncludePath = NDKPath + "/platforms/android-24/arch-arm/usr/include/vulkan";

                    if (File.Exists(NDKVulkanIncludePath + "/vulkan.h"))
                    {
                        // Use NDK Vulkan header if discovered
                        PrivateIncludePaths.Add(NDKVulkanIncludePath);
                    }
                    else
                    {
                        string VulkanSDKPath = Environment.GetEnvironmentVariable("VULKAN_SDK");

                        if (!String.IsNullOrEmpty(VulkanSDKPath))
                        {
                            // If the user has an installed SDK, use that instead
                            PrivateIncludePaths.Add(VulkanSDKPath + "/Include/vulkan");
                        }
                        else
                        {
                            // Fall back to the Windows Vulkan SDK (the headers are the same)
                            PrivateIncludePaths.Add(Target.UEThirdPartySourceDirectory + "Vulkan/Windows/Include/vulkan");
                        }
                    }
                }

                // AndroidPlugin
                {
                    string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
                    AdditionalPropertiesForReceipt.Add(new ReceiptProperty("AndroidPlugin", Path.Combine(PluginPath, "GearVR_APL.xml")));
                }
            }
        }
Пример #23
0
    public AocePlugins(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 ...
        }
            );


        PublicDependencyModuleNames.AddRange(
            new string[]
        {
            "Core", "CoreUObject", "Projects", "Engine", "RHI", "RenderCore", "UMG", "SlateCore", "OpenGLDrv", "Json", "JsonUtilities",
            // ... add other public dependencies that you statically link with here ...
        }
            );


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


        DynamicallyLoadedModuleNames.AddRange(
            new string[]
        {
            // ... add any modules that your module loads dynamically here ...
        }
            );
        CppStandard = CppStandardVersion.Cpp14;
        // 头文件
        PublicIncludePaths.AddRange(new string[] { Path.Combine(ThirdPartyPath, "Aoce/win/include") });
        if (Target.Platform == UnrealTargetPlatform.Win64)
        {
            Definitions.Add("__ANDROID__=0");
            Definitions.Add("WIN32=1");
            string aocePath = Path.Combine(ThirdPartyPath, "Aoce/win");
            string libPath  = Path.Combine(aocePath, "lib");
            string binPath  = Path.Combine(aocePath, "bin");
            // 链接库
            PublicLibraryPaths.Add(libPath);
            PublicAdditionalLibraries.Add("aoce.lib");
            // 需要延迟加载的dll,不加的话,需把相应dll拷贝到工程的Binaries,否则编辑器到75%就因加载不了dll crash.
            PublicDelayLoadDLLs.Add("aoce.dll");
            // PublicDelayLoadDLLs.Add("aoce_agora.dll");
            // PublicDelayLoadDLLs.Add("agora_rtc_sdk.dll");
            // RuntimeDependencies.Add(Path.Combine(binPath, "aoce.dll"));
            foreach (string path in Directory.GetFiles(binPath, "*.*", SearchOption.AllDirectories))
            {
                RuntimeDependencies.Add(path);
            }
        }
        else if (Target.Platform == UnrealTargetPlatform.Android)
        {
            // PublicDependencyModuleNames.Add("OpenGLDrv");
            suffix = ".so";
            Definitions.Add("__ANDROID__=1");
            Definitions.Add("WIN32=0");
            AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(ModuleDirectory, "AocePlugins_APL.xml"));
            string aocePath = Path.Combine(ThirdPartyPath, "Aoce/android");
            string libPath  = Path.Combine(aocePath, "armeabi-v7a");
            // 链接库
            PublicAdditionalLibraries.Add(Path.Combine(libPath, "libaoce.so"));
            PublicAdditionalLibraries.Add(Path.Combine(libPath, "libffmpeg.so"));
            // PublicAdditionalLibraries.Add(Path.Combine(libPath, "libagora-rtc-sdk-jni.so"));
        }
    }
Пример #24
0
        private void SetupManagedPaths()
        {
            // Target the game project directory
            string projectFile = Target.ProjectFile.FullName;

            if (File.Exists(projectFile) && Path.GetExtension(projectFile) == ".uproject" && Directory.Exists(ModuleDirectory))
            {
                // USharp paths (engine plugins folder)
                string pluginManagedBinDir         = GetPluginManagedBinDir();
                string pluginShippingManagedBinDir = Path.Combine(pluginManagedBinDir, "Shipping");

                // Game project paths
                string projectDir    = Path.GetDirectoryName(projectFile);
                string managedBinDir = Path.Combine(projectDir, "Binaries", "Managed");

                outputRelativeDir = new Uri(Path.GetFullPath(Path.Combine(projectDir, "Binaries")), UriKind.Absolute);

                if (!Directory.Exists(managedBinDir))
                {
                    // This might not be a USharp enabled project?
                    return;
                }

                // Add CoreCLR/Mono folders to RuntimeDependencies (if they exists)
                //
                // NOTE: We need to copy the folders locally rather than directly referencing the folders in the engine
                //       plugins folder as RuntimeDependencies depends on paths being within the game project folder.
                string sourceCoreCLRDir   = GetCoreCLRDir(pluginManagedBinDir, true);
                string sourceMonoDir      = GetMonoDir(pluginManagedBinDir, true);
                string sourceRuntimesFile = GetDotNetRuntimesFile(pluginManagedBinDir);

                string destCoreCLRDir   = GetCoreCLRDir(managedBinDir, false);
                string destMonoDir      = GetMonoDir(managedBinDir, false);
                string destRuntimesFile = GetDotNetRuntimesFile(managedBinDir);

                bool copyCoreCLR         = false;
                bool copyMono            = false;
                bool cleanRuntimeFolders = false;// If true delete the contents of the target runtime folders before copying

                if (File.Exists(sourceRuntimesFile))
                {
                    foreach (string str in File.ReadAllLines(sourceRuntimesFile))
                    {
                        string line = str.Trim().ToLower();

                        const string packagePrefix = "package:";
                        if (line.StartsWith(packagePrefix))
                        {
                            line = line.Substring(packagePrefix.Length).Trim();

                            switch (line.ToLower())
                            {
                            case "mono":
                                copyMono = true;
                                break;

                            case "coreclr":
                                copyCoreCLR = true;
                                break;

                            case "clean":
                                cleanRuntimeFolders = true;
                                break;
                            }
                        }
                    }
                }

                switch (Target.Platform)
                {
                case UnrealTargetPlatform.Android:
                    // Mono is currently the only supported runtime on Android. Ensure that it gets packaged.
                    copyMono    = true;
                    copyCoreCLR = false;
                    break;
                }

                if (copyMono && !Directory.Exists(sourceMonoDir))
                {
                    copyMono = false;
                }

                if (copyCoreCLR && !Directory.Exists(sourceCoreCLRDir))
                {
                    copyCoreCLR = false;
                }

                if (Target.Platform == UnrealTargetPlatform.Android)
                {
                    // We need to store a file list somewhere as there are issues with traversing the folder hierarchy
                    // (both the .obb file structure and the .apk file structure have issues with traversal)

                    // NOTE: There is currently a crash loading files outside of the obb (FFileHelper::LoadFileToStringArray / FFileHelper::LoadFileToArray)
                    bool storeInObb = true;

                    StringBuilder fileListStr     = new StringBuilder();
                    Uri           rootRelativeDir = new Uri(Path.GetFullPath(Path.Combine(projectDir, "Binaries", "Managed", "_")), UriKind.Absolute);
                    foreach (string file in GetAllFiles(new DirectoryInfo(managedBinDir), "Runtimes"))
                    {
                        string relativePath = rootRelativeDir.MakeRelativeUri(new Uri(file, UriKind.Absolute)).ToString();
                        fileListStr.Append(relativePath + "\n");
                    }
                    // Not needed until .NET Core is supported

                    /*if ((copyMono || copyCoreCLR) && File.Exists(sourceRuntimesFile))
                     * {
                     *  string relativePath = rootRelativeDir.MakeRelativeUri(new Uri(sourceRuntimesFile, UriKind.Absolute)).ToString();
                     *  fileListStr.Append(relativePath + "\n");
                     * }*/
                    if (copyMono)
                    {
                        Uri monoRelativeDir = new Uri(Path.GetFullPath(Path.Combine(sourceMonoDir, "_")), UriKind.Absolute);
                        foreach (string file in Directory.GetFiles(sourceMonoDir, "*.*", SearchOption.AllDirectories))
                        {
                            string relativePath = monoRelativeDir.MakeRelativeUri(new Uri(file, UriKind.Absolute)).ToString();
                            fileListStr.Append("Runtimes/Mono/Android/" + relativePath + "\n");
                        }
                    }
                    if (copyCoreCLR)
                    {
                        Uri coreClrRelativeDir = new Uri(Path.GetFullPath(Path.Combine(sourceCoreCLRDir, "_")), UriKind.Absolute);
                        foreach (string file in Directory.GetFiles(sourceCoreCLRDir, "*.*", SearchOption.AllDirectories))
                        {
                            string relativePath = coreClrRelativeDir.MakeRelativeUri(new Uri(file, UriKind.Absolute)).ToString();
                            fileListStr.Append("Runtimes/CoreCLR/Android/" + relativePath + "\n");
                        }
                    }

                    string androidFileListFile = Path.Combine(managedBinDir, "AndroidFileList.txt");
                    try
                    {
                        File.WriteAllText(androidFileListFile, fileListStr.ToString());
                    }
                    catch
                    {
                    }

                    if (storeInObb)
                    {
                        // Store USharp files in the .obb
                        AddFileToRuntimeDependencies(androidFileListFile);
                    }
                    else
                    {
                        // Store USharp files in the .apk under /assets/
                        string pluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
                        AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(pluginPath, "USharp_APL.xml"));
                        return;
                    }
                }

                // Copy the shipping build version of UnrealEngine.Runtime.dll to /ProjectName/Binaries/Managed
                string shippingRuntimeDllPath = Path.Combine(pluginShippingManagedBinDir, "UnrealEngine.Runtime.dll");
                if (File.Exists(shippingRuntimeDllPath))
                {
                    File.Copy(shippingRuntimeDllPath, Path.Combine(managedBinDir, "UnrealEngine.Runtime.dll"), true);
                }

                // Add "ProjectName/Binaries/Managed/" to the RuntimeDependencies
                AddToRuntimeDependenciesRecursively(new DirectoryInfo(managedBinDir), "Runtimes");

                if (copyCoreCLR || copyMono)
                {
                    // Copy the runtimes text file to the output directory
                    FileInfo destRuntimesFileInfo = new FileInfo(destRuntimesFile);
                    if (!destRuntimesFileInfo.Directory.Exists)
                    {
                        Directory.CreateDirectory(destRuntimesFileInfo.DirectoryName);
                    }
                    CopyFile(sourceRuntimesFile, destRuntimesFile, true);

                    if (copyCoreCLR)
                    {
                        if (cleanRuntimeFolders)
                        {
                            CleanFolder(destCoreCLRDir);
                        }

                        // Copy the CoreCLR folder into the project binaries folder
                        CopyFilesRecursive(new DirectoryInfo(sourceCoreCLRDir), new DirectoryInfo(destCoreCLRDir), true);
                    }

                    if (copyMono)
                    {
                        if (cleanRuntimeFolders)
                        {
                            CleanFolder(destMonoDir);
                        }

                        // Copy the Mono folder into the project binaries folder
                        CopyFilesRecursive(new DirectoryInfo(sourceMonoDir), new DirectoryInfo(destMonoDir), true);
                    }
                }
            }
        }
Пример #25
0
    public UnrealEnginePython(TargetInfo target)
#endif
    {
        PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
        string enableUnityBuild = System.Environment.GetEnvironmentVariable("UEP_ENABLE_UNITY_BUILD");

        bFasterWithoutUnity = string.IsNullOrEmpty(enableUnityBuild);

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


        PrivateIncludePaths.AddRange(
            new string[] {
            "UnrealEnginePython/Private",
            // ... add other private include paths required here ...
        }
            );


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


        PrivateDependencyModuleNames.AddRange(
            new string[]
        {
            "CoreUObject",
            "Engine",
            "InputCore",
            "Slate",
            "SlateCore",
            "MovieScene",
            "LevelSequence",
            "HTTP",
            "UMG",
            "AppFramework",
            "RHI",
            "Voice",
            "RenderCore",
            "MovieSceneCapture",
            "Landscape",
            "Foliage",
            "AIModule"
            // ... add private dependencies that you statically link with here ...
        }
            );


#if WITH_FORWARDED_MODULE_RULES_CTOR
        BuildVersion Version;
        if (BuildVersion.TryRead(BuildVersion.GetDefaultFileName(), out Version))
        {
            if (Version.MinorVersion >= 18)
            {
                PrivateDependencyModuleNames.Add("ApplicationCore");
            }
        }
#endif


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

#if WITH_FORWARDED_MODULE_RULES_CTOR
        if (Target.bBuildEditor)
#else
        if (UEBuildConfiguration.bBuildEditor)
#endif
        {
            PrivateDependencyModuleNames.AddRange(new string[] {
                "UnrealEd",
                "LevelEditor",
                "BlueprintGraph",
                "Projects",
                "Sequencer",
                "SequencerWidgets",
                "AssetTools",
                "LevelSequenceEditor",
                "MovieSceneTools",
                "MovieSceneTracks",
                "CinematicCamera",
                "EditorStyle",
                "GraphEditor",
                "UMGEditor",
                "AIGraph",
                "RawMesh",
                "DesktopWidgets",
                "EditorWidgets",
                "FBX",
                "Persona",
                "PropertyEditor",
                "LandscapeEditor",
                "MaterialEditor"
            });
        }

        if ((Target.Platform == UnrealTargetPlatform.Win64) || (Target.Platform == UnrealTargetPlatform.Win32))
        {
            if (pythonHome == "")
            {
                pythonHome = DiscoverPythonPath(windowsKnownPaths, "Win64");
                if (pythonHome == "")
                {
                    throw new System.Exception("Unable to find Python installation");
                }
            }
            System.Console.WriteLine("Using Python at: " + pythonHome);
            PublicIncludePaths.Add(pythonHome);
            string libPath = GetWindowsPythonLibFile(pythonHome);
            PublicLibraryPaths.Add(Path.GetDirectoryName(libPath));
            PublicAdditionalLibraries.Add(libPath);
        }
        else if (Target.Platform == UnrealTargetPlatform.Mac)
        {
            if (pythonHome == "")
            {
                pythonHome = DiscoverPythonPath(macKnownPaths, "Mac");
                if (pythonHome == "")
                {
                    throw new System.Exception("Unable to find Python installation");
                }
            }
            System.Console.WriteLine("Using Python at: " + pythonHome);
            PublicIncludePaths.Add(pythonHome);
            string libPath = GetMacPythonLibFile(pythonHome);
            PublicLibraryPaths.Add(Path.GetDirectoryName(libPath));
            PublicDelayLoadDLLs.Add(libPath);
        }
        else if (Target.Platform == UnrealTargetPlatform.Linux)
        {
            if (pythonHome == "")
            {
                string includesPath = DiscoverLinuxPythonIncludesPath();
                if (includesPath == null)
                {
                    throw new System.Exception("Unable to find Python includes, please add a search path to linuxKnownIncludesPaths");
                }
                string libsPath = DiscoverLinuxPythonLibsPath();
                if (libsPath == null)
                {
                    throw new System.Exception("Unable to find Python libs, please add a search path to linuxKnownLibsPaths");
                }
                PublicIncludePaths.Add(includesPath);
                PublicAdditionalLibraries.Add(libsPath);
            }
            else
            {
                string[] items = pythonHome.Split(';');
                PublicIncludePaths.Add(items[0]);
                PublicAdditionalLibraries.Add(items[1]);
            }
        }
#if WITH_FORWARDED_MODULE_RULES_CTOR
        else if (Target.Platform == UnrealTargetPlatform.Android)
        {
            PublicDefinitions.Add("UEPY_THREADING");
            System.Console.WriteLine("*** Enabled Python Threads support ***");

            PublicIncludePaths.Add(System.IO.Path.Combine(ModuleDirectory, "../../android/python35/include"));
            PublicLibraryPaths.Add(System.IO.Path.Combine(ModuleDirectory, "../../android/armeabi-v7a"));
            PublicAdditionalLibraries.Add("python3.5m");

            string APLName    = "UnrealEnginePython_APL.xml";
            string RelAPLPath = Utils.MakePathRelativeTo(System.IO.Path.Combine(ModuleDirectory, APLName), Target.RelativeEnginePath);
            AdditionalPropertiesForReceipt.Add(new ReceiptProperty("AndroidPlugin", RelAPLPath));
        }
#endif
    }
Пример #26
0
        public OneStore(TargetInfo Target)
        {
            PublicIncludePaths.AddRange(
                new string[]
            {
                // PublicIncludePath
            }
                );

            PrivateIncludePaths.AddRange(
                new string[]
            {
                // PrivateIncludePath
                "OneStore/Private"
            }
                );

            PublicDependencyModuleNames.AddRange(
                new string[]
            {
                // PublicDependencyModule
                "Core",
                "CoreUObject",
                "Engine",
                "OnlineSubsystem",
                "OnlineSubsystemUtils"
            }
                );

            PrivateDependencyModuleNames.AddRange(
                new string[]
            {
                // PrivateDependencyModule
            }
                );

            DynamicallyLoadedModuleNames.AddRange(
                new string[]
            {
                // DynamicallyLoadedModule
            }
                );

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

            PrivateIncludePathModuleNames.AddRange(
                new string[]
            {
                // PrivateIncludePathModule
                "Settings"
            }
                );


            if (Target.Platform == UnrealTargetPlatform.Android)
            {
                string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, BuildConfiguration.RelativeEnginePath);
                AdditionalPropertiesForReceipt.Add(new ReceiptProperty("AndroidPlugin", Path.Combine(PluginPath, "OneStore_APL.xml")));
            }
        }
        public FMODStudio(ReadOnlyTargetRules Target) : base(Target)
        {
            PCHUsage             = PCHUsageMode.UseExplicitOrSharedPCHs;
            PrivatePCHHeaderFile = "Private/FMODStudioPrivatePCH.h";

            bUseUnity = false;

            PublicIncludePaths.Add(Path.Combine(ModuleDirectory, "Public/FMOD"));
            PrivateIncludePaths.Add(Path.Combine(ModuleDirectory, "Classes"));

            PublicDependencyModuleNames.AddRange(
                new string[]
            {
                "Core",
                "CoreUObject",
                "Engine",
                "Media",
                "Projects"
            }
                );

            PrivateDependencyModuleNames.AddRange(
                new string[]
            {
                "MovieScene",
                "MovieSceneTracks"
            }
                );

            if (Target.bBuildEditor == true)
            {
                PrivateDependencyModuleNames.Add("AssetRegistry");
                PrivateDependencyModuleNames.Add("UnrealEd");
                PrivateDependencyModuleNames.Add("Settings");
            }

            DynamicallyLoadedModuleNames.AddRange(
                new string[]
            {
            }
                );

            string configName = "";

            if (Target.Configuration != UnrealTargetConfiguration.Shipping)
            {
                configName = "L";
                PublicDefinitions.Add("FMODSTUDIO_LINK_LOGGING=1");
            }
            else
            {
                configName = "";
                PublicDefinitions.Add("FMODSTUDIO_LINK_RELEASE=1");
            }

            string linkExtension = "";
            string dllExtension  = "";
            string libPrefix     = "";
            string libPath       = FMODLibDir;

            bool bCopyToOutput           = false;
            bool bAddRuntimeDependencies = true;
            bool bAddDelayLoad           = false;
            bool bLinkDebugFiles         = false;

            if (libPath == null)
            {
                string platformName = Target.Platform.ToString();

                libPath = System.IO.Path.Combine(LibRootDirectory, platformName);

                // Minimum UE version for Switch 4.15
                System.Console.WriteLine("Target Platform -- " + Target.Platform.ToString());
                if (Target.Platform == UnrealTargetPlatform.Switch)
                {
                    linkExtension           = ".a";
                    dllExtension            = ".a";
                    libPrefix               = "lib";
                    bAddRuntimeDependencies = false;
                }
                else if (Target.Platform.ToString() == "UWP64")
                {
                    linkExtension = ".lib";
                    dllExtension  = ".dll";
                    bAddDelayLoad = true;
                }
                else if (Target.IsInPlatformGroup(UnrealPlatformGroup.Windows))
                {
                    linkExtension = "_vc.lib";
                    dllExtension  = ".dll";
                    bAddDelayLoad = true;
                }
                else if (Target.Platform == UnrealTargetPlatform.Mac)
                {
                    linkExtension = dllExtension = ".dylib";
                    libPrefix     = "lib";

                    libPath = System.IO.Path.Combine(ModuleDirectory, "../../Libs/Mac/");
                }
                else if (Target.Platform == UnrealTargetPlatform.XboxOne)
                {
                    linkExtension           = "_vc.lib";
                    dllExtension            = ".dll";
                    bCopyToOutput           = true;
                    bAddRuntimeDependencies = false;
                }
                else if (Target.Platform == UnrealTargetPlatform.PS4)
                {
                    linkExtension = "_stub.a";
                    dllExtension  = ".prx";
                    libPrefix     = "lib";
                    bAddDelayLoad = true;
                }
                else if (Target.Platform == UnrealTargetPlatform.Android)
                {
                    bAddRuntimeDependencies = false; // Don't use this system
                    linkExtension           = dllExtension = ".so";
                    libPrefix = "lib";
                }
                else if (Target.Platform == UnrealTargetPlatform.IOS)
                {
                    linkExtension           = "_iphoneos.a";
                    libPrefix               = "lib";
                    bAddRuntimeDependencies = false;
                }
                else if (Target.Platform == UnrealTargetPlatform.TVOS)
                {
                    linkExtension           = "_appletvos.a";
                    libPrefix               = "lib";
                    bAddRuntimeDependencies = false;
                }
                else if (Target.Platform == UnrealTargetPlatform.Linux)
                {
                    libPath       = System.IO.Path.Combine(libPath, "x86_64");
                    linkExtension = ".so";
                    dllExtension  = ".so";
                    libPrefix     = "lib";
                }
            }
            else
            {
                linkExtension = ConsoleLinkExt;
                dllExtension  = ConsoleDllExt;
                libPrefix     = ConsoleLibPrefix;

                bAddRuntimeDependencies = ConsoleRuntimeDependencies;
                bAddDelayLoad           = ConsoleDelayLoad;
                bLinkDebugFiles         = LinkDebugFiles;
            }

            // Collapse the directory path, otherwise MacOS has issues with plugin paths.
            libPath = Utils.CleanDirectorySeparators(libPath);

            string fmodLibName       = System.String.Format("{0}fmod{1}{2}", libPrefix, configName, linkExtension);
            string fmodStudioLibName = System.String.Format("{0}fmodstudio{1}{2}", libPrefix, configName, linkExtension);

            string fmodDllName       = System.String.Format("{0}fmod{1}{2}", libPrefix, configName, dllExtension);
            string fmodStudioDllName = System.String.Format("{0}fmodstudio{1}{2}", libPrefix, configName, dllExtension);

            string fmodLibPath       = System.IO.Path.Combine(libPath, fmodLibName);
            string fmodStudioLibPath = System.IO.Path.Combine(libPath, fmodStudioLibName);

            string fmodDllPath       = System.IO.Path.Combine(libPath, fmodDllName);
            string fmodStudioDllPath = System.IO.Path.Combine(libPath, fmodStudioDllName);

            System.Collections.Generic.List <string> plugins = GetPlugins(libPath);

            if (Target.IsInPlatformGroup(UnrealPlatformGroup.Android))
            {
                string[] archs = new string[] { "armeabi-v7a", "arm64-v8a", "x86_64" };
                foreach (string arch in archs)
                {
                    string LibPath = System.IO.Path.Combine(libPath, arch);
                    PublicAdditionalLibraries.Add(System.String.Format("{0}/{1}", LibPath, fmodLibName));
                    PublicAdditionalLibraries.Add(System.String.Format("{0}/{1}", LibPath, fmodStudioLibName));
                }
            }
            else
            {
                PublicAdditionalLibraries.Add(fmodLibPath);
                PublicAdditionalLibraries.Add(fmodStudioLibPath);
            }

            if (bCopyToOutput)
            {
                RuntimeDependencies.Add("$(TargetOutputDir)/" + fmodDllName, fmodDllPath);
                RuntimeDependencies.Add("$(TargetOutputDir)/" + fmodStudioDllName, fmodStudioDllPath);
            }
            else if (bAddRuntimeDependencies)
            {
                RuntimeDependencies.Add(fmodDllPath);
                RuntimeDependencies.Add(fmodStudioDllPath);
                foreach (string plugin in plugins)
                {
                    string pluginPath = System.IO.Path.Combine(libPath, plugin + dllExtension);
                    System.Console.WriteLine("Adding reference to FMOD plugin: " + pluginPath);
                    RuntimeDependencies.Add(pluginPath);
                }
            }

            if (bLinkDebugFiles)
            {
                RuntimeDependencies.Add(fmodDllPath + ".debug", StagedFileType.DebugNonUFS);
                RuntimeDependencies.Add(fmodStudioDllPath + ".debug", StagedFileType.DebugNonUFS);
            }

            if (bAddDelayLoad)
            {
                PublicDelayLoadDLLs.AddRange(
                    new string[] {
                    fmodDllName,
                    fmodStudioDllName
                }
                    );
            }

            if (Target.Platform == UnrealTargetPlatform.Android)
            {
                string APLName    = System.String.Format("FMODStudio{0}_APL.xml", configName);
                string RelAPLPath = Utils.MakePathRelativeTo(System.IO.Path.Combine(ModuleDirectory, APLName), Target.RelativeEnginePath);
                System.Console.WriteLine("Adding {0}", RelAPLPath);
                AdditionalPropertiesForReceipt.Add("AndroidPlugin", RelAPLPath);
                foreach (string PluginName in System.IO.Directory.GetFiles(libPath))
                {
                    if (PluginName.EndsWith("_APL.xml", System.StringComparison.OrdinalIgnoreCase))
                    {
                        string RelPluginPath = Utils.MakePathRelativeTo(PluginName, Target.RelativeEnginePath);
                        System.Console.WriteLine("Adding {0}", RelPluginPath);
                        AdditionalPropertiesForReceipt.Add("AndroidPlugin", RelPluginPath);
                    }
                }
            }
        }
Пример #28
0
        public PrFirebase(ReadOnlyTargetRules Target) : base(Target)
        {
            PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;

            ConfigHierarchy EngineConfig = ConfigCache.ReadHierarchy(ConfigHierarchyType.Engine, DirectoryReference.FromFile(Target.ProjectFile), Target.Platform);

            bool bFirebaseLoggingInShipping = false;

            EngineConfig.TryGetValue("/Script/PrFirebase.PrFirebaseSettings", "bFirebaseLoggingInShipping", out bFirebaseLoggingInShipping);

            bool bFirebaseEnable                = false;
            bool bFirebaseCrashlyticsEnable     = false;
            bool bFirebaseRemoteConfigEnable    = false;
            bool bFirebaseAuthEnable            = false;
            bool bFirebasePerformanceEnable     = false;
            bool bFirebaseAppDistributionEnable = false;

            EngineConfig.TryGetValue("/Script/PrFirebase.PrFirebaseSettings", "bFirebaseEnable", out bFirebaseEnable);
            EngineConfig.TryGetValue("/Script/PrFirebase.PrFirebaseSettings", "bFirebaseCrashlyticsEnable", out bFirebaseCrashlyticsEnable);
            EngineConfig.TryGetValue("/Script/PrFirebase.PrFirebaseSettings", "bFirebaseRemoteConfigEnable", out bFirebaseRemoteConfigEnable);
            EngineConfig.TryGetValue("/Script/PrFirebase.PrFirebaseSettings", "bFirebaseAuthEnable", out bFirebaseAuthEnable);
            EngineConfig.TryGetValue("/Script/PrFirebase.PrFirebaseSettings", "bFirebasePerformanceEnable", out bFirebasePerformanceEnable);
            EngineConfig.TryGetValue("/Script/PrFirebase.PrFirebaseSettings", "bFirebaseAppDistributionEnable", out bFirebaseAppDistributionEnable);

            PrivateIncludePaths.AddRange(
                new string[] {
                "PrFirebase/Private"
            });

            PublicDependencyModuleNames.AddRange(
                new string[] {
                "Core",
                "CoreUObject",
                "Engine",
                "RenderCore",
                "RHI"
            });

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

            bool bSymbolsWarning = false;

            if (bFirebaseEnable)
            {
                if (Target.Platform == UnrealTargetPlatform.IOS)
                {
                    bool bGeneratedSYMBundle = false;
                    bool bGeneratedSYMFile   = false;
                    EngineConfig.TryGetValue("/Script/IOSRuntimeSettings.IOSRuntimeSettings", "bGeneratedSYMBundle", out bGeneratedSYMBundle);
                    EngineConfig.TryGetValue("/Script/IOSRuntimeSettings.IOSRuntimeSettings", "bGeneratedSYMFile", out bGeneratedSYMFile);

                    if ((!bGeneratedSYMBundle || !bGeneratedSYMFile) && bFirebaseCrashlyticsEnable)
                    {
                        bSymbolsWarning = true;
                    }

                    /* Firebase / Firebase Analytics */
                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "FirebaseAnalytics",
                            "../../ThirdParty/iOS/FirebaseAnalytics.embeddedframework.zip"
                            )
                        );

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "FirebaseCore",
                            "../../ThirdParty/iOS/FirebaseCore.embeddedframework.zip"
                            )
                        );

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "FirebaseCoreDiagnostics",
                            "../../ThirdParty/iOS/FirebaseCoreDiagnostics.embeddedframework.zip"
                            )
                        );

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "FirebaseInstallations",
                            "../../ThirdParty/iOS/FirebaseInstallations.embeddedframework.zip"
                            )
                        );

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "GoogleAppMeasurement",
                            "../../ThirdParty/iOS/GoogleAppMeasurement.embeddedframework.zip"
                            )
                        );

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "GoogleDataTransport",
                            "../../ThirdParty/iOS/GoogleDataTransport.embeddedframework.zip"
                            )
                        );

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "GoogleUtilities",
                            "../../ThirdParty/iOS/GoogleUtilities.embeddedframework.zip"
                            )
                        );

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "nanopb",
                            "../../ThirdParty/iOS/nanopb.embeddedframework.zip"
                            )
                        );

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "PromisesObjC",
                            "../../ThirdParty/iOS/PromisesObjC.embeddedframework.zip"
                            )
                        );

                    /* Crashlytics */
                    if (bFirebaseCrashlyticsEnable)
                    {
                        PublicAdditionalFrameworks.Add(
                            new Framework(
                                "FirebaseCrashlytics",
                                "../../ThirdParty/iOS/FirebaseCrashlytics.embeddedframework.zip"
                                )
                            );
                    }

                    /* Remote Config */
                    if (bFirebaseRemoteConfigEnable)
                    {
                        PublicAdditionalFrameworks.Add(
                            new Framework(
                                "FirebaseABTesting",
                                "../../ThirdParty/iOS/FirebaseABTesting.embeddedframework.zip"
                                )
                            );

                        PublicAdditionalFrameworks.Add(
                            new Framework(
                                "FirebaseRemoteConfig",
                                "../../ThirdParty/iOS/FirebaseRemoteConfig.embeddedframework.zip"
                                )
                            );

                        PublicAdditionalFrameworks.Add(
                            new Framework(
                                "Protobuf",
                                "../../ThirdParty/iOS/Protobuf.embeddedframework.zip"
                                )
                            );
                    }

                    /* Performance */
                    if (bFirebasePerformanceEnable)
                    {
                        PublicAdditionalFrameworks.Add(
                            new Framework(
                                "FirebaseABTesting",
                                "../../ThirdParty/iOS/FirebaseABTesting.embeddedframework.zip"
                                )
                            );

                        PublicAdditionalFrameworks.Add(
                            new Framework(
                                "FirebasePerformance",
                                "../../ThirdParty/iOS/FirebasePerformance.embeddedframework.zip"
                                )
                            );

                        PublicAdditionalFrameworks.Add(
                            new Framework(
                                "FirebaseRemoteConfig",
                                "../../ThirdParty/iOS/FirebaseRemoteConfig.embeddedframework.zip"
                                )
                            );

                        PublicAdditionalFrameworks.Add(
                            new Framework(
                                "Protobuf",
                                "../../ThirdParty/iOS/Protobuf.embeddedframework.zip"
                                )
                            );
                    }

                    /* Auth */
                    if (bFirebaseAuthEnable)
                    {
                        PublicAdditionalFrameworks.Add(
                            new Framework(
                                "FirebaseAuth",
                                "../../ThirdParty/iOS/FirebaseAuth.embeddedframework.zip"
                                )
                            );

                        PublicAdditionalFrameworks.Add(
                            new Framework(
                                "GTMSessionFetcher",
                                "../../ThirdParty/iOS/GTMSessionFetcher.embeddedframework.zip"
                                )
                            );
                    }

                    if (bFirebaseAppDistributionEnable)
                    {
                        PublicAdditionalFrameworks.Add(
                            new Framework(
                                "FirebaseAppDistribution",
                                "../../ThirdParty/iOS/FirebaseAppDistribution.embeddedframework.zip"
                                )
                            );
                    }

                    PublicSystemLibraries.Add("sqlite3");

                    PrivateIncludePaths.Add("PrFirebase/External/iOS");

                    string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
                    AdditionalPropertiesForReceipt.Add("IOSPlugin", Path.Combine(PluginPath, "PrFirebase_UPL_IOS.xml"));
                }
                else if (Target.Platform == UnrealTargetPlatform.Android)
                {
                    PublicDependencyModuleNames.AddRange(
                        new string[]
                    {
                        "Launch"
                    });

                    string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
                    AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(PluginPath, "PrFirebase_UPL_Android.xml"));
                }
                else
                {
                    bFirebaseEnable = false;
                }
            }

            PublicDefinitions.Add("WITH_FIREBASE=" + (bFirebaseEnable ? "1" : "0"));
            PublicDefinitions.Add("WITH_FIREBASE_CRASHLYTICS=" + (bFirebaseEnable && bFirebaseCrashlyticsEnable ? "1" : "0"));
            PublicDefinitions.Add("WITH_FIREBASE_REMOTECONFIG=" + (bFirebaseEnable && bFirebaseRemoteConfigEnable ? "1" : "0"));
            PublicDefinitions.Add("WITH_FIREBASE_AUTH=" + (bFirebaseEnable && bFirebaseAuthEnable ? "1" : "0"));
            PublicDefinitions.Add("WITH_FIREBASE_PERFORMANCE=" + (bFirebaseEnable && bFirebasePerformanceEnable ? "1" : "0"));
            PublicDefinitions.Add("WITH_FIREBASE_SYMBOLS_WARNING=" + (bFirebaseEnable && bSymbolsWarning ? "1" : "0"));
            PublicDefinitions.Add("WITH_FIREBASE_APPDISTRIBUTION=" + (bFirebaseEnable && bFirebaseAppDistributionEnable ? "1" : "0"));

            PublicDefinitions.Add("FIREBASE_LOGGING=" + (bFirebaseLoggingInShipping ? "1" : "0"));
        }
Пример #29
0
    public WebSocket(ReadOnlyTargetRules Target) : base(Target)
    {
        PublicIncludePaths.AddRange(
            new string[] {
            "WebSocket/Public"
            // ... add public include paths required here ...
        }
            );


        PrivateIncludePaths.AddRange(
            new string[] {
            "WebSocket/Private",
            // ... add other private include paths required here ...
        }
            );


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


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


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


        if (Target.Platform == UnrealTargetPlatform.Win64)
        {
            PrivateDependencyModuleNames.Add("zlib");
            PrivateDependencyModuleNames.Add("OpenSSL");
            PrivateIncludePaths.Add("WebSocket/ThirdParty/include/Win64");

            string strStaticPath = Path.GetFullPath(Path.Combine(ModulePath, "ThirdParty/lib/Win64/"));
            PublicLibraryPaths.Add(strStaticPath);


            string[] StaticLibrariesX64 = new string[] {
                "websockets_static.lib",
                //"libcrypto.lib",
                //"libssl.lib",
            };

            foreach (string Lib in StaticLibrariesX64)
            {
                PublicAdditionalLibraries.Add(Lib);
            }
        }
        else if (Target.Platform == UnrealTargetPlatform.Mac)
        {
            PrivateIncludePaths.Add("WebSocket/ThirdParty/include/Mac");
            string strStaticPath = Path.GetFullPath(Path.Combine(ModulePath, "ThirdParty/lib/Mac/"));
            //PublicLibraryPaths.Add(strStaticPath);

            string[] StaticLibrariesMac = new string[] {
                "libwebsockets.a",
                "libssl.a",
                "libcrypto.a"
            };

            foreach (string Lib in StaticLibrariesMac)
            {
                PublicAdditionalLibraries.Add(Path.Combine(strStaticPath, Lib));
            }
        }
        else if (Target.Platform == UnrealTargetPlatform.Linux)
        {
            PrivateDependencyModuleNames.Add("OpenSSL");
            PrivateIncludePaths.Add("WebSocket/ThirdParty/include/Linux");
            string strStaticPath = Path.GetFullPath(Path.Combine(ModulePath, "ThirdParty/lib/Linux/"));
            PublicLibraryPaths.Add(strStaticPath);

            string[] StaticLibrariesMac = new string[] {
                "libwebsockets.a",
                //"libssl.a",
                //"libcrypto.a"
            };

            foreach (string Lib in StaticLibrariesMac)
            {
                PublicAdditionalLibraries.Add(Path.Combine(strStaticPath, Lib));
            }
        }
        else if (Target.Platform == UnrealTargetPlatform.IOS)
        {
            PrivateIncludePaths.Add("WebSocket/ThirdParty/include/IOS");
            string strStaticPath = Path.GetFullPath(Path.Combine(ModulePath, "ThirdParty/lib/IOS/"));
            PublicLibraryPaths.Add(strStaticPath);

            string[] StaticLibrariesIOS = new string[] {
                "websockets",
                "ssl",
                "crypto"
            };

            foreach (string Lib in StaticLibrariesIOS)
            {
                PublicAdditionalLibraries.Add(Lib);
                PublicAdditionalShadowFiles.Add(Path.Combine(strStaticPath, "lib" + Lib + ".a"));
            }
        }
        else if (Target.Platform == UnrealTargetPlatform.Android)
        {
            PrivateIncludePaths.Add("WebSocket/ThirdParty/include/Android");
            string strStaticPath = Path.GetFullPath(Path.Combine(ModulePath, "ThirdParty/lib/Android/armeabi-v7a"));
            PublicLibraryPaths.Add(strStaticPath);


            string[] StaticLibrariesAndroid = new string[] {
                "websockets",
                //"ssl",
                //"crypto"
            };

            foreach (string Lib in StaticLibrariesAndroid)
            {
                PublicAdditionalLibraries.Add(Lib);
            }

            string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
            AdditionalPropertiesForReceipt.Add(new ReceiptProperty("AndroidPlugin", Path.Combine(PluginPath, "WebSocket_UPL.xml")));
        }
    }
        public PsIronSource(ReadOnlyTargetRules Target) : base(Target)
        {
            const bool bEnableIronSource = true;

            PublicDefinitions.Add("WITH_IRONSOURCE=" + (bEnableIronSource ? "1" : "0"));

            PrivateIncludePaths.AddRange(
                new string[] {
                "PsIronSource/Private",
            });

            PublicDependencyModuleNames.AddRange(
                new string[]
            {
                "Core",
                "CoreUObject",
                "Engine",
            });

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

            if (bEnableIronSource)
            {
                if (Target.Platform == UnrealTargetPlatform.IOS)
                {
                    string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
                    AdditionalPropertiesForReceipt.Add("IOSPlugin", Path.Combine(PluginPath, "PsIronSource_UPL_IOS.xml"));

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "IronSource",
                            "../../ThirdParty/iOS/IronSource.embeddedframework.zip"
                            )
                        );

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "ISFacebookAdapter",
                            "../../ThirdParty/iOS/ISFacebookAdapter.embeddedframework.zip"
                            )
                        );

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "ISUnityAdsAdapter",
                            "../../ThirdParty/iOS/ISUnityAdsAdapter.embeddedframework.zip"
                            )
                        );

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "ISAdMobAdapter",
                            "../../ThirdParty/iOS/ISAdMobAdapter.embeddedframework.zip"
                            )
                        );

                    // Dependence for ISAdMobAdapter
                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "GoogleAppMeasurement",
                            "../../ThirdParty/iOS/GoogleAppMeasurement_is.embeddedframework.zip"
                            )
                        );

                    // Dependence for ISAdMobAdapter
                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "GoogleMobileAds",
                            "../../ThirdParty/iOS/GoogleMobileAds.embeddedframework.zip"
                            )
                        );

                    // Dependence for ISAdMobAdapter
                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "GoogleUtilities",
                            "../../ThirdParty/iOS/GoogleUtilities_is.embeddedframework.zip"
                            )
                        );

                    // Dependence for ISAdMobAdapter
                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "nanopb",
                            "../../ThirdParty/iOS/nanopb_is.embeddedframework.zip"
                            )
                        );

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "ISAppLovinAdapter",
                            "../../ThirdParty/iOS/ISAppLovinAdapter.embeddedframework.zip"
                            )
                        );

                    // Dependence for ISAppLovinAdapter
                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "AppLovinSDK",
                            "../../ThirdParty/iOS/AppLovinSDK.embeddedframework.zip",
                            "AppLovinSDKResources.bundle"
                            )
                        );

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "ISVungleAdapter",
                            "../../ThirdParty/iOS/ISVungleAdapter.embeddedframework.zip"
                            )
                        );

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "ISAdColonyAdapter",
                            "../../ThirdParty/iOS/ISAdColonyAdapter.embeddedframework.zip"
                            )
                        );

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "ISTapjoyAdapter",
                            "../../ThirdParty/iOS/ISTapjoyAdapter.embeddedframework.zip",
                            "TapjoyResources.bundle"
                            )
                        );

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "ISInMobiAdapter",
                            "../../ThirdParty/iOS/ISInMobiAdapter.embeddedframework.zip"
                            )
                        );

                    PublicAdditionalLibraries.Add("xml2");
                    PublicAdditionalLibraries.Add("sqlite3");

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "ISTikTokAdapter",
                            "../../ThirdParty/iOS/ISTikTokAdapter.embeddedframework.zip",
                            "BUAdSDK.bundle"
                            )
                        );

                    PublicAdditionalLibraries.Add("resolv");

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "ISChartboostAdapter",
                            "../../ThirdParty/iOS/ISChartboostAdapter.embeddedframework.zip"
                            )
                        );

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "ISMintegralAdapter",
                            "../../ThirdParty/iOS/ISMintegralAdapter.embeddedframework.zip"
                            )
                        );

                    PublicAdditionalFrameworks.Add(
                        new Framework(
                            "ISMyTargetAdapter",
                            "../../ThirdParty/iOS/ISMyTargetAdapter.embeddedframework.zip"
                            )
                        );
                }
                else if (Target.Platform == UnrealTargetPlatform.Android)
                {
                    string PluginPath = Utils.MakePathRelativeTo(ModuleDirectory, Target.RelativeEnginePath);
                    AdditionalPropertiesForReceipt.Add("AndroidPlugin", Path.Combine(PluginPath, "PsIronSource_UPL_Android.xml"));
                }
            }
        }