70 lines
2.4 KiB
C#
70 lines
2.4 KiB
C#
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
using UnrealBuildTool;
|
|
using System.IO;
|
|
|
|
public class UnrealLightmass : ModuleRules
|
|
{
|
|
public UnrealLightmass(ReadOnlyTargetRules Target) : base(Target)
|
|
{
|
|
PublicIncludePathModuleNames.Add("Launch");
|
|
|
|
PrivateDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "zlib", "SwarmInterface", "Projects", "ApplicationCore" });
|
|
|
|
PublicDefinitions.Add("UE_LIGHTMASS=1");
|
|
|
|
if (Target.Platform == UnrealTargetPlatform.Win64)
|
|
{
|
|
PublicDependencyModuleNames.Add("IntelTBB");
|
|
PublicDependencyModuleNames.Add("Embree");
|
|
|
|
// Unreallightmass requires GetProcessMemoryInfo exported by psapi.dll. http://msdn.microsoft.com/en-us/library/windows/desktop/ms683219(v=vs.85).aspx
|
|
PublicSystemLibraries.Add("psapi.lib");
|
|
PrivateDependencyModuleNames.AddRange(
|
|
new string[] {
|
|
"Messaging",
|
|
}
|
|
);
|
|
}
|
|
else if (Target.Platform == UnrealTargetPlatform.Mac || Target.Platform == UnrealTargetPlatform.Linux)
|
|
{
|
|
PublicDependencyModuleNames.Add("IntelTBB");
|
|
PublicDependencyModuleNames.Add("Embree");
|
|
|
|
// On Mac/Linux UnrealLightmass is executed locally and communicates with the editor using Messaging module instead of SwarmAgent
|
|
// @todo: allow for better plug-in support in standalone Slate apps
|
|
PrivateDependencyModuleNames.AddRange(
|
|
new string[] {
|
|
"Networking",
|
|
"Sockets",
|
|
"Messaging",
|
|
"UdpMessaging",
|
|
}
|
|
);
|
|
|
|
PrivateIncludePathModuleNames.AddRange(
|
|
new string[] {
|
|
"Messaging",
|
|
}
|
|
);
|
|
}
|
|
else
|
|
{
|
|
PublicDefinitions.Add("USE_EMBREE=0");
|
|
}
|
|
|
|
// Lightmass ray tracing is 8% faster with buffer security checks disabled due to fixed size arrays on the stack in the kDOP ray tracing functions
|
|
// Warning: This means buffer overwrites will not be detected
|
|
bEnableBufferSecurityChecks = false;
|
|
|
|
PrivateIncludePaths.Add("Programs/UnrealLightmass/Private/Launch");
|
|
PrivateIncludePaths.Add("Programs/UnrealLightmass/Private/ImportExport");
|
|
PrivateIncludePaths.Add("Programs/UnrealLightmass/Private/CPUSolver");
|
|
PrivateIncludePaths.Add("Programs/UnrealLightmass/Private/Lighting");
|
|
PrivateIncludePaths.Add("Programs/UnrealLightmass/Private/LightmassCore");
|
|
PrivateIncludePaths.Add("Programs/UnrealLightmass/Private/LightmassCore/Misc");
|
|
PrivateIncludePaths.Add("Programs/UnrealLightmass/Private/LightmassCore/Math");
|
|
PrivateIncludePaths.Add("Programs/UnrealLightmass/Private/LightmassCore/Templates");
|
|
}
|
|
}
|