// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.IO;
namespace UnrealBuildTool
{
///
/// Base class for platform-specific project generators
///
class WinRTProjectGenerator : UEPlatformProjectGenerator
{
///
/// Register the platform with the UEPlatformProjectGenerator class
///
public override void RegisterPlatformProjectGenerator()
{
// Register this project generator for WinRT
Log.TraceVerbose(" Registering for {0}", UnrealTargetPlatform.WinRT.ToString());
UEPlatformProjectGenerator.RegisterPlatformProjectGenerator(UnrealTargetPlatform.WinRT, this);
// For now only register WinRT_ARM is truly a Windows 8 machine.
// This will prevent people who do all platform builds from running into the compiler issue.
if (WinRTPlatform.IsWindows8() == true)
{
Log.TraceVerbose(" Registering for {0}", UnrealTargetPlatform.WinRT_ARM.ToString());
UEPlatformProjectGenerator.RegisterPlatformProjectGenerator(UnrealTargetPlatform.WinRT_ARM, this);
}
}
///
/// VisualStudio project generation functions
///
///
/// Whether this build platform has native support for VisualStudio
///
/// The UnrealTargetPlatform being built
/// The UnrealTargetConfiguration being built
/// bool true if native VisualStudio support (or custom VSI) is available
public override bool HasVisualStudioSupport(UnrealTargetPlatform InPlatform, UnrealTargetConfiguration InConfiguration)
{
return false;
}
///
/// Return the VisualStudio platform name for this build platform
///
/// The UnrealTargetPlatform being built
/// The UnrealTargetConfiguration being built
/// string The name of the platform that VisualStudio recognizes
public override string GetVisualStudioPlatformName(UnrealTargetPlatform InPlatform, UnrealTargetConfiguration InConfiguration)
{
if (InPlatform == UnrealTargetPlatform.WinRT)
{
return "WinRT";
}
return InPlatform.ToString();
}
///
/// Return the platform toolset string to write into the project configuration
///
/// The UnrealTargetPlatform being built
/// The UnrealTargetConfiguration being built
/// string The custom configuration section for the project file; Empty string if it doesn't require one
public override string GetVisualStudioPlatformToolsetString(UnrealTargetPlatform InPlatform, UnrealTargetConfiguration InConfiguration, VCProjectFile InProjectFile)
{
return " v110" + ProjectFileGenerator.NewLine;
}
///
/// Get whether this platform deploys
///
/// bool true if the 'Deploy' option should be enabled
public override bool GetVisualStudioDeploymentEnabled(UnrealTargetPlatform InPlatform, UnrealTargetConfiguration InConfiguration)
{
return true;
}
}
}