Files
UnrealEngineUWP/Engine/Source/Runtime/CoreUObject/CoreUObject.Build.cs
markus breyer 115f2d237a Convenience refactor of CoreUObject.Build.cs
#rb tim.smith
#rnx

[CL 31093456 by markus breyer in ue5-main branch]
2024-02-01 13:05:41 -05:00

76 lines
1.7 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using System.Linq;
using UnrealBuildTool;
public class CoreUObject : ModuleRules
{
public static bool IsVerseVMEnabled(ReadOnlyTargetRules Target)
{
return !Target.bUseVerseBPVM || Target.GlobalDefinitions.Contains("WITH_VERSE_VM=1")
|| Target.GlobalDefinitions.Contains("WITH_VERSE_VM=WITH_COREUOBJECT");
}
public static void AddVerseVMDependencies(ModuleRules Rules, ReadOnlyTargetRules Target)
{
// If using the new VM either by default or directly, then add in a dependency to
// the core VerseVM which contains special compile flags not compatible with CoreUObject
if (IsVerseVMEnabled(Target))
{
Rules.PublicDependencyModuleNames.AddRange(
new string[]
{
"libpas",
"CoreVerseVM",
}
);
}
}
public CoreUObject(ReadOnlyTargetRules Target) : base(Target)
{
// Autogenerate headers for our bytecode.
GenerateHeaderFuncs.Add(("VerseVMBytecode", VerseVMBytecodeGenerator.Generate));
PrivatePCHHeaderFile = "Private/CoreUObjectPrivatePCH.h";
SharedPCHHeaderFile = "Public/CoreUObjectSharedPCH.h";
PrivateIncludePathModuleNames.AddRange(
new string[]
{
"TargetPlatform",
}
);
PublicDependencyModuleNames.AddRange(
new string[]
{
"Core",
"TraceLog",
}
);
PrivateDependencyModuleNames.AddRange(
new string[]
{
"Projects",
"Json",
}
);
AddVerseVMDependencies(this, Target);
UnsafeTypeCastWarningLevel = WarningLevel.Error;
if (Target.bBuildWithEditorOnlyData)
{
PrivateDependencyModuleNames.Add("DerivedDataCache");
}
PrivateDefinitions.Add("UE_DEFINE_LEGACY_MATH_CONSTANT_MACRO_NAMES=0");
bAllowAutoRTFMInstrumentation = true;
}
}