Files
UnrealEngine/Engine/Source/Programs/Shared/EpicGames.Perforce.Native/DotNetPerforceLib.Build.cs
2025-05-18 13:04:45 +08:00

57 lines
2.0 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
// Copyright Epic Games, Inc. All Rights Reserved.
namespace UnrealBuildTool.Rules
{
public class DotNetPerforceLib : ModuleRules
{
public DotNetPerforceLib(ReadOnlyTargetRules Target) : base(Target)
{
if (Target.Platform == UnrealTargetPlatform.Win64)
{
PrivateDefinitions.Add("OS_NT");
PrivateDefinitions.Add("_CRT_NONSTDC_NO_DEPRECATE");
}
PublicIncludePathModuleNames.Add("Core");
PrivateDependencyModuleNames.Add("OpenSSL");
string ApiPath = Target.UEThirdPartySourceDirectory + "Perforce/p4api-2023.2/";
if (Target.Platform == UnrealTargetPlatform.Linux)
{
PublicSystemIncludePaths.Add(ApiPath + "Linux/include");
PublicAdditionalLibraries.Add(ApiPath + "Linux/lib/libclient.a");
PublicAdditionalLibraries.Add(ApiPath + "Linux/lib/librpc.a");
PublicAdditionalLibraries.Add(ApiPath + "Linux/lib/libsupp.a");
PublicAdditionalLibraries.Add(ApiPath + "Linux/lib/libp4script_cstub.a");
PublicSystemLibraries.Add("dl");
}
else if (Target.Platform == UnrealTargetPlatform.Mac)
{
PublicIncludePaths.Add(ApiPath + "Mac/include");
PublicAdditionalLibraries.Add(ApiPath + "Mac/lib/libclient.a");
PublicAdditionalLibraries.Add(ApiPath + "Mac/lib/librpc.a");
PublicAdditionalLibraries.Add(ApiPath + "Mac/lib/libsupp.a");
PublicAdditionalLibraries.Add(ApiPath + "Mac/lib/libp4script_cstub.a");
PublicFrameworks.Add("Foundation");
PublicFrameworks.Add("CoreFoundation");
PublicFrameworks.Add("CoreGraphics");
PublicFrameworks.Add("CoreServices");
PublicFrameworks.Add("Security");
}
else if (Target.Platform == UnrealTargetPlatform.Win64)
{
PublicIncludePaths.Add(ApiPath + "Win64/include");
PublicAdditionalLibraries.Add(ApiPath + "Win64/lib/libclient.lib");
PublicAdditionalLibraries.Add(ApiPath + "Win64/lib/librpc.lib");
PublicAdditionalLibraries.Add(ApiPath + "Win64/lib/libsupp.lib");
PublicAdditionalLibraries.Add(ApiPath + "Win64/lib/libp4script_cstub.lib");
}
}
}
}