50 lines
1.7 KiB
C#
50 lines
1.7 KiB
C#
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
using UnrealBuildTool;
|
|
using System.IO;
|
|
|
|
public class SwarmInterface : ModuleRules
|
|
{
|
|
public SwarmInterface(ReadOnlyTargetRules Target) : base(Target)
|
|
{
|
|
PublicDependencyModuleNames.AddRange(
|
|
new string[] {
|
|
"Core",
|
|
"CoreUObject",
|
|
}
|
|
);
|
|
|
|
if (Target.Platform == UnrealTargetPlatform.Mac || Target.Platform == UnrealTargetPlatform.Linux)
|
|
{
|
|
PrivateIncludePathModuleNames.Add("MessagingCommon");
|
|
// the modules below are only needed for the UMB usability check
|
|
PublicDependencyModuleNames.Add("Sockets");
|
|
PublicDependencyModuleNames.Add("Networking");
|
|
}
|
|
else if (Target.Platform == UnrealTargetPlatform.Win64)
|
|
{
|
|
string NetFxSdkDir = Target.WindowsPlatform.NetFxSdkDir;
|
|
if (NetFxSdkDir == null)
|
|
{
|
|
throw new BuildException("Could not find NetFxSDK install dir; this will prevent SwarmInterface from installing. Install a version of .NET Framework SDK at 4.6.0 or higher.");
|
|
}
|
|
|
|
ExtraRootPath = ("NetFxSdk", NetFxSdkDir);
|
|
|
|
string ArchFolder = Target.WindowsPlatform.Architecture.WindowsLibDir;
|
|
|
|
PrivateIncludePaths.Add(Path.Combine(NetFxSdkDir, "include", "um"));
|
|
PublicSystemLibraryPaths.Add(Path.Combine(NetFxSdkDir, "lib", "um", ArchFolder));
|
|
}
|
|
|
|
// Copy the AgentInterface DLL to the same output directory as the editor DLL.
|
|
RuntimeDependencies.Add("$(BinaryOutputDir)/AgentInterface.dll", "$(EngineDir)/Binaries/DotNET/AgentInterface.dll", StagedFileType.NonUFS);
|
|
|
|
// Also copy the PDB, if it exists
|
|
if(File.Exists(Path.Combine(EngineDirectory, "Binaries", "DotNET", "AgentInterface.pdb")))
|
|
{
|
|
RuntimeDependencies.Add("$(BinaryOutputDir)/AgentInterface.pdb", "$(EngineDir)/Binaries/DotNET/AgentInterface.pdb", StagedFileType.DebugNonUFS);
|
|
}
|
|
}
|
|
}
|