Files
UnrealEngineUWP/Engine/Source/Programs/CrashReportClient/CrashReportClient.Target.cs
Patrick Laflamme 1a529c64db #jira UE-80882 - Crash Report Client does not appear when debug crashing
- Explicitely enabled message bus if shipping if the build is monolithic because Concert/DisasterRecovery needs it to work.
  - Detected at runtime if message bus was unexpectedly disabled by build configuration and disabled recovery service rather than crashing on an failed assert.

#rb Francis.Hurteau

[CL 9228773 by Patrick Laflamme in Dev-Core branch]
2019-09-27 15:41:26 -04:00

59 lines
2.0 KiB
C#

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
using System.Collections.Generic;
[SupportedPlatforms("Win32", "Win64", "Mac", "Linux")]
[SupportedConfigurations(UnrealTargetConfiguration.Debug, UnrealTargetConfiguration.Development, UnrealTargetConfiguration.Shipping)]
public class CrashReportClientTarget : TargetRules
{
public CrashReportClientTarget(TargetInfo Target) : base(Target)
{
Type = TargetType.Program;
LinkType = TargetLinkType.Monolithic;
UndecoratedConfiguration = UnrealTargetConfiguration.Shipping;
LaunchModuleName = "CrashReportClient";
AdditionalPlugins.Add("UdpMessaging");
AdditionalPlugins.Add("ConcertSyncServer");
bBuildWithEditorOnlyData = false;
bCompileWithPluginSupport = true; // Enable Developer plugins (like Concert!)
if (Target.Platform != UnrealTargetPlatform.Linux)
{
ExtraModuleNames.Add("EditorStyle");
}
bLegalToDistributeBinary = true;
bBuildDeveloperTools = true;
// CrashReportClient doesn't ever compile with the engine linked in
bCompileAgainstEngine = false;
bCompileAgainstCoreUObject = true;
bUseLoggingInShipping = true;
// CrashReportClient.exe has no exports, so no need to verify that a .lib and .exp file was emitted by
// the linker.
bHasExports = false;
bUseChecksInShipping = true;
// Epic Games Launcher needs to run on OS X 10.9, so CrashReportClient needs this as well
bEnableOSX109Support = true;
// Need to disable the bundled version of dbghelp so that CrashDebugHelper can load dbgeng.dll.
WindowsPlatform.bUseBundledDbgHelp = false;
GlobalDefinitions.Add("NOINITCRASHREPORTER=1");
if (Target.Configuration == UnrealTargetConfiguration.Shipping && LinkType == TargetLinkType.Monolithic)
{
// DisasterRecovery/Concert needs message bus to run. If not enabled, Recovery Service will self-disable as well. In Shipping
// message bus is turned off by default but for a monolithic build, it can be turned on just for this executable.
GlobalDefinitions.Add("PLATFORM_SUPPORTS_MESSAGEBUS=1");
}
}
}