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

142 lines
3.8 KiB
C#

// Copyright Epic Games, Inc. All Rights Reserved.
using System;
using UnrealBuildTool;
using System.IO;
public class abseil : ModuleRules
{
protected readonly string Version = "20240722.0";
private string[] Libs = [
"absl_bad_any_cast_impl",
"absl_bad_optional_access",
"absl_bad_variant_access",
"absl_base",
"absl_city",
"absl_civil_time",
"absl_cord",
"absl_cordz_functions",
"absl_cordz_handle",
"absl_cordz_info",
"absl_cordz_sample_token",
"absl_cord_internal",
"absl_crc32c",
"absl_crc_cord_state",
"absl_crc_cpu_detect",
"absl_crc_internal",
"absl_debugging_internal",
"absl_decode_rust_punycode",
"absl_demangle_internal",
"absl_demangle_rust",
"absl_die_if_null",
"absl_examine_stack",
"absl_exponential_biased",
"absl_failure_signal_handler",
"absl_flags_commandlineflag",
"absl_flags_commandlineflag_internal",
"absl_flags_config",
"absl_flags_internal",
"absl_flags_marshalling",
"absl_flags_parse",
"absl_flags_private_handle_accessor",
"absl_flags_program_name",
"absl_flags_reflection",
"absl_flags_usage",
"absl_flags_usage_internal",
"absl_graphcycles_internal",
"absl_hash",
"absl_hashtablez_sampler",
"absl_int128",
"absl_kernel_timeout_internal",
"absl_leak_check",
"absl_log_entry",
"absl_log_flags",
"absl_log_globals",
"absl_log_initialize",
"absl_log_internal_check_op",
"absl_log_internal_conditions",
"absl_log_internal_fnmatch",
"absl_log_internal_format",
"absl_log_internal_globals",
"absl_log_internal_log_sink_set",
"absl_log_internal_message",
"absl_log_internal_nullguard",
"absl_log_internal_proto",
"absl_log_severity",
"absl_log_sink",
"absl_low_level_hash",
"absl_malloc_internal",
"absl_periodic_sampler",
"absl_poison",
"absl_random_distributions",
"absl_random_internal_distribution_test_util",
"absl_random_internal_platform",
"absl_random_internal_pool_urbg",
"absl_random_internal_randen",
"absl_random_internal_randen_hwaes",
"absl_random_internal_randen_hwaes_impl",
"absl_random_internal_randen_slow",
"absl_random_internal_seed_material",
"absl_random_seed_gen_exception",
"absl_random_seed_sequences",
"absl_raw_hash_set",
"absl_raw_logging_internal",
"absl_scoped_set_env",
"absl_spinlock_wait",
"absl_stacktrace",
"absl_status",
"absl_statusor",
"absl_strerror",
"absl_strings",
"absl_strings_internal",
"absl_string_view",
"absl_str_format_internal",
"absl_symbolize",
"absl_synchronization",
"absl_throw_delegate",
"absl_time",
"absl_time_zone",
"absl_utf8_for_code_point",
"absl_vlog_config_internal",
];
public abseil(ReadOnlyTargetRules Target) : base(Target)
{
Type = ModuleType.External;
string VersionPath = Path.Combine(ModuleDirectory, Version);
string LibraryPath = Path.Combine(VersionPath, "lib");
PublicSystemIncludePaths.Add(Path.Combine(VersionPath, "include"));
if (Target.IsInPlatformGroup(UnrealPlatformGroup.Unix))
{
string Prefix = Path.Combine(LibraryPath, "Unix", Target.Architecture.LinuxName, "Release");
foreach (string Lib in Libs)
{
PublicAdditionalLibraries.Add(Path.Combine(Prefix, "lib" + Lib + ".a"));
}
}
else if (Target.Platform == UnrealTargetPlatform.Mac)
{
string Prefix = Path.Combine(LibraryPath, "Mac", "Release");
foreach (string Lib in Libs)
{
PublicAdditionalLibraries.Add(Path.Combine(Prefix, "lib" + Lib + ".a"));
}
}
else if (Target.Platform == UnrealTargetPlatform.Win64)
{
string ConfigName = "Release";
string Prefix = Path.Combine(LibraryPath, "Win64", Target.Architecture.WindowsLibDir.ToLowerInvariant(), ConfigName);
foreach (string Lib in Libs)
{
PublicAdditionalLibraries.Add(Path.Combine(Prefix, Lib + ".lib"));
}
}
PublicDefinitions.Add("WITH_ABSEIL");
}
}