Files
UnrealEngineUWP/Engine/Source/Programs/TextureBuildWorker/TextureBuildWorker.Build.cs

52 lines
1.7 KiB
C#
Raw Normal View History

// Copyright Epic Games, Inc. All Rights Reserved.
using System;
using System.Linq;
using EpicGames.Core;
using UnrealBuildTool;
// Abstract base class for texture worker targets. Not a valid target by itself, hence it is not put into a *.target.cs file.
[SupportedPlatforms(UnrealPlatformClass.Desktop)]
public abstract class TextureBuildWorkerTarget : DerivedDataBuildWorkerTarget
{
public TextureBuildWorkerTarget(TargetInfo Target) : base(Target)
{
SolutionDirectory += "/Texture";
var ProjectDesc = ProjectFile != null ? ProjectDescriptor.FromFile(ProjectFile) : null;
// Determine if TextureFormatOodle is enabled.
var TextureFormatOodleUPluginFile = new FileReference("../Plugins/Developer/TextureFormatOodle/TextureFormatOodle.uplugin");
var TextureFormatOodlePlugin = new PluginInfo(TextureFormatOodleUPluginFile, PluginType.Engine);
bool bTextureFormatOodlePluginEnabled =
Plugins.IsPluginEnabledForTarget(TextureFormatOodlePlugin, ProjectDesc, Target.Platform, Target.Configuration, TargetType.Program);
if (bTextureFormatOodlePluginEnabled)
{
ExtraModuleNames.Add("TextureFormatOodle");
}
else
{
// Check for a project specific Oodle plugin
foreach (PluginReferenceDescriptor PluginReference in ProjectDesc.Plugins)
{
if (String.Compare(PluginReference.Name, "Oodle", true) == 0 && !PluginReference.bOptional)
{
ExtraModuleNames.Add("OodleDXTTextureFormat");
break;
}
}
}
}
}
public class TextureBuildWorker : ModuleRules
{
public TextureBuildWorker(ReadOnlyTargetRules Target) : base(Target)
{
PrivateIncludePathModuleNames.Add("DerivedDataCache");
PrivateDependencyModuleNames.Add("DerivedDataBuildWorker");
}
}