// Copyright 2015-2023 Rodrigo Villani Pereira using System.IO; using UnrealBuildTool; public class NeoKinectUnreal : ModuleRules { public NeoKinectUnreal(ReadOnlyTargetRules Target) : base(Target) { PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs; PrivateIncludePaths.AddRange(new[] { "NeoKinectUnreal/Private" // ... add other private include paths required here ... }); PublicDependencyModuleNames.AddRange(new[] { "Core", "CoreUObject", "OpenCV", "OpenCVHelper" // ... add other public dependencies that you statically link with here ... }); PrivateDependencyModuleNames.AddRange(new[] { "Engine", "RenderCore", "RHI", // ... add private dependencies that you statically link with here ... }); string thirdPartyPath = Path.GetFullPath(Path.Combine(ModuleDirectory, "../ThirdParty/")); string neoKinectPath = Path.Combine(thirdPartyPath, "NeoKinect"); string kinectPath = Path.Combine(thirdPartyPath, "Kinect"); //string openCVPath = Path.Combine(thirdPartyPath, "OpenCV"); PublicSystemLibraryPaths.Add(Path.Combine(neoKinectPath, "Lib")); PublicIncludePaths.Add(Path.Combine(neoKinectPath, "Inc")); PublicSystemLibraryPaths.Add(Path.Combine(kinectPath, "Lib")); PublicIncludePaths.Add(Path.Combine(kinectPath, "Inc")); const string FaceLibraryName = "Kinect20.Face"; // Add static libraries PublicSystemLibraries.AddRange(new[] { "NeoKinect.lib", "Kinect20.lib", FaceLibraryName + ".lib" }); // Add dynamic libraries const string KinectFaceDllName = FaceLibraryName + ".dll"; PublicDelayLoadDLLs.AddRange(new[] { KinectFaceDllName }); // Define library name for code to be able to check for its presence PrivateDefinitions.Add("KINECT_FACE_DLL_NAME=\"" + KinectFaceDllName + "\""); // Stage face library files when packaging const string ProjectDLLDir = "$(ProjectDir)/Binaries/Win64"; RuntimeDependencies.Add(Path.Combine(ProjectDLLDir, KinectFaceDllName)); RuntimeDependencies.Add(Path.Combine(ProjectDLLDir, "NuiDatabase/..."), StagedFileType.NonUFS); } }