Files
UnrealEngine/Engine/Plugins/TextureGraph/Source/TextureGraphEngine/TextureGraphEngine.Build.cs
2025-05-18 13:04:45 +08:00

107 lines
2.7 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
using System;
using System.IO;
public class TextureGraphEngine : ModuleRules
{
private void AddDefaultIncludePaths()
{
// Add all the public directories
PublicIncludePaths.Add(ModuleDirectory);
//Add Public dir to
string PublicDirectory = Path.Combine(ModuleDirectory, "Public");
if (Directory.Exists(PublicDirectory))
{
PublicIncludePaths.Add(PublicDirectory);
}
// Add the base private directory for this module
string PrivateDirectory = Path.Combine(ModuleDirectory, "Private");
if (Directory.Exists(PrivateDirectory))
{
PrivateIncludePaths.Add(PrivateDirectory);
}
}
public TextureGraphEngine(ReadOnlyTargetRules Target) : base(Target)
{
PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
bUseRTTI = true;
bEnableExceptions = true;
bDisableAutoRTFMInstrumentation = true;
// Disable Clang analysis due to a crash in clang-cl
if (Target.StaticAnalyzer != StaticAnalyzer.None
&& Target.Platform.IsInGroup(UnrealPlatformGroup.Microsoft)
&& Target.WindowsPlatform.Compiler.IsClang())
{
// https://developercommunity.visualstudio.com/t/clang-cl---analyze-crash-with-thread-i/10746623
bDisableStaticAnalysis = true;
}
//PublicDefinitions.Add("WITH_MALLOC_STOMP=1");
PrivateDependencyModuleNames.AddRange(new string[]
{
"Slate",
"SlateCore",
"UMG",
"MutableRuntime"
});
PublicDependencyModuleNames.AddRange(new string[]
{
"Core",
"CoreUObject",
"Engine",
"InputCore",
"XmlParser" ,
"ProceduralMeshComponent",
"Renderer",
"RenderCore",
"RHI",
"HTTP",
"Json",
"JsonUtilities",
"ImageCore",
"ImageWrapper",
"Projects",
"ImageWriteQueue",
"LibJpegTurbo",
"Function2",
"Continuable",
"Sockets",
"Networking",
"DeveloperSettings",
"RenderDocPlugin",
});
if (Target.bBuildEditor == true)
{
//reference the module "MyModule"
PublicDependencyModuleNames.AddRange(new string[]
{
"UnrealEd",
"AssetTools"
});
}
AddDefaultIncludePaths();
if (!ModuleDirectory.StartsWith(EngineDirectory))
throw new BuildException("TextureGraphEngine module directory must be under engine");
string ModuleRelativeToEngineDir = ModuleDirectory.Substring(EngineDirectory.Length + 1);
string ModDirLiteral = ModuleRelativeToEngineDir.Replace('\\', '/');
string defModuleName = "MODULE_DIR \"" + ModDirLiteral + "\"=";
PrivateDefinitions.Add(defModuleName);
}
}