1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
// Copyright 1998-2016 Epic Games, Inc. All Rights Reserved.
using System.IO;
namespace UnrealBuildTool.Rules
{
public class NVIDIAGfeSDK : ModuleRules
{
private string ModulePath
{
get { return ModuleDirectory; }
}
private string ThirdPartyPath
{
get { return Path.GetFullPath(Path.Combine(ModulePath, "../../ThirdParty/")); }
}
private string BinariesPath
{
get { return Path.GetFullPath(Path.Combine(ThirdPartyPath, "NVIDIAGfeSDK", "redist")); }
}
private string LibraryPath
{
get { return Path.GetFullPath(Path.Combine(ThirdPartyPath, "NVIDIAGfeSDK", "lib")); }
}
public NVIDIAGfeSDK(ReadOnlyTargetRules Target) : base(Target)
{
PublicIncludePaths.AddRange(
new string[] {
ThirdPartyPath + "NVIDIAGfeSDK/Include",
ThirdPartyPath + "NVIDIAGfeSDK/Include/gfesdk",
// ... add public include paths required here ...
}
);
PrivateIncludePaths.AddRange(
new string[] {
ThirdPartyPath + "NVIDIAGfeSDK/Include",
ThirdPartyPath + "NVIDIAGfeSDK/Include/gfesdk",
// ... add other private include paths required here ...
}
);
PublicDependencyModuleNames.AddRange(
new string[]
{
"Engine",
"Core",
"Projects",
"CoreUObject"
}
);
PrivateDependencyModuleNames.AddRange(
new string[]
{
// ... add private dependencies that you statically link with here ...
}
);
DynamicallyLoadedModuleNames.AddRange(
new string[]
{
// ... add any modules that your module loads dynamically here ...
}
);
LoadNVIDIAGfeSDKLib(Target);
}
public bool LoadNVIDIAGfeSDKLib(ReadOnlyTargetRules Target)
{
bool isLibrarySupported = false;
if ((Target.Platform == UnrealTargetPlatform.Win64) || (Target.Platform == UnrealTargetPlatform.Win32))
{
isLibrarySupported = true;
string PlatformString = (Target.Platform == UnrealTargetPlatform.Win64) ? "Win64" : "Win32";
string DllPath = Path.Combine(BinariesPath, PlatformString);
string LibFullPath = Path.Combine(LibraryPath, PlatformString);
string DllName = Path.Combine(DllPath, "GfeSDK.dll");
string LibFilePath = Path.Combine(LibFullPath, "GfeSDK.lib");
PublicAdditionalLibraries.Add(LibFilePath);
PublicDelayLoadDLLs.Add("GfeSDK.dll");
RuntimeDependencies.Add(DllName);
}
return isLibrarySupported;
}
}
}
|