Пример #1
0
 static string GetBlastLibraryConfiguration(BlastLibraryMode Mode)
 {
     switch (Mode)
     {
         case BlastLibraryMode.Debug:
             return "DEBUG";
         case BlastLibraryMode.Checked:
             return "CHECKED";
         case BlastLibraryMode.Profile:
             return "PROFILE";
         case BlastLibraryMode.Shipping:
         default:
             return "";
     }
 }
Пример #2
0
    public Blast(ReadOnlyTargetRules Target) : base(Target)
    {
        Type = ModuleType.External;

        // Determine which kind of libraries to link against
        BlastLibraryMode LibraryMode      = GetBlastLibraryMode(Target.Configuration);
        string           LibConfiguration = GetBlastLibraryConfiguration(LibraryMode);

        string BlastDir = ModuleDirectory;

        PublicIncludePaths.AddRange(
            new string[] {
            BlastDir + "/common",
            BlastDir + "/lowlevel/include",
            BlastDir + "/globals/include",
            BlastDir + "/extensions/physx/include",
            BlastDir + "/extensions/authoring/include",
        }
            );

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


        List <string> BlastLibraries = new List <string>();

        BlastLibraries.AddRange(
            new string[]
        {
            "NvBlast",
            "NvBlastGlobals",
            "NvBlastExtAuthoring"
        });

        string LibSuffix = null;
        string DllSuffix = null;

        // Libraries for windows platform
        if (Target.Platform == UnrealTargetPlatform.Win64)
        {
            LibSuffix = "_x64.lib";
            DllSuffix = "_x64.dll";

            string BlastLibDirFullPath = BlastDir + "/Lib/Win64/VS" + Target.WindowsPlatform.GetVisualStudioCompilerVersionName();
            PublicLibraryPaths.Add(BlastLibDirFullPath);
        }
        // TODO: Other configurations?

        if (LibSuffix != null)
        {
            foreach (string Lib in BlastLibraries)
            {
                string LibName = String.Format("{0}{1}{2}", Lib, LibConfiguration, LibSuffix);
                PublicAdditionalLibraries.Add(LibName);
                string BlastDllDirFullPath = PluginDirectory + "/Binaries/Win64/";
                string DllName             = String.Format("{0}{1}{2}", Lib, LibConfiguration, DllSuffix);
                RuntimeDependencies.Add(Path.Combine(BlastDllDirFullPath, DllName));
            }
        }
    }