You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Live++ reads object files at startup for game modules, and assigns unique ids to each compiland (used to disambiguate static variables). When compiling the patch, these compilands are modified to reference a unique id for the unity blob, causing the variables to be reconstructed. Solution is to generate a JSON file to each output directory containing object files containing the mapping, and to use that to assign compiland ids at startup. #rb none #jira UE-74036 #ROBOMERGE-SOURCE: CL 6455253 in //UE4/Release-4.22/... #ROBOMERGE-BOT: RELEASE (Release-4.22 -> Main) [CL 6455273 by ben marsh in Main branch]
39 lines
1.3 KiB
C#
39 lines
1.3 KiB
C#
// Copyright 1998-2019 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");
|
|
|
|
AddEngineThirdPartyPrivateStaticDependencies(Target, "Distorm");
|
|
|
|
if (Target.Platform == UnrealTargetPlatform.Win32 || Target.Platform == UnrealTargetPlatform.Win64)
|
|
{
|
|
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");
|
|
}
|
|
|
|
PrivateIncludePaths.Add(Path.Combine(DiaSdkDir, "include"));
|
|
PublicAdditionalLibraries.Add(Path.Combine(DiaSdkDir, "lib", "amd64", "diaguids.lib"));
|
|
RuntimeDependencies.Add("$(TargetOutputDir)/msdia140.dll", Path.Combine(DiaSdkDir, "bin", "amd64", "msdia140.dll"));
|
|
}
|
|
|
|
// Allow precompiling when generating project files so we can get intellisense
|
|
if(!Target.bGenerateProjectFiles)
|
|
{
|
|
PrecompileForTargets = PrecompileTargetsType.None;
|
|
}
|
|
}
|
|
}
|