Files
UnrealEngine/Engine/Source/Developer/Windows/LiveCodingServer/LiveCodingServer.Build.cs
2025-05-18 13:04:45 +08:00

54 lines
1.7 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
using System.IO;
public class LiveCodingServer : ModuleRules
{
public LiveCodingServer(ReadOnlyTargetRules Target) : base(Target)
{
PrivateDependencyModuleNames.Add("Core");
PrivateDependencyModuleNames.Add("Json");
PrivateDependencyModuleNames.Add("LiveCoding");
PrivateDependencyModuleNames.Add("VisualStudioDTE");
AddEngineThirdPartyPrivateStaticDependencies(Target, "Distorm");
if (Target.Platform == UnrealTargetPlatform.Win64)
{
PrivateDefinitions.Add("LC_VERSION=1");
PrivateIncludePaths.Add("Developer/Windows/LiveCoding/Private");
PrivateIncludePaths.Add("Developer/Windows/LiveCoding/Private/External");
string DiaSdkDir = Target.WindowsPlatform.DiaSdkDir;
if(DiaSdkDir == null)
{
throw new System.Exception("Unable to find DIA SDK directory");
}
string Arch = (Target.Architecture == UnrealArch.Arm64) ? "arm64" : "amd64";
string RuntimeArchDir = (Target.Architecture == UnrealArch.Arm64) ? "arm64" : "";
ExtraRootPath = ("DiaSdkDir", DiaSdkDir);
PrivateIncludePaths.Add(Path.Combine(DiaSdkDir, "include"));
PublicAdditionalLibraries.Add(Path.Combine(DiaSdkDir, "lib", Arch, "diaguids.lib"));
RuntimeDependencies.Add(Path.Combine("$(TargetOutputDir)", RuntimeArchDir, "msdia140.dll"), Path.Combine(DiaSdkDir, "bin", Arch, "msdia140.dll"));
}
if (Target.Configuration == UnrealTargetConfiguration.Debug)
{
PrivateDefinitions.Add("LC_DEBUG=1");
}
else
{
PrivateDefinitions.Add("LC_DEBUG=0");
}
// Allow precompiling when generating project files so we can get intellisense
if(!Target.bGenerateProjectFiles)
{
PrecompileForTargets = PrecompileTargetsType.None;
}
}
}