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

using System.IO;
using UnrealBuildTool;

public class AR51SDK_OPENXR : ModuleRules
{
	public AR51SDK_OPENXR(ReadOnlyTargetRules Target) : base(Target)
	{
        PrecompileForTargets = PrecompileTargetsType.Any;

        if (Target.Version.MajorVersion >= 5)
        {
            PublicDefinitions.Add("UE_5_0_OR_LATER=1");
        }

        PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;

        // Add the paths for public includes
        PublicIncludePaths.AddRange(new string[] {
            Path.GetFullPath(Path.Combine(ModuleDirectory,"Public/Adapters"))
            }
        );


        PrivateIncludePaths.AddRange(
			new string[] {
				// ... add other private include paths required here ...
			}
			);
			
		
		PublicDependencyModuleNames.AddRange(
			new string[]
			{
				"Core",
                "AR51SDK",
                "InputCore",
				"HeadMountedDisplay",
                "XRVisualization",
               // "OpenXRHMD",
               // "OpenXRInput",
               // "OpenXRHandTracking",
				// ... add other public dependencies that you statically link with here ...
			}
			);

        if (Target.Version.MajorVersion == 5)
        {
            // in Unreal 5.3 HeadMountedDisplayFunctionLibrary.h was moved from HeadMountedDisplay to XRBase
            if (Target.Version.MinorVersion >= 3)
                PublicDependencyModuleNames.Add("XRBase");
        }

        PrivateDependencyModuleNames.AddRange(
			new string[]
			{
				"CoreUObject",
				"Engine",

				// ... add private dependencies that you statically link with here ...	
			}
			);
		
		
		DynamicallyLoadedModuleNames.AddRange(
			new string[]
			{
				// ... add any modules that your module loads dynamically here ...
			}
			);
	}
}
