// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. using UnrealBuildTool; using System.Collections.Generic; public class BuildPatchToolTarget : TargetRules { public BuildPatchToolTarget( TargetInfo Target ) { Type = TargetType.Program; } // // TargetRules interface. // 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; OutCPPEnvironmentConfiguration.Definitions.Add("WITH_BUILDPATCHGENERATION=1"); OutLinkEnvironmentConfiguration.bIsBuildingConsoleApplication = true; OutLinkEnvironmentConfiguration.bBuildAdditionalConsoleApplication = false; OutLinkEnvironmentConfiguration.bHasExports = false; } public override bool GUBP_AlwaysBuildWithTools(UnrealTargetPlatform InHostPlatform, bool bBuildingRocket, out bool bInternalToolOnly, out bool SeparateNode) { bInternalToolOnly = true; SeparateNode = true; return true; } }