// Copyright Epic Games, Inc. All Rights Reserved.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using EpicGames.Core;
using UnrealBuildBase;
namespace UnrealBuildTool
{
///
/// Represents a Mac/IOS framework
///
class UEBuildFramework
{
///
/// The name of this framework
///
public readonly string Name;
///
/// Path to a zip file containing the framework. May be null.
///
public readonly FileReference? ZipFile;
///
/// Path to the framework on disk.
///
public readonly DirectoryReference? FrameworkDirectory;
///
///
///
public readonly string? CopyBundledAssets;
///
/// Copy the framework to the target's Framework directory
///
public readonly bool bCopyFramework = false;
///
/// File created after the framework has been extracted. Used to add dependencies into the action graph.
///
public FileItem? ExtractedTokenFile;
///
/// Constructor
///
/// The framework name
///
public UEBuildFramework(string Name, string? CopyBundledAssets = null)
{
this.Name = Name;
this.CopyBundledAssets = CopyBundledAssets;
}
///
/// Constructor
///
/// The framework name
/// Path to the zip file for this framework
/// Path for the extracted zip file
///
/// Copy the framework to the target's Framework directory
public UEBuildFramework(string Name, FileReference? ZipFile, DirectoryReference? OutputDirectory, string? CopyBundledAssets, bool bCopyFramework)
{
this.Name = Name;
this.ZipFile = ZipFile;
this.FrameworkDirectory = OutputDirectory;
this.CopyBundledAssets = CopyBundledAssets;
this.bCopyFramework = bCopyFramework;
}
///
/// Constructor
///
/// The framework name
/// Path for the framework on disk
///
/// Copy the framework to the target's Framework directory
public UEBuildFramework(String Name, DirectoryReference? FrameworkDirectory, string? CopyBundledAssets, bool bCopyFramework)
{
this.Name = Name;
this.FrameworkDirectory = FrameworkDirectory;
this.CopyBundledAssets = CopyBundledAssets;
this.bCopyFramework = bCopyFramework;
}
}
}