89 lines
3 KiB
C#
89 lines
3 KiB
C#
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
using System.IO;
|
|
using UnrealBuildTool;
|
|
|
|
public class SkyPortal : ModuleRules
|
|
{
|
|
public SkyPortal(ReadOnlyTargetRules Target) : base(Target)
|
|
{
|
|
// Add the path to the hidapi include directory
|
|
PublicIncludePaths.Add(Path.Combine(PluginDirectory, "ThirdParty", "hidapi", "include"));
|
|
|
|
// Check platform-specific settings
|
|
if (Target.Platform == UnrealTargetPlatform.Win64)
|
|
{
|
|
// Add the path to the library (for Windows platform)
|
|
PublicSystemLibraryPaths.Add(Path.Combine(PluginDirectory, "ThirdParty", "hidapi", "lib", "Windows"));
|
|
|
|
// Link against the hidapi.lib (static library)
|
|
PublicAdditionalLibraries.Add(Path.Combine(PluginDirectory, "ThirdParty", "hidapi", "lib", "Windows", "hidapi.lib"));
|
|
|
|
// Add runtime library path for the .dll (dynamic library)
|
|
PublicRuntimeLibraryPaths.Add(Path.Combine(PluginDirectory, "ThirdParty", "hidapi", "bin", "Windows"));
|
|
|
|
// Copy the DLL to the output folder, if using dynamic linking
|
|
RuntimeDependencies.Add("$(BinaryOutputDir)/hidapi.dll", Path.Combine(PluginDirectory, "ThirdParty", "hidapi", "bin", "Windows", "hidapi.dll"));
|
|
}
|
|
else if (Target.Platform == UnrealTargetPlatform.Mac)
|
|
{
|
|
PublicSystemLibraryPaths.Add(Path.Combine(PluginDirectory, "ThirdParty", "hidapi", "lib", "Mac"));
|
|
PublicAdditionalLibraries.Add("hidapi.a");
|
|
|
|
// Handle Mac-specific dynamic linking
|
|
RuntimeDependencies.Add("$(BinaryOutputDir)/hidapi.dylib", Path.Combine(PluginDirectory, "ThirdParty", "hidapi", "bin", "Mac", "hidapi.dylib"));
|
|
}
|
|
else if (Target.Platform == UnrealTargetPlatform.Linux)
|
|
{
|
|
PublicSystemLibraryPaths.Add(Path.Combine(PluginDirectory, "ThirdParty", "hidapi", "lib", "Linux"));
|
|
PublicAdditionalLibraries.Add("hidapi.a");
|
|
|
|
RuntimeDependencies.Add("$(BinaryOutputDir)/hidapi.so", Path.Combine(PluginDirectory, "ThirdParty", "hidapi", "bin", "Linux", "hidapi.so"));
|
|
}
|
|
|
|
|
|
PublicIncludePaths.AddRange(
|
|
new string[] {
|
|
|
|
}
|
|
);
|
|
|
|
|
|
PrivateIncludePaths.AddRange(
|
|
new string[] {
|
|
// ... add other private include paths required here ...
|
|
}
|
|
);
|
|
|
|
|
|
PublicDependencyModuleNames.AddRange(
|
|
new string[]
|
|
{
|
|
"Core",
|
|
"CoreUObject",
|
|
"Engine"
|
|
// ... add other public dependencies that you statically link with here ...
|
|
}
|
|
);
|
|
|
|
|
|
PrivateDependencyModuleNames.AddRange(
|
|
new string[]
|
|
{
|
|
"CoreUObject",
|
|
"Engine",
|
|
"Slate",
|
|
"SlateCore",
|
|
// ... add private dependencies that you statically link with here ...
|
|
}
|
|
);
|
|
|
|
|
|
DynamicallyLoadedModuleNames.AddRange(
|
|
new string[]
|
|
{
|
|
// ... add any modules that your module loads dynamically here ...
|
|
}
|
|
);
|
|
}
|
|
}
|