// Copyright (c) Microsoft Corporation. 
// Licensed under the MIT license.

using System;
using System.IO;

namespace UnrealBuildTool.Rules
{
    public class LODRecipe : ModuleRules
    {
        public LODRecipe(ReadOnlyTargetRules Target)
            :base(Target)
        {
			// Fix for: "command line is too long to fit in debug record"
			bLegacyPublicIncludePaths = false;

			UnsafeTypeCastWarningLevel = WarningLevel.Warning;

			PrivateIncludePaths.AddRange(
                new string[] 
                {
                    "LODRecipe/Private",
                }
                );

            PublicDependencyModuleNames.AddRange(
                new string[]
                {
                    "Core",
					"CoreUObject",
					"Engine",
					"RenderCore",
					"AssetRegistry",
					"MeshDescription",
					"StaticMeshDescription",
					"ClothingSystemRuntimeCommon",
					"SkeletalMeshUtilitiesCommon",
					"SimplygonPluginMeshReduction",
					"Simplygon",
					"MeshUtilitiesCommon",
					"MeshMergeUtilities", //SG-TODO: Remove this reference
					"MaterialUtilities", //SG-TODO: Remove this reference
					"MessageLog",
				}
				);

			if (Target.bBuildEditor == true)
			{
				PublicDependencyModuleNames.Add("UnrealEd");
				PublicDependencyModuleNames.Add("StaticMeshEditor");
				PublicDependencyModuleNames.Add("SimplygonUObjects");
			}

			PrivateDependencyModuleNames.AddRange(
                new string[]
                {
				}
				);

            DynamicallyLoadedModuleNames.AddRange(
                new string[]
                {
				}
				);

            PrivateIncludePathModuleNames.AddRange(
                new string[] 
                {
					"Simplygon"
				}
				);
        }
    }
}
