// Copyright Codemongous LLC. All Rights Reserved.

using UnrealBuildTool;

public class SourcifyCoreUEWrapper : ModuleRules
{
    public SourcifyCoreUEWrapper(ReadOnlyTargetRules Target) : base(Target)
    {
        PublicDependencyModuleNames.AddRange(new string[]
        {
            "Core",
            "Engine",
            "GameProjectGeneration"
        });

        PrivateDependencyModuleNames.AddRange(new string[] 
        {
            "AIGraph",
            "AIModule",
            "AnimGraph",
            "AssetRegistry",
            "AssetTools",
            "BehaviorTreeEditor",
            "BlueprintEditorLibrary",
            "BlueprintGraph",
            "CoreUObject",
            "EditorFramework",
            "EditorStyle",
            "EngineSettings",
            "HotReload",
            "InputCore",
            "Kismet",
            "LiveCoding",
            "LevelSequence",
            "MovieScene",
            "Projects",
            "PropertyBindingUtils",
            "Slate",
            "SlateCore",
            "StateTreeEditorModule",
            "StateTreeModule",
            "SubobjectDataInterface",
            "ToolMenus",
            "UnrealEd",
            "UMG",
            "UMGEditor",
        });

        PublicDefinitions.Add("ISCW_ENGINE_MAJOR_VERSION = " + Target.Version.MajorVersion);
        PublicDefinitions.Add("ISCW_ENGINE_MINOR_VERSION = " + Target.Version.MinorVersion);
        PublicDefinitions.Add("ISCW_ENGINE_PATCH_VERSION = " + Target.Version.PatchVersion);

        // Enable RTTI for virtual inheritance in interfaces
        bUseRTTI = true;

        PrivateDefinitions.Add("SOURCIFY_DEBUG = 0");
    }
}
