diff --git a/Editor/BuildProcessors/MsvcStdextWorkaround.cs b/Editor/BuildProcessors/MsvcStdextWorkaround.cs new file mode 100644 index 0000000..6bc6041 --- /dev/null +++ b/Editor/BuildProcessors/MsvcStdextWorkaround.cs @@ -0,0 +1,28 @@ +#if UNITY_EDITOR +using System; +using UnityEditor.Build; +using UnityEditor.Build.Reporting; + +public class MsvcStdextWorkaround : IPreprocessBuildWithReport +{ + const string kWorkaroundFlag = "/D_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS"; + + public int callbackOrder => 0; + + public void OnPreprocessBuild(BuildReport report) + { + var clEnv = Environment.GetEnvironmentVariable("_CL_"); + + if (string.IsNullOrEmpty(clEnv)) + { + Environment.SetEnvironmentVariable("_CL_", kWorkaroundFlag); + } + else if (!clEnv.Contains(kWorkaroundFlag)) + { + clEnv += " " + kWorkaroundFlag; + Environment.SetEnvironmentVariable("_CL_", clEnv); + } + } +} + +#endif // UNITY_EDITOR diff --git a/Editor/BuildProcessors/MsvcStdextWorkaround.cs.meta b/Editor/BuildProcessors/MsvcStdextWorkaround.cs.meta new file mode 100644 index 0000000..ef28c51 --- /dev/null +++ b/Editor/BuildProcessors/MsvcStdextWorkaround.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 8bff6cadf0b8db54b87ba51b24d080f6 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: