Files
UnrealEngineUWP/Engine/Source/UE4Client.Target.cs
Dmitry Rekman 16662dffa0 More uniform handling of GUBP platforms.
Specifies platforms more explicitly, making things easier when an "unexpected" host platform is passed.

#codereview Kellan.Carr

[CL 2286780 by Dmitry Rekman in Main branch]
2014-09-05 17:49:54 -04:00

85 lines
2.6 KiB
C#

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
using System.Collections.Generic;
public class UE4ClientTarget : TargetRules
{
public UE4ClientTarget(TargetInfo Target)
{
Type = TargetType.Client;
bOutputToEngineBinaries = true;
}
//
// TargetRules interface.
//
public override void SetupBinaries(
TargetInfo Target,
ref List<UEBuildBinaryConfiguration> OutBuildBinaryConfigurations,
ref List<string> OutExtraModuleNames
)
{
base.SetupBinaries(Target, ref OutBuildBinaryConfigurations, ref OutExtraModuleNames);
OutExtraModuleNames.Add("UE4Game");
}
public override void SetupGlobalEnvironment(
TargetInfo Target,
ref LinkEnvironmentConfiguration OutLinkEnvironmentConfiguration,
ref CPPEnvironmentConfiguration OutCPPEnvironmentConfiguration
)
{
if (UnrealBuildTool.UnrealBuildTool.BuildingRocket())
{
UEBuildConfiguration.bCompileLeanAndMeanUE = true;
// Don't need editor or editor only data
UEBuildConfiguration.bBuildEditor = false;
UEBuildConfiguration.bBuildWithEditorOnlyData = false;
UEBuildConfiguration.bCompileAgainstEngine = true;
// no exports, so no need to verify that a .lib and .exp file was emitted by the linker.
OutLinkEnvironmentConfiguration.bHasExports = false;
}
else
{
// Tag it as a UE4Game build
OutCPPEnvironmentConfiguration.Definitions.Add("UE4GAME=1");
}
}
public override List<UnrealTargetPlatform> GUBP_GetPlatforms_MonolithicOnly(UnrealTargetPlatform HostPlatform)
{
List<UnrealTargetPlatform> Platforms = null;
switch(HostPlatform)
{
case UnrealTargetPlatform.Mac:
Platforms = new List<UnrealTargetPlatform> { HostPlatform, UnrealTargetPlatform.IOS };
break;
case UnrealTargetPlatform.Linux:
Platforms = new List<UnrealTargetPlatform> { HostPlatform };
break;
case UnrealTargetPlatform.Win64:
Platforms = new List<UnrealTargetPlatform> { HostPlatform, UnrealTargetPlatform.Win32, UnrealTargetPlatform.Linux /*, UnrealTargetPlatform.IOS, UnrealTargetPlatform.XboxOne, UnrealTargetPlatform.PS4 */};
break;
default:
Platforms = new List<UnrealTargetPlatform>();
break;
}
return Platforms;
}
public override List<UnrealTargetConfiguration> GUBP_GetConfigs_MonolithicOnly(UnrealTargetPlatform HostPlatform, UnrealTargetPlatform Platform)
{
return new List<UnrealTargetConfiguration> { UnrealTargetConfiguration.Development };
}
}