34 lines
1.7 KiB
C#
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;
|
|
}
|
|
}
|