2014-12-07 19:09:38 -05:00
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
2014-03-14 14:13:41 -04:00
using UnrealBuildTool ;
using System.Collections.Generic ;
public class CrashReportClientTarget : TargetRules
{
public CrashReportClientTarget ( TargetInfo Target )
{
Type = TargetType . Program ;
2015-04-12 10:51:07 -04:00
UndecoratedConfiguration = UnrealTargetConfiguration . Shipping ;
2014-03-14 14:13:41 -04:00
}
//
// TargetRules interface.
//
public override bool GetSupportedPlatforms ( ref List < UnrealTargetPlatform > OutPlatforms )
{
2014-06-13 09:59:36 -04:00
OutPlatforms . Add ( UnrealTargetPlatform . Win32 ) ;
OutPlatforms . Add ( UnrealTargetPlatform . Win64 ) ;
2014-03-14 14:13:41 -04:00
OutPlatforms . Add ( UnrealTargetPlatform . Mac ) ;
OutPlatforms . Add ( UnrealTargetPlatform . Linux ) ;
return true ;
}
2014-06-17 07:35:46 -04:00
public override bool GetSupportedConfigurations ( ref List < UnrealTargetConfiguration > OutConfigurations , bool bIncludeTestAndShippingConfigs )
{
if ( base . GetSupportedConfigurations ( ref OutConfigurations , bIncludeTestAndShippingConfigs ) )
{
OutConfigurations . Add ( UnrealTargetConfiguration . Shipping ) ;
2014-07-04 10:12:39 -04:00
OutConfigurations . Add ( UnrealTargetConfiguration . Debug ) ;
2014-06-17 07:35:46 -04:00
return true ;
}
else
{
return false ;
}
}
2014-03-14 14:13:41 -04:00
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" ) ;
}
}
2014-06-13 09:59:36 -04:00
public override bool ShouldCompileMonolithic ( UnrealTargetPlatform InPlatform , UnrealTargetConfiguration InConfiguration )
{
return true ;
}
2014-03-14 14:13:41 -04:00
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 ;
2014-11-04 12:26:50 -05:00
UEBuildConfiguration . bCompileAgainstCoreUObject = true ;
2014-06-13 09:59:36 -04:00
UEBuildConfiguration . bUseLoggingInShipping = true ;
2014-07-04 10:12:39 -04:00
UEBuildConfiguration . bCompileSteamOSS = false ;
2014-03-14 14:13:41 -04:00
2015-01-23 06:26:40 -05:00
UEBuildConfiguration . bIncludeADO = false ;
2014-10-14 18:03:33 -04:00
// 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 ;
}
2014-03-14 14:13:41 -04:00
// CrashReportClient.exe has no exports, so no need to verify that a .lib and .exp file was emitted by
// the linker.
OutLinkEnvironmentConfiguration . bHasExports = false ;
2014-06-13 09:59:36 -04:00
OutCPPEnvironmentConfiguration . Definitions . Add ( "USE_CHECKS_IN_SHIPPING=1" ) ;
}
2015-03-12 08:29:35 -04:00
public override bool GUBP_AlwaysBuildWithTools ( UnrealTargetPlatform InHostPlatform , out bool bInternalToolOnly , out bool SeparateNode , out bool CrossCompile )
2014-06-13 09:59:36 -04:00
{
bInternalToolOnly = false ;
SeparateNode = false ;
2015-01-06 10:24:25 -05:00
CrossCompile = true ;
2014-06-13 09:59:36 -04:00
return true ;
}
public override List < UnrealTargetPlatform > GUBP_ToolPlatforms ( UnrealTargetPlatform InHostPlatform )
{
if ( InHostPlatform = = UnrealTargetPlatform . Win64 )
{
2015-01-06 10:24:25 -05:00
return new List < UnrealTargetPlatform > { UnrealTargetPlatform . Win64 , UnrealTargetPlatform . Win32 } ;
2014-06-13 09:59:36 -04:00
}
return base . GUBP_ToolPlatforms ( InHostPlatform ) ;
}
public override List < UnrealTargetConfiguration > GUBP_ToolConfigs ( UnrealTargetPlatform InHostPlatform )
{
2014-06-17 07:35:46 -04:00
return new List < UnrealTargetConfiguration > { UnrealTargetConfiguration . Shipping } ;
2014-03-14 14:13:41 -04:00
}
}