private void LocaliseLinkerPath() { var compilerPath = ""; if (ExecPath.Contains("link.exe") || ExecPath.Contains("lib.exe")) { var compilerPathComponents = ExecPath.Replace('\\', '/').Split('/'); var startIndex = Array.FindIndex(compilerPathComponents, row => row == "VC"); if (startIndex > 0) { Type = CompilerTypes.Msvc; compilerPath = "$VSBasePath$"; for (var i = startIndex + 1; i < compilerPathComponents.Length; ++i) { compilerPath += "/" + compilerPathComponents[i]; } } ExecPath = compilerPath; } else if (ExecPath.Contains("orbis-snarl.exe")) { Type = CompilerTypes.OrbisSnarl; } else if (ExecPath.Contains("orbis-clang.exe")) { Type = CompilerTypes.OrbisClang; } }