// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved. using UnrealBuildTool; using System.Collections.Generic; public class BlankProgramTarget : TargetRules { public BlankProgramTarget(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() { "BlankProgram" } ) ); } public override bool ShouldCompileMonolithic(UnrealTargetPlatform InPlatform, UnrealTargetConfiguration InConfiguration) { return true; } public override void SetupGlobalEnvironment( TargetInfo Target, ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration, ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration ) { // Lean and mean UEBuildConfiguration.bCompileLeanAndMeanUE = true; // Never use malloc profiling in Unreal Header Tool. We set this because often UHT is compiled right before the engine // automatically by Unreal Build Tool, but if bUseMallocProfiler is defined, UHT can operate incorrectly. BuildConfiguration.bUseMallocProfiler = false; // No editor needed UEBuildConfiguration.bBuildEditor = false; // Editor-only data, however, is needed UEBuildConfiguration.bBuildWithEditorOnlyData = true; // Currently this app is not linking against the engine, so we'll compile out references from Core to the rest of the engine UEBuildConfiguration.bCompileAgainstEngine = false; UEBuildConfiguration.bCompileAgainstCoreUObject = false; // UnrealHeaderTool is a console application, not a Windows app (sets entry point to main(), instead of WinMain()) OutLinkEnvironmentConfiguration.bIsBuildingConsoleApplication = true; } }