// Copyright Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;

public class MeshUtilities2 : ModuleRules
{
	public MeshUtilities2(ReadOnlyTargetRules Target) : base(Target)
	{
		PublicDependencyModuleNames.AddRange(
			new string[]
			{
				// "MaterialUtilities",
			}
		);

		PrivateDependencyModuleNames.AddRange(
			new string[]
			{
				"Core",
				"CoreUObject",
				"Engine",
				"RawMesh",
				"RenderCore", // For FPackedNormal
				"SlateCore",
				"Slate",
				// "MaterialUtilities",
				// "MeshBoneReduction",
				// "EditorFramework",
				// "UnrealEd",
				"RHI",
				//"HierarchicalLODUtilities",
				"Landscape",
				// "LevelEditor",
				// "PropertyEditor",
				// "EditorStyle",
				// "GraphColor",
				// "MeshBuilderCommon",
				"MeshUtilitiesCommon",
				"MeshDescription",
				"StaticMeshDescription",
				// "ToolMenus",
			}
		);

		PublicIncludePathModuleNames.AddRange(
			new string[]
			{
				"MeshMergeUtilities"
			}
		);

		PrivateIncludePathModuleNames.AddRange(
			new string[]
			{
				// "AnimationBlueprintEditor",
				// "AnimationEditor",
				// "MeshMergeUtilities",
				// "MaterialBaking",
				// "Persona",
				// "SkeletalMeshEditor",
			}
		);

		DynamicallyLoadedModuleNames.AddRange(
			new string[]
			{
				// "AnimationBlueprintEditor",
				// "AnimationEditor",
				// "MeshMergeUtilities",
				// "MaterialBaking",
				// "SkeletalMeshEditor",
			}
		);

		AddEngineThirdPartyPrivateStaticDependencies(Target, "nvTriStrip");
		AddEngineThirdPartyPrivateStaticDependencies(Target, "ForsythTriOptimizer");
		// AddEngineThirdPartyPrivateStaticDependencies(Target, "QuadricMeshReduction");
		AddEngineThirdPartyPrivateStaticDependencies(Target, "MikkTSpace");
		AddEngineThirdPartyPrivateStaticDependencies(Target, "nvTessLib");

		if (Target.Platform == UnrealTargetPlatform.Win64)
		{
			AddEngineThirdPartyPrivateStaticDependencies(Target, "DX9");
		}

		AddEngineThirdPartyPrivateStaticDependencies(Target, "Embree3");
	}
}
