116 lines
3.2 KiB
C#
116 lines
3.2 KiB
C#
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
using UnrealBuildTool;
|
|
using System.IO;
|
|
using System;
|
|
|
|
public class FLESH : ModuleRules
|
|
{
|
|
public FLESH(ReadOnlyTargetRules Target) : base(Target)
|
|
{
|
|
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
|
|
|
|
// Check if GeometryScripting plugin is available
|
|
bool bGeometryScriptingAvailable = false;
|
|
string GeometryScriptingPath = Path.Combine(EngineDirectory, "Plugins", "Experimental", "GeometryScripting");
|
|
string GeometryProcessingPath = Path.Combine(EngineDirectory, "Plugins", "Runtime", "GeometryProcessing");
|
|
|
|
if (Directory.Exists(GeometryScriptingPath) && Directory.Exists(GeometryProcessingPath))
|
|
{
|
|
bGeometryScriptingAvailable = true;
|
|
PublicDefinitions.Add("WITH_GEOMETRY_SCRIPTING=1");
|
|
Console.WriteLine("FLESH: GeometryScripting plugin is available, enabling advanced boolean cutting feature");
|
|
}
|
|
else
|
|
{
|
|
PublicDefinitions.Add("WITH_GEOMETRY_SCRIPTING=0");
|
|
Console.WriteLine("FLESH: GeometryScripting plugin is not available, disabling advanced boolean cutting feature");
|
|
}
|
|
|
|
// Add include paths
|
|
PublicIncludePaths.AddRange(
|
|
new string[] {
|
|
// ... add public include paths required here ...
|
|
}
|
|
);
|
|
|
|
// If GeometryScripting is available, add its include paths
|
|
if (bGeometryScriptingAvailable)
|
|
{
|
|
PublicIncludePaths.AddRange(
|
|
new string[] {
|
|
"$(EngineDir)/Plugins/Experimental/GeometryScripting/Source/GeometryScriptingCore/Public",
|
|
"$(EngineDir)/Plugins/Experimental/GeometryScripting/Source/GeometryScriptingEditor/Public",
|
|
"$(EngineDir)/Plugins/Runtime/GeometryProcessing/Source/GeometryAlgorithms/Public",
|
|
"$(EngineDir)/Plugins/Runtime/GeometryProcessing/Source/GeometryCore/Public",
|
|
"$(EngineDir)/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public"
|
|
}
|
|
);
|
|
}
|
|
|
|
PrivateIncludePaths.AddRange(
|
|
new string[] {
|
|
// ... add other private include paths required here ...
|
|
}
|
|
);
|
|
|
|
// Add basic module dependencies
|
|
PublicDependencyModuleNames.AddRange(
|
|
new string[]
|
|
{
|
|
"Core",
|
|
"CoreUObject",
|
|
"Engine",
|
|
"InputCore",
|
|
"Niagara",
|
|
"ProceduralMeshComponent",
|
|
"PhysicsCore",
|
|
"ChaosCloth",
|
|
"ChaosNiagara",
|
|
"PhysicsControl",
|
|
"MeshDescription",
|
|
"StaticMeshDescription",
|
|
// ... add other public dependencies that you statically link with here ...
|
|
}
|
|
);
|
|
|
|
// If GeometryScripting is available, add its module dependencies
|
|
if (bGeometryScriptingAvailable)
|
|
{
|
|
PublicDependencyModuleNames.AddRange(
|
|
new string[]
|
|
{
|
|
"GeometryCore",
|
|
"GeometryFramework",
|
|
"GeometryScriptingCore",
|
|
"GeometryScriptingEditor",
|
|
"DynamicMesh",
|
|
"GeometryAlgorithms",
|
|
"ModelingComponents",
|
|
"ModelingOperators",
|
|
"MeshConversion",
|
|
"MeshModelingToolsEditorOnly"
|
|
}
|
|
);
|
|
}
|
|
|
|
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 ...
|
|
}
|
|
);
|
|
}
|
|
}
|