From 7c38baaa5402ece902e163336641894d9d45f4f4 Mon Sep 17 00:00:00 2001 From: Ari Vuollet Date: Sat, 18 Oct 2025 03:24:51 +0300 Subject: [PATCH] Check VS2026 toolset before trying to compile PhysX --- .../Tools/Flax.Build/Deps/Dependencies/PhysX.cs | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Source/Tools/Flax.Build/Deps/Dependencies/PhysX.cs b/Source/Tools/Flax.Build/Deps/Dependencies/PhysX.cs index 7549f7f00..3d6b53773 100644 --- a/Source/Tools/Flax.Build/Deps/Dependencies/PhysX.cs +++ b/Source/Tools/Flax.Build/Deps/Dependencies/PhysX.cs @@ -423,15 +423,20 @@ namespace Flax.Deps.Dependencies { if (architecture == TargetArchitecture.x64 || architecture == TargetArchitecture.ARM64) { - try + if (WindowsPlatform.GetToolsets().Any(x => x.Key == WindowsPlatformToolset.v145)) { - Build(options, architecture == TargetArchitecture.x64 ? "vc18win64" : "vc18win-arm64", platform, architecture); + try + { + Build(options, architecture == TargetArchitecture.x64 ? "vc18win64" : "vc18win-arm64", platform, architecture); + } + catch (Exception e) + { + Log.Warning($"Failed to generate VS2026 solution for PhysX, fallback to VS2022: {e.Message}"); + Build(options, architecture == TargetArchitecture.x64 ? "vc17win64" : "vc17win-arm64", platform, architecture); + } } - catch - { - Log.Verbose("Failed to generate VS2026 solution for PhysX, fallback to VS2022"); + else Build(options, architecture == TargetArchitecture.x64 ? "vc17win64" : "vc17win-arm64", platform, architecture); - } } else throw new InvalidArchitectureException(architecture);