From 697db443ac20f38dd3c81203de2814dda066f9cb Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Thu, 11 Jan 2024 17:58:02 +0100 Subject: [PATCH] Skip astc on macOS x64 due to precompiled lib with too new clang ver --- .../Tools/TextureTool/TextureTool.Build.cs | 2 +- Source/ThirdParty/astc/astc.Build.cs | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Source/Engine/Tools/TextureTool/TextureTool.Build.cs b/Source/Engine/Tools/TextureTool/TextureTool.Build.cs index a6a68617c..f40f28e64 100644 --- a/Source/Engine/Tools/TextureTool/TextureTool.Build.cs +++ b/Source/Engine/Tools/TextureTool/TextureTool.Build.cs @@ -58,7 +58,7 @@ public class TextureTool : EngineModule options.PrivateDependencies.Add("bc7enc16"); } } - if (options.Target.IsEditor && options.Platform.Target != TargetPlatform.Linux) // TODO: add ASTC for Editor on Linux + if (options.Target.IsEditor && astc.IsSupported(options)) { // ASTC for mobile (iOS and Android) options.SourceFiles.Add(Path.Combine(FolderPath, "TextureTool.astc.cpp")); diff --git a/Source/ThirdParty/astc/astc.Build.cs b/Source/ThirdParty/astc/astc.Build.cs index 237d0ac81..90494402b 100644 --- a/Source/ThirdParty/astc/astc.Build.cs +++ b/Source/ThirdParty/astc/astc.Build.cs @@ -8,6 +8,22 @@ using Flax.Build.NativeCpp; /// public class astc : DepsModule { + /// + /// Returns true if can use astc lib for a given build setup. + /// + public static bool IsSupported(BuildOptions options) + { + switch (options.Platform.Target) + { + case TargetPlatform.Windows: + return true; + case TargetPlatform.Mac: + return options.Architecture == TargetArchitecture.ARM64; + default: + return false; + } + } + /// public override void Init() {