Check VS2026 toolset before trying to compile PhysX

This commit is contained in:
2025-10-18 03:24:51 +03:00
parent 88bd636cbe
commit 853a7510f6

View File

@@ -422,17 +422,22 @@ namespace Flax.Deps.Dependencies
case TargetPlatform.Windows: case TargetPlatform.Windows:
{ {
if (architecture == TargetArchitecture.x64 || architecture == TargetArchitecture.ARM64) if (architecture == TargetArchitecture.x64 || architecture == TargetArchitecture.ARM64)
{
if (WindowsPlatform.GetToolsets().Any(x => x.Key == WindowsPlatformToolset.v145))
{ {
try try
{ {
Build(options, architecture == TargetArchitecture.x64 ? "vc18win64" : "vc18win-arm64", platform, architecture); Build(options, architecture == TargetArchitecture.x64 ? "vc18win64" : "vc18win-arm64", platform, architecture);
} }
catch catch (Exception e)
{ {
Log.Verbose("Failed to generate VS2026 solution for PhysX, fallback to VS2022"); Log.Warning($"Failed to generate VS2026 solution for PhysX, fallback to VS2022: {e.Message}");
Build(options, architecture == TargetArchitecture.x64 ? "vc17win64" : "vc17win-arm64", platform, architecture); Build(options, architecture == TargetArchitecture.x64 ? "vc17win64" : "vc17win-arm64", platform, architecture);
} }
} }
else
Build(options, architecture == TargetArchitecture.x64 ? "vc17win64" : "vc17win-arm64", platform, architecture);
}
else else
throw new InvalidArchitectureException(architecture); throw new InvalidArchitectureException(architecture);
break; break;