Files
UnrealEngine/Engine/Source/Developer/DerivedDataCache/DerivedDataCache.Build.cs
2025-05-18 13:04:45 +08:00

34 lines
1.7 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
using System.IO;
public class DerivedDataCache : ModuleRules
{
public DerivedDataCache(ReadOnlyTargetRules Target) : base(Target)
{
PrivateDependencyModuleNames.Add("Core");
PrivateDependencyModuleNames.Add("DevHttp");
PrivateDependencyModuleNames.Add("Zen");
// Dependencies for "S3" and "HTTP" backends
// NOTE: DesktopPlatform is needed for UE Cloud DDC interactive login. It is set as an private include
// dependency here, but not as a full dependency. This will compile and link, but the absence of
// DesktopPlatform module at runtime will prevent interactive login from working. Adding DesktopPlatform
// would bloat the size of multiple users of the DDC module who don't need UE Cloud DDC interactive login,
// so we don't add it as a full dependency. Build targets (particularly standalone programs) that use the
// DDC module, should add a dependency on DesktopPlatform if they require interactive login. This will
// change in the future as the DDC module dependencies are refactored in the future.
PrivateDependencyModuleNames.AddRange(new string[] { "SSL", "Json", "Zen" });
PrivateIncludePathModuleNames.AddRange(new string[] { "DesktopPlatform", "Analytics" });
AddEngineThirdPartyPrivateStaticDependencies(Target, "libcurl");
AddEngineThirdPartyPrivateStaticDependencies(Target, "OpenSSL");
// Platform-specific opt-in
PrivateDefinitions.Add($"WITH_HTTP_DDC_BACKEND=1");
PrivateDefinitions.Add($"WITH_S3_DDC_BACKEND={(Target.Platform == UnrealTargetPlatform.Win64 ? 1 : 0)}");
CppCompileWarningSettings.UnsafeTypeCastWarningLevel = WarningLevel.Error;
}
}