53 lines
2.0 KiB
C#
53 lines
2.0 KiB
C#
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
using EpicGames.Core;
|
|
using UnrealBuildTool;
|
|
using System;
|
|
using System.IO;
|
|
|
|
public class SuperLuminal : ModuleRules
|
|
{
|
|
public SuperLuminal(ReadOnlyTargetRules Target) : base(Target)
|
|
{
|
|
Type = ModuleType.External;
|
|
|
|
string SuperLuminalFolder = "Null";
|
|
|
|
if (Target.Platform.IsInGroup(UnrealPlatformGroup.Windows) && Target.Configuration != UnrealTargetConfiguration.Shipping)
|
|
{
|
|
string SuperluminalInstallDir = OperatingSystem.IsWindows() ? Microsoft.Win32.Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Superluminal\Performance", "InstallDir", null) as string : null;
|
|
if (String.IsNullOrEmpty(SuperluminalInstallDir))
|
|
{
|
|
SuperluminalInstallDir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles), "Superluminal", "Performance");
|
|
}
|
|
|
|
string SuperluminalApiDir = Path.Combine(SuperluminalInstallDir, "API");
|
|
string SuperluminalLibDir = Path.Combine(SuperluminalApiDir, "lib", Target.Architecture.WindowsLibDir);
|
|
|
|
if (Target.Configuration != UnrealTargetConfiguration.Shipping &&
|
|
File.Exists(Path.Combine(SuperluminalApiDir, "include/Superluminal/PerformanceAPI_capi.h")))
|
|
{
|
|
ExtraRootPath = ("SuperLuminal", SuperluminalApiDir);
|
|
|
|
if (Target.bDebugBuildsActuallyUseDebugCRT == true && Target.Configuration == UnrealTargetConfiguration.Debug)
|
|
{
|
|
PublicAdditionalLibraries.Add(Path.Combine(SuperluminalLibDir, "PerformanceAPI_MDd.lib"));
|
|
SuperLuminalFolder = "MDd";
|
|
}
|
|
else
|
|
{
|
|
PublicAdditionalLibraries.Add(Path.Combine(SuperluminalLibDir, "PerformanceAPI_MD.lib"));
|
|
SuperLuminalFolder = "MD";
|
|
}
|
|
PrivateDefinitions.Add("WITH_SUPERLUMINAL_PROFILER=1");
|
|
PrivateIncludePaths.Add(Path.Combine(SuperluminalApiDir, "include/"));
|
|
}
|
|
else
|
|
{
|
|
PrivateDefinitions.Add("WITH_SUPERLUMINAL_PROFILER=0");
|
|
}
|
|
}
|
|
|
|
PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "Lib", Target.Architecture.WindowsLibDir, SuperLuminalFolder, "SuperLuminal.lib"));
|
|
}
|
|
}
|