Files
UnrealEngine/Engine/Source/ThirdParty/Protobuf/Protobuf.Build.cs
Brandyn / Techy fcc1b09210 init
2026-04-04 15:40:51 -05:00

52 lines
2.3 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
using System.IO;
public class Protobuf : ModuleRules
{
protected readonly string Version = "30.0";
public Protobuf(ReadOnlyTargetRules Target) : base(Target)
{
Type = ModuleType.External;
PublicDependencyModuleNames.Add("zlib");
PublicDependencyModuleNames.Add("abseil");
string VersionPath = Path.Combine(ModuleDirectory, Version);
string LibraryPath = Path.Combine(VersionPath, "lib");
PublicSystemIncludePaths.Add(Path.Combine(VersionPath, "include"));
if (Target.IsInPlatformGroup(UnrealPlatformGroup.Unix))
{
PublicAdditionalLibraries.Add(Path.Combine(LibraryPath, "Unix", Target.Architecture.LinuxName, "Release", "libprotobuf.a"));
PublicAdditionalLibraries.Add(Path.Combine(LibraryPath, "Unix", Target.Architecture.LinuxName, "Release", "libutf8_range.a"));
PublicAdditionalLibraries.Add(Path.Combine(LibraryPath, "Unix", Target.Architecture.LinuxName, "Release", "libutf8_validity.a"));
PublicAdditionalLibraries.Add(Path.Combine(LibraryPath, "Unix", Target.Architecture.LinuxName, "Release", "libupb.a"));
}
else if (Target.Platform == UnrealTargetPlatform.Mac)
{
PublicAdditionalLibraries.Add(Path.Combine(LibraryPath, "Mac", "Release", "libprotobuf.a"));
PublicAdditionalLibraries.Add(Path.Combine(LibraryPath, "Mac", "Release", "libutf8_range.a"));
PublicAdditionalLibraries.Add(Path.Combine(LibraryPath, "Mac", "Release", "libutf8_validity.a"));
PublicAdditionalLibraries.Add(Path.Combine(LibraryPath, "Mac", "Release", "libupb.a"));
}
else if (Target.Platform == UnrealTargetPlatform.Win64)
{
string ArchLibDir = Target.Architecture.WindowsLibDir;
if (Target.WindowsPlatform.Compiler.IsClang())
{
ArchLibDir = $"{ArchLibDir}-clang";
}
PublicAdditionalLibraries.Add(Path.Combine(LibraryPath, "Win64", ArchLibDir, "Release", "libprotobuf.lib"));
PublicAdditionalLibraries.Add(Path.Combine(LibraryPath, "Win64", ArchLibDir, "Release", "libutf8_range.lib"));
PublicAdditionalLibraries.Add(Path.Combine(LibraryPath, "Win64", ArchLibDir, "Release", "libutf8_validity.lib"));
PublicAdditionalLibraries.Add(Path.Combine(LibraryPath, "Win64", ArchLibDir, "Release", "libupb.lib"));
}
PublicDefinitions.Add("WITH_PROTOBUF");
}
}