// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved. using UnrealBuildTool; using System.Collections.Generic; public class BuildPatchToolTarget : TargetRules { public BuildPatchToolTarget(TargetInfo Target) { Type = TargetType.Program; bOutputPubliclyDistributable = true; UndecoratedConfiguration = UnrealTargetConfiguration.Shipping; } // // TargetRules interface. // public override bool GetSupportedPlatforms(ref List 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 OutConfigurations, bool bIncludeTestAndShippingConfigs) { OutConfigurations.Add(UnrealTargetConfiguration.Debug); OutConfigurations.Add(UnrealTargetConfiguration.Development); OutConfigurations.Add(UnrealTargetConfiguration.Shipping); return true; } public override void SetupBinaries( TargetInfo Target, ref List OutBuildBinaryConfigurations, ref List OutExtraModuleNames) { OutBuildBinaryConfigurations.Add( new UEBuildBinaryConfiguration( InType: UEBuildBinaryType.Executable, InModuleNames: new List() { "BuildPatchTool" } ) ); } public override bool ShouldCompileMonolithic(UnrealTargetPlatform InPlatform, UnrealTargetConfiguration InConfiguration) { return true; } public override void SetupGlobalEnvironment( TargetInfo Target, ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration, ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration) { UEBuildConfiguration.bBuildEditor = false; UEBuildConfiguration.bCompileAgainstEngine = false; UEBuildConfiguration.bCompileAgainstCoreUObject = false; UEBuildConfiguration.bCompileLeanAndMeanUE = true; UEBuildConfiguration.bUseLoggingInShipping = true; UEBuildConfiguration.bUseChecksInShipping = true; OutLinkEnvironmentConfiguration.bIsBuildingConsoleApplication = true; OutLinkEnvironmentConfiguration.bHasExports = false; } }