Files
UnrealEngineUWP/Engine/Source/Programs/CrashReporter/CrashReportClient/CrashReportClient.Target.cs
Ben Marsh 20bf0eb6a1 Updating copyright notices to 2017 (copying from //Tasks/UE4/Dev-Copyright-2017).
#rb none
#lockdown Nick.Penwarden

[CL 3226823 by Ben Marsh in Main branch]
2016-12-08 08:52:44 -05:00

100 lines
3.0 KiB
C#

// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
using System.Collections.Generic;
public class CrashReportClientTarget : TargetRules
{
public CrashReportClientTarget(TargetInfo Target)
{
Type = TargetType.Program;
UndecoratedConfiguration = UnrealTargetConfiguration.Shipping;
}
//
// TargetRules interface.
//
public override bool GetSupportedPlatforms(ref List<UnrealTargetPlatform> OutPlatforms)
{
OutPlatforms.Add(UnrealTargetPlatform.Win32);
OutPlatforms.Add(UnrealTargetPlatform.Win64);
OutPlatforms.Add(UnrealTargetPlatform.Mac);
OutPlatforms.Add(UnrealTargetPlatform.Linux);
return true;
}
public override bool GetSupportedConfigurations(ref List<UnrealTargetConfiguration> OutConfigurations, bool bIncludeTestAndShippingConfigs)
{
if( base.GetSupportedConfigurations( ref OutConfigurations, bIncludeTestAndShippingConfigs ) )
{
if( bIncludeTestAndShippingConfigs )
{
OutConfigurations.Add( UnrealTargetConfiguration.Shipping );
}
OutConfigurations.Add( UnrealTargetConfiguration.Debug );
return true;
}
else
{
return false;
}
}
public override void SetupBinaries(
TargetInfo Target,
ref List<UEBuildBinaryConfiguration> OutBuildBinaryConfigurations,
ref List<string> OutExtraModuleNames
)
{
OutBuildBinaryConfigurations.Add(
new UEBuildBinaryConfiguration( InType: UEBuildBinaryType.Executable,
InModuleNames: new List<string>() { "CrashReportClient" })
);
if (Target.Platform != UnrealTargetPlatform.Linux)
{
OutExtraModuleNames.Add("EditorStyle");
}
}
public override bool ShouldCompileMonolithic(UnrealTargetPlatform InPlatform, UnrealTargetConfiguration InConfiguration)
{
return true;
}
public override void SetupGlobalEnvironment(
TargetInfo Target,
ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
)
{
UEBuildConfiguration.bCompileLeanAndMeanUE = true;
// Don't need editor
UEBuildConfiguration.bBuildEditor = false;
// CrashReportClient doesn't ever compile with the engine linked in
UEBuildConfiguration.bCompileAgainstEngine = false;
UEBuildConfiguration.bCompileAgainstCoreUObject = true;
UEBuildConfiguration.bUseLoggingInShipping = true;
UEBuildConfiguration.bIncludeADO = false;
// Do not include ICU for Linux (this is a temporary workaround, separate headless CrashReportClient target should be created, see UECORE-14 for details).
if (Target.Platform == UnrealTargetPlatform.Linux)
{
UEBuildConfiguration.bCompileICU = false;
}
// CrashReportClient.exe has no exports, so no need to verify that a .lib and .exp file was emitted by
// the linker.
OutLinkEnvironmentConfiguration.bHasExports = false;
UEBuildConfiguration.bUseChecksInShipping = true;
// Epic Games Launcher needs to run on OS X 10.9, so CrashReportClient needs this as well
OutCPPEnvironmentConfiguration.bEnableOSX109Support = true;
}
}