Files
2025-05-18 13:04:45 +08:00

62 lines
2.0 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using System;
using System.IO;
namespace UnrealBuildTool.Rules
{
public class RazerChromaSDK : ModuleRules
{
public RazerChromaSDK(ReadOnlyTargetRules Target) : base(Target)
{
Type = ModuleType.External;
// TODO: We may want to suport other platforms in the future as well
if (Target.IsInPlatformGroup(UnrealPlatformGroup.Windows))
{
// Add the third party include folders so that we can use Razer types
PublicSystemIncludePaths.Add(Path.Combine(ModuleDirectory, "ThirdParty"));
if (Target.Architecture != UnrealArch.Arm64)
{
// Redist the CChromaEditorLibrary64.dll with the game
string DllPath = Path.GetFullPath(Path.Combine(PluginDirectory, "Binaries/ThirdParty/Win64"));
RuntimeDependencies.Add(Path.Combine(DllPath, "CChromaEditorLibrary64.dll"));
// We only want the debug symbols outside of shipping
if (Target.Configuration != UnrealTargetConfiguration.Shipping)
{
// The PDB file may not exist if cloning from GitHub. See the README for
// where to put it if you need extra debug symbols.
string PDBPath = Path.Combine(DllPath, "CChromaEditorLibrary64.pdb");
if (File.Exists(PDBPath))
{
RuntimeDependencies.Add(PDBPath);
}
}
}
else
{
// Redist the CChromaEditorLibrary.dll with the game
string DllPath = Path.GetFullPath(Path.Combine(PluginDirectory, "Binaries/ThirdParty/Win32"));
RuntimeDependencies.Add(Path.Combine(DllPath, "CChromaEditorLibrary.dll"));
// We only want the debug symbols outside of shipping
if (Target.Configuration != UnrealTargetConfiguration.Shipping)
{
// The PDB file may not exist if cloning from GitHub. See the README for
// where to put it if you need extra debug symbols.
string PDBPath = Path.Combine(DllPath, "CChromaEditorLibrary.pdb");
if (File.Exists(PDBPath))
{
RuntimeDependencies.Add(PDBPath);
}
}
}
}
}
}
}