diff --git a/Engine/Build/PhysXBuild.xml b/Engine/Build/PhysXBuild.xml
index a718919ba33b..e4012a3e82c3 100644
--- a/Engine/Build/PhysXBuild.xml
+++ b/Engine/Build/PhysXBuild.xml
@@ -10,7 +10,7 @@
-
+
diff --git a/Engine/Plugins/Developer/VisualStudioCodeSourceCodeAccess/Source/VisualStudioCodeSourceCodeAccess/VisualStudioCodeSourceCodeAccess.Build.cs b/Engine/Plugins/Developer/VisualStudioCodeSourceCodeAccess/Source/VisualStudioCodeSourceCodeAccess/VisualStudioCodeSourceCodeAccess.Build.cs
index 4812dced4c22..018e4672d9b9 100644
--- a/Engine/Plugins/Developer/VisualStudioCodeSourceCodeAccess/Source/VisualStudioCodeSourceCodeAccess/VisualStudioCodeSourceCodeAccess.Build.cs
+++ b/Engine/Plugins/Developer/VisualStudioCodeSourceCodeAccess/Source/VisualStudioCodeSourceCodeAccess/VisualStudioCodeSourceCodeAccess.Build.cs
@@ -35,9 +35,6 @@ namespace UnrealBuildTool.Rules
case WindowsCompiler.VisualStudio2017:
DTEKey = "VisualStudio.DTE.15.0";
break;
- case WindowsCompiler.VisualStudio2015_DEPRECATED:
- DTEKey = "VisualStudio.DTE.14.0";
- break;
default:
throw new Exception("Unknown visual studio version when mapping to DTEKey: " +
Target.WindowsPlatform.Compiler.ToString());
diff --git a/Engine/Source/Programs/AutomationTool/HoloLens/HoloLensPlatform.Automation.cs b/Engine/Source/Programs/AutomationTool/HoloLens/HoloLensPlatform.Automation.cs
index ce9c9ec4992e..0f8dbf4bd50c 100644
--- a/Engine/Source/Programs/AutomationTool/HoloLens/HoloLensPlatform.Automation.cs
+++ b/Engine/Source/Programs/AutomationTool/HoloLens/HoloLensPlatform.Automation.cs
@@ -1752,7 +1752,6 @@ namespace HoloLens.Automation
case WindowsCompiler.VisualStudio2019:
case WindowsCompiler.VisualStudio2017:
//Compiler version is still 14 for 2017
- case WindowsCompiler.VisualStudio2015_DEPRECATED:
case WindowsCompiler.Default:
VCVersionFragment = "14";
break;
diff --git a/Engine/Source/Programs/AutomationTool/Scripts/BuildHlslcc.Automation.cs b/Engine/Source/Programs/AutomationTool/Scripts/BuildHlslcc.Automation.cs
index f1c5a1a2b090..7264cd5917a9 100644
--- a/Engine/Source/Programs/AutomationTool/Scripts/BuildHlslcc.Automation.cs
+++ b/Engine/Source/Programs/AutomationTool/Scripts/BuildHlslcc.Automation.cs
@@ -15,7 +15,7 @@ using EpicGames.Core;
[Help("Builds Hlslcc using CMake build system.")]
[Help("TargetPlatforms", "Specify a list of target platforms to build, separated by '+' characters (eg. -TargetPlatforms=Win64+Linux+Mac). Architectures are specified with '-'. Default is Win64+Linux.")]
[Help("TargetConfigs", "Specify a list of configurations to build, separated by '+' characters (eg. -TargetConfigs=Debug+RelWithDebInfo). Default is Debug+RelWithDebInfo.")]
-[Help("TargetWindowsCompilers", "Specify a list of target compilers to use when building for Windows, separated by '+' characters (eg. -TargetCompilers=VisualStudio2015+VisualStudio2017). Default is VisualStudio2015.")]
+[Help("TargetWindowsCompilers", "Specify a list of target compilers to use when building for Windows, separated by '+' characters (eg. -TargetCompilers=VisualStudio2017+VisualStudio2019). Default is VisualStudio2019.")]
[Help("SkipBuild", "Do not perform build step. If this argument is not supplied libraries will be built (in accordance with TargetLibs, TargetPlatforms and TargetWindowsCompilers).")]
[Help("SkipDeployLibs", "Do not perform library deployment to the engine. If this argument is not supplied libraries will be copied into the engine.")]
[Help("SkipDeploySource", "Do not perform source deployment to the engine. If this argument is not supplied source will be copied into the engine.")]
@@ -54,7 +54,7 @@ class BuildHlslcc : BuildCommand
private static string[] APEXSpecialLibs = { "NvParameterized", "RenderDebug" };
// We cache our own MSDev and MSBuild executables
- private static FileReference MsDev14Exe;
+ private static FileReference MsDev19Exe;
private static FileReference MsBuildExe;
// Cache directories under the PhysX/ directory
@@ -88,7 +88,8 @@ class BuildHlslcc : BuildCommand
string VisualStudioDirectoryName;
switch (TargetWindowsCompiler)
{
- case WindowsCompiler.VisualStudio2015_DEPRECATED:
+ case WindowsCompiler.VisualStudio2017:
+ case WindowsCompiler.VisualStudio2019:
VisualStudioDirectoryName = "VS2015";
break;
default:
@@ -106,7 +107,7 @@ class BuildHlslcc : BuildCommand
}
}
- private static DirectoryReference GetProjectDirectory(TargetPlatformData TargetData, WindowsCompiler TargetWindowsCompiler = WindowsCompiler.VisualStudio2015_DEPRECATED)
+ private static DirectoryReference GetProjectDirectory(TargetPlatformData TargetData, WindowsCompiler TargetWindowsCompiler = WindowsCompiler.VisualStudio2019)
{
DirectoryReference Directory = SourceRootDirectory;
@@ -164,13 +165,16 @@ class BuildHlslcc : BuildCommand
return " -DCMAKE_TOOLCHAIN_FILE=\"" + SourceRootDirectory + "\\..\\..\\PhysX3\\Externals\\CMakeModules\\Linux\\LinuxCrossToolchain.multiarch.cmake\"" + " -DARCHITECTURE_TRIPLE=" + TargetData.Architecture;
}
- private static string GetCMakeArguments(TargetPlatformData TargetData, string BuildConfig = "", WindowsCompiler TargetWindowsCompiler = WindowsCompiler.VisualStudio2015_DEPRECATED)
+ private static string GetCMakeArguments(TargetPlatformData TargetData, string BuildConfig = "", WindowsCompiler TargetWindowsCompiler = WindowsCompiler.VisualStudio2019)
{
string VisualStudioName;
switch (TargetWindowsCompiler)
{
- case WindowsCompiler.VisualStudio2015_DEPRECATED:
- VisualStudioName = "Visual Studio 14 2015";
+ case WindowsCompiler.VisualStudio2017:
+ VisualStudioName = "Visual Studio 15 2017";
+ break;
+ case WindowsCompiler.VisualStudio2019:
+ VisualStudioName = "Visual Studio 16 2019";
break;
default:
throw new AutomationException(String.Format("Non-CMake or unsupported platform '{0}' supplied to GetCMakeArguments", TargetData.ToString()));
@@ -208,7 +212,7 @@ class BuildHlslcc : BuildCommand
{
if (TargetData.Platform == UnrealTargetPlatform.Win64)
{
- return MsDev14Exe.ToString();
+ return MsDev19Exe.ToString();
}
throw new AutomationException(String.Format("Non-MSBuild or unsupported platform '{0}' supplied to GetMsDevExe", TargetData.ToString()));
@@ -263,7 +267,7 @@ class BuildHlslcc : BuildCommand
string[] TargetPlatformAndArch = TargetPlatformName.Split(new char[] { '-' }, StringSplitOptions.RemoveEmptyEntries);
UnrealTargetPlatform TargetPlatform;
- if (!Enum.TryParse(TargetPlatformAndArch[0], out TargetPlatform))
+ if (!UnrealTargetPlatform.TryParse(TargetPlatformAndArch[0], out TargetPlatform))
{
throw new AutomationException(String.Format("Unknown target platform '{0}' specified on command line", TargetPlatformName));
}
@@ -313,7 +317,7 @@ class BuildHlslcc : BuildCommand
private List GetTargetWindowsCompilers()
{
List TargetWindowsCompilers = new List();
- string TargetWindowsCompilersFilter = ParseParamValue("TargetWindowsCompilers", "VisualStudio2015");
+ string TargetWindowsCompilersFilter = ParseParamValue("TargetWindowsCompilers", "VisualStudio2019");
if (TargetWindowsCompilersFilter != null)
{
foreach (string TargetWindowsCompilerName in TargetWindowsCompilersFilter.Split(new char[] { '+' }, StringSplitOptions.RemoveEmptyEntries))
@@ -474,7 +478,6 @@ class BuildHlslcc : BuildCommand
private static string GetMsDevExe(WindowsCompiler Version)
{
DirectoryReference VSPath;
- // It's not fatal if VS2013 isn't installed for VS2015 builds (for example, so don't crash here)
if (WindowsExports.TryGetVSInstallDir(Version, out VSPath))
{
return FileReference.Combine(VSPath, "Common7", "IDE", "Devenv.com").FullName;
@@ -484,18 +487,10 @@ class BuildHlslcc : BuildCommand
private static string GetMsBuildExe(WindowsCompiler Version)
{
- string VisualStudioToolchainVersion = "";
- switch (Version)
+ DirectoryReference VSPath;
+ if (WindowsExports.TryGetVSInstallDir(Version, out VSPath))
{
- case WindowsCompiler.VisualStudio2015_DEPRECATED:
- VisualStudioToolchainVersion = "14.0";
- break;
- }
- string ProgramFilesPath = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86);
- string MSBuildPath = Path.Combine(ProgramFilesPath, "MSBuild", VisualStudioToolchainVersion, "Bin", "MSBuild.exe");
- if (File.Exists(MSBuildPath))
- {
- return MSBuildPath;
+ return FileReference.Combine(VSPath, "MSBuild", "Current", "Bin", "MSBuild.exe").FullName;
}
return null;
}
@@ -526,11 +521,11 @@ class BuildHlslcc : BuildCommand
{
if (Utils.IsRunningOnWindows)
{
- string VS2015Path = GetMsDevExe(WindowsCompiler.VisualStudio2015_DEPRECATED);
- if (VS2015Path != null)
+ string VS2019Path = GetMsDevExe(WindowsCompiler.VisualStudio2019);
+ if (VS2019Path != null)
{
- MsDev14Exe = new FileReference(GetMsDevExe(WindowsCompiler.VisualStudio2015_DEPRECATED));
- MsBuildExe = new FileReference(GetMsBuildExe(WindowsCompiler.VisualStudio2015_DEPRECATED));
+ MsDev19Exe = new FileReference(GetMsDevExe(WindowsCompiler.VisualStudio2019));
+ MsBuildExe = new FileReference(GetMsBuildExe(WindowsCompiler.VisualStudio2019));
}
// ================================================================================
@@ -552,7 +547,7 @@ class BuildHlslcc : BuildCommand
}
}
- private static void BuildMSBuildTarget(TargetPlatformData TargetData, List TargetConfigurations, WindowsCompiler TargetWindowsCompiler = WindowsCompiler.VisualStudio2015_DEPRECATED)
+ private static void BuildMSBuildTarget(TargetPlatformData TargetData, List TargetConfigurations, WindowsCompiler TargetWindowsCompiler = WindowsCompiler.VisualStudio2019)
{
string SolutionFile = GetTargetLibSolutionFileName(TargetData, TargetWindowsCompiler).ToString();
string MSDevExe = GetMsDevExe(TargetData);
@@ -666,7 +661,8 @@ class BuildHlslcc : BuildCommand
{
switch (TargetWindowsCompiler)
{
- case WindowsCompiler.VisualStudio2015_DEPRECATED:
+ case WindowsCompiler.VisualStudio2017:
+ case WindowsCompiler.VisualStudio2019:
VisualStudioName = "VS2015";
break;
default:
@@ -721,7 +717,7 @@ class BuildHlslcc : BuildCommand
}
}
- private static void FindOutputFiles(HashSet OutputFiles, TargetPlatformData TargetData, string TargetConfiguration, WindowsCompiler TargetWindowsCompiler = WindowsCompiler.VisualStudio2015_DEPRECATED)
+ private static void FindOutputFiles(HashSet OutputFiles, TargetPlatformData TargetData, string TargetConfiguration, WindowsCompiler TargetWindowsCompiler = WindowsCompiler.VisualStudio2019)
{
string SearchSuffix = "";
if (TargetConfiguration == "Debug")
@@ -952,7 +948,7 @@ class BuildHlslcc : BuildCommand
}
}
- private void CopyLibsToFinalDestination(TargetPlatformData TargetData, List TargetConfigurations, WindowsCompiler TargetWindowsCompiler = WindowsCompiler.VisualStudio2015_DEPRECATED)
+ private void CopyLibsToFinalDestination(TargetPlatformData TargetData, List TargetConfigurations, WindowsCompiler TargetWindowsCompiler = WindowsCompiler.VisualStudio2019)
{
foreach (string TargetConfiguration in TargetConfigurations)
{
diff --git a/Engine/Source/Programs/AutomationTool/Scripts/BuildPhysX.Automation.cs b/Engine/Source/Programs/AutomationTool/Scripts/BuildPhysX.Automation.cs
index 09f51a378d90..11f60c98e56d 100644
--- a/Engine/Source/Programs/AutomationTool/Scripts/BuildPhysX.Automation.cs
+++ b/Engine/Source/Programs/AutomationTool/Scripts/BuildPhysX.Automation.cs
@@ -309,15 +309,11 @@ public sealed class BuildPhysX : BuildCommand
public virtual bool UseMsBuild { get; }
- public MSBuildTargetPlatform(string CompilerName = "VS2015")
+ public MSBuildTargetPlatform(string CompilerName = "VS2019")
{
this.CompilerName = CompilerName;
switch (CompilerName)
{
- case "VS2015":
- Compiler = WindowsCompiler.VisualStudio2015_DEPRECATED;
- VisualStudioName = "Visual Studio 14 2015";
- break;
case "VS2017":
Compiler = WindowsCompiler.VisualStudio2017;
VisualStudioName = "Visual Studio 15 2017";
diff --git a/Engine/Source/Programs/UnrealBuildTool/Modes/GenerateProjectFilesMode.cs b/Engine/Source/Programs/UnrealBuildTool/Modes/GenerateProjectFilesMode.cs
index 98dcf1f2919b..99fbf328d59d 100644
--- a/Engine/Source/Programs/UnrealBuildTool/Modes/GenerateProjectFilesMode.cs
+++ b/Engine/Source/Programs/UnrealBuildTool/Modes/GenerateProjectFilesMode.cs
@@ -24,9 +24,6 @@ namespace UnrealBuildTool
/// Types of project files to generate
///
[CommandLine("-ProjectFileFormat")]
- [CommandLine("-2012unsupported", Value = nameof(ProjectFileFormat.VisualStudio2012))]
- [CommandLine("-2013unsupported", Value = nameof(ProjectFileFormat.VisualStudio2013))]
- [CommandLine("-2015", Value = nameof(ProjectFileFormat.VisualStudio2015))] // + override compiler
[CommandLine("-2017", Value = nameof(ProjectFileFormat.VisualStudio2017))] // + override compiler
[CommandLine("-2019", Value = nameof(ProjectFileFormat.VisualStudio2019))] // + override compiler
[CommandLine("-Makefile", Value = nameof(ProjectFileFormat.Make))]
@@ -194,15 +191,6 @@ namespace UnrealBuildTool
case ProjectFileFormat.VisualStudio:
Generator = new VCProjectFileGenerator(ProjectFile, VCProjectFileFormat.Default, Arguments);
break;
- case ProjectFileFormat.VisualStudio2012:
- Generator = new VCProjectFileGenerator(ProjectFile, VCProjectFileFormat.VisualStudio2012, Arguments);
- break;
- case ProjectFileFormat.VisualStudio2013:
- Generator = new VCProjectFileGenerator(ProjectFile, VCProjectFileFormat.VisualStudio2013, Arguments);
- break;
- case ProjectFileFormat.VisualStudio2015:
- Generator = new VCProjectFileGenerator(ProjectFile, VCProjectFileFormat.VisualStudio2015, Arguments);
- break;
case ProjectFileFormat.VisualStudio2017:
Generator = new VCProjectFileGenerator(ProjectFile, VCProjectFileFormat.VisualStudio2017, Arguments);
break;
diff --git a/Engine/Source/Programs/UnrealBuildTool/Platform/HoloLens/UEBuildHoloLens.cs b/Engine/Source/Programs/UnrealBuildTool/Platform/HoloLens/UEBuildHoloLens.cs
index da7a64a44d61..735399b9f7ab 100644
--- a/Engine/Source/Programs/UnrealBuildTool/Platform/HoloLens/UEBuildHoloLens.cs
+++ b/Engine/Source/Programs/UnrealBuildTool/Platform/HoloLens/UEBuildHoloLens.cs
@@ -24,9 +24,8 @@ namespace UnrealBuildTool
///
[ConfigFile(ConfigHierarchyType.Engine, "/Script/HoloLensPlatformEditor.HoloLensTargetSettings", "CompilerVersion")]
[XmlConfigFile(Category = "HoloLensPlatform")]
- [CommandLine("-2015", Value = "VisualStudio2015")]
- [CommandLine("-2017", Value = "VisualStudio2017")]
- [CommandLine("-2019", Value = "VisualStudio2019")]
+ [CommandLine("-2017", Value = nameof(WindowsCompiler.VisualStudio2017))]
+ [CommandLine("-2019", Value = nameof(WindowsCompiler.VisualStudio2019))]
public WindowsCompiler Compiler = WindowsCompiler.Default;
///
@@ -349,11 +348,7 @@ namespace UnrealBuildTool
public static DirectoryReference GetCppCXMetadataLocation(WindowsCompiler Compiler, DirectoryReference SelectedToolChainDir)
{
- if (Compiler == WindowsCompiler.VisualStudio2015_DEPRECATED)
- {
- return DirectoryReference.Combine(SelectedToolChainDir, "lib", "store", "references");
- }
- else if (Compiler >= WindowsCompiler.VisualStudio2017)
+ if (Compiler >= WindowsCompiler.VisualStudio2017)
{
return DirectoryReference.Combine(SelectedToolChainDir, "lib", "x86", "Store", "references");
}
diff --git a/Engine/Source/Programs/UnrealBuildTool/Platform/Lumin/LuminProjectGenerator.cs b/Engine/Source/Programs/UnrealBuildTool/Platform/Lumin/LuminProjectGenerator.cs
index 05b91684b4af..7c61ce4f8bbd 100644
--- a/Engine/Source/Programs/UnrealBuildTool/Platform/Lumin/LuminProjectGenerator.cs
+++ b/Engine/Source/Programs/UnrealBuildTool/Platform/Lumin/LuminProjectGenerator.cs
@@ -38,8 +38,7 @@ namespace UnrealBuildTool
if (!VSSupportChecked)
{
// TODO: add a registry check or file exists check to confirm if MLExtension is installed on the given ProjectFileFormat.
- VSDebuggingEnabled = (ProjectFileFormat == VCProjectFileFormat.VisualStudio2015
- || ProjectFileFormat == VCProjectFileFormat.VisualStudio2017
+ VSDebuggingEnabled = (ProjectFileFormat == VCProjectFileFormat.VisualStudio2017
|| ProjectFileFormat == VCProjectFileFormat.VisualStudio2019);
VSSupportChecked = true;
}
diff --git a/Engine/Source/Programs/UnrealBuildTool/Platform/Windows/UEBuildWindows.cs b/Engine/Source/Programs/UnrealBuildTool/Platform/Windows/UEBuildWindows.cs
index 35aa5ddb7859..aec64467be62 100644
--- a/Engine/Source/Programs/UnrealBuildTool/Platform/Windows/UEBuildWindows.cs
+++ b/Engine/Source/Programs/UnrealBuildTool/Platform/Windows/UEBuildWindows.cs
@@ -35,17 +35,6 @@ namespace UnrealBuildTool
///
Intel,
- ///
- /// Visual Studio 2015 (Visual C++ 14.0)
- ///
- VisualStudio2015_DEPRECATED,
-
- ///
- /// Visual Studio 2015 (Visual C++ 14.0)
- ///
- [Obsolete("UE4 does not support building Visual Studio 2015 targets from the 4.22 release onwards.")]
- VisualStudio2015 = VisualStudio2015_DEPRECATED,
-
///
/// Visual Studio 2017 (Visual C++ 15.0)
///
@@ -115,9 +104,8 @@ namespace UnrealBuildTool
///
[ConfigFile(ConfigHierarchyType.Engine, "/Script/WindowsTargetPlatform.WindowsTargetSettings", "CompilerVersion")]
[XmlConfigFile(Category = "WindowsPlatform")]
- [CommandLine("-2015", Value = "VisualStudio2015")]
- [CommandLine("-2017", Value = "VisualStudio2017")]
- [CommandLine("-2019", Value = "VisualStudio2019")]
+ [CommandLine("-2017", Value = nameof(WindowsCompiler.VisualStudio2017))]
+ [CommandLine("-2019", Value = nameof(WindowsCompiler.VisualStudio2019))]
[CommandLine("-Compiler=")]
public WindowsCompiler Compiler = WindowsCompiler.Default;
@@ -232,7 +220,7 @@ namespace UnrealBuildTool
/// Microsoft provides legacy_stdio_definitions library to enable building with VS2015 until they fix everything up.
public bool bNeedsLegacyStdioDefinitionsLib
{
- get { return Compiler == WindowsCompiler.VisualStudio2015_DEPRECATED || Compiler == WindowsCompiler.VisualStudio2017 || Compiler == WindowsCompiler.VisualStudio2019 || Compiler == WindowsCompiler.Clang; }
+ get { return Compiler == WindowsCompiler.VisualStudio2017 || Compiler == WindowsCompiler.VisualStudio2019 || Compiler == WindowsCompiler.Clang; }
}
///
@@ -391,7 +379,6 @@ namespace UnrealBuildTool
{
case WindowsCompiler.Clang:
case WindowsCompiler.Intel:
- case WindowsCompiler.VisualStudio2015_DEPRECATED:
case WindowsCompiler.VisualStudio2017:
case WindowsCompiler.VisualStudio2019:
return "2015"; // VS2017 is backwards compatible with VS2015 compiler
@@ -1001,8 +988,6 @@ namespace UnrealBuildTool
{
switch (Compiler)
{
- case WindowsCompiler.VisualStudio2015_DEPRECATED:
- return "Visual Studio 2015";
case WindowsCompiler.VisualStudio2017:
return "Visual Studio 2017";
case WindowsCompiler.VisualStudio2019:
@@ -1054,16 +1039,7 @@ namespace UnrealBuildTool
Installations = new List();
if (BuildHostPlatform.Current.Platform == UnrealTargetPlatform.Win64)
{
- if(Compiler == WindowsCompiler.VisualStudio2015_DEPRECATED)
- {
- // VS2015 just installs one toolchain; use that.
- DirectoryReference? InstallDir;
- if(MicrosoftPlatformSDK.TryReadInstallDirRegistryKey32("Microsoft\\VisualStudio\\SxS\\VS7", "14.0", out InstallDir))
- {
- Installations.Add(new VisualStudioInstallation(InstallDir));
- }
- }
- else if(Compiler == WindowsCompiler.VisualStudio2017 || Compiler == WindowsCompiler.VisualStudio2019)
+ if(Compiler == WindowsCompiler.VisualStudio2017 || Compiler == WindowsCompiler.VisualStudio2019)
{
try
{
@@ -1194,20 +1170,6 @@ namespace UnrealBuildTool
}
}
}
- else if(Compiler == WindowsCompiler.VisualStudio2015_DEPRECATED)
- {
- // VS2015 just installs one toolchain; use that.
- List Installations = FindVisualStudioInstallations(Compiler);
- foreach(VisualStudioInstallation Installation in Installations)
- {
- DirectoryReference ToolChainBaseDir = DirectoryReference.Combine(Installation.BaseDir, "VC");
- if(IsValidToolChainDir2015(ToolChainBaseDir))
- {
- VersionNumber Version = new VersionNumber(14, 0);
- ToolChains.Add(new ToolChainInstallation(Version, 0, Version, Has64BitToolChain(ToolChainBaseDir), Installation.bPreview, null, ToolChainBaseDir));
- }
- }
- }
else if(Compiler == WindowsCompiler.VisualStudio2017 || Compiler == WindowsCompiler.VisualStudio2019)
{
// Enumerate all the manually installed toolchains
diff --git a/Engine/Source/Programs/UnrealBuildTool/Platform/Windows/VCEnvironment.cs b/Engine/Source/Programs/UnrealBuildTool/Platform/Windows/VCEnvironment.cs
index 1526e57f7f15..23790c1a6fab 100644
--- a/Engine/Source/Programs/UnrealBuildTool/Platform/Windows/VCEnvironment.cs
+++ b/Engine/Source/Programs/UnrealBuildTool/Platform/Windows/VCEnvironment.cs
@@ -356,8 +356,8 @@ namespace UnrealBuildTool
LibraryPaths.Add(LibsPath);
}
- // If we're on Visual Studio 2015 and using pre-Windows 10 SDK, we need to find a Windows 10 SDK and add the UCRT include paths
- if(ToolChain >= WindowsCompiler.VisualStudio2015_DEPRECATED && WindowsSdkVersion < new VersionNumber(10))
+ // If we're on >= Visual Studio 2015 and using pre-Windows 10 SDK, we need to find a Windows 10 SDK and add the UCRT include paths
+ if(ToolChain >= WindowsCompiler.VisualStudio2017 && WindowsSdkVersion < new VersionNumber(10))
{
KeyValuePair Pair = MicrosoftPlatformSDK.FindUniversalCrtDirs().OrderByDescending(x => x.Key).FirstOrDefault();
if(Pair.Key == null || Pair.Key < new VersionNumber(10))
diff --git a/Engine/Source/Programs/UnrealBuildTool/Platform/Windows/VCToolChain.cs b/Engine/Source/Programs/UnrealBuildTool/Platform/Windows/VCToolChain.cs
index 11173b87bcbe..261611ba25b1 100644
--- a/Engine/Source/Programs/UnrealBuildTool/Platform/Windows/VCToolChain.cs
+++ b/Engine/Source/Programs/UnrealBuildTool/Platform/Windows/VCToolChain.cs
@@ -301,13 +301,13 @@ namespace UnrealBuildTool
// Previously %s meant "the current character set" and %S meant "the other one".
// Now %s means multibyte and %S means wide. %Ts means "natural width".
// Reverting this behaviour until the UE4 source catches up.
- if (Target.WindowsPlatform.Compiler >= WindowsCompiler.VisualStudio2015_DEPRECATED || Target.WindowsPlatform.Compiler == WindowsCompiler.Clang)
+ if (Target.WindowsPlatform.Compiler >= WindowsCompiler.VisualStudio2017 || Target.WindowsPlatform.Compiler == WindowsCompiler.Clang)
{
AddDefinition(Arguments, "_CRT_STDIO_LEGACY_WIDE_SPECIFIERS=1");
}
// @todo HoloLens: Silence the hash_map deprecation errors for now. This should be replaced with unordered_map for the real fix.
- if (Target.WindowsPlatform.Compiler >= WindowsCompiler.VisualStudio2015_DEPRECATED || Target.WindowsPlatform.Compiler == WindowsCompiler.Clang)
+ if (Target.WindowsPlatform.Compiler >= WindowsCompiler.VisualStudio2017 || Target.WindowsPlatform.Compiler == WindowsCompiler.Clang)
{
AddDefinition(Arguments, "_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS=1");
}
@@ -328,7 +328,7 @@ namespace UnrealBuildTool
AddDefinition(Arguments, "_DISABLE_EXTENDED_ALIGNED_STORAGE");
// Fix Incredibuild errors with helpers using heterogeneous character sets
- if (Target.WindowsPlatform.Compiler >= WindowsCompiler.VisualStudio2015_DEPRECATED)
+ if (Target.WindowsPlatform.Compiler >= WindowsCompiler.VisualStudio2017)
{
Arguments.Add("/source-charset:utf-8");
Arguments.Add("/execution-charset:utf-8");
@@ -553,8 +553,8 @@ namespace UnrealBuildTool
Arguments.Add("/we4996");
}
- //@todo: Disable warnings for VS2015. These should be reenabled as we clear the reasons for them out of the engine source and the VS2015 toolchain evolves.
- if (Target.WindowsPlatform.Compiler >= WindowsCompiler.VisualStudio2015_DEPRECATED)
+ //@todo: Disable warnings for VS2017. These should be reenabled as we clear the reasons for them out of the engine source and the VS2015 toolchain evolves.
+ if (Target.WindowsPlatform.Compiler >= WindowsCompiler.VisualStudio2017)
{
// Disable shadow variable warnings
if (CompileEnvironment.ShadowVariableWarningLevel == WarningLevel.Off)
@@ -849,7 +849,6 @@ namespace UnrealBuildTool
break;
case WindowsCompiler.Intel:
break;
- case WindowsCompiler.VisualStudio2015_DEPRECATED:
case WindowsCompiler.VisualStudio2017:
case WindowsCompiler.VisualStudio2019:
Arguments[Arguments.Count - 1] += ":FASTLINK";
@@ -1047,9 +1046,7 @@ namespace UnrealBuildTool
// Generate the timing info
if (CompileEnvironment.bPrintTimingInfo || Target.WindowsPlatform.bCompilerTrace)
{
- if (Target.WindowsPlatform.Compiler == WindowsCompiler.VisualStudio2015_DEPRECATED ||
- Target.WindowsPlatform.Compiler == WindowsCompiler.VisualStudio2017 ||
- Target.WindowsPlatform.Compiler == WindowsCompiler.VisualStudio2019)
+ if (Target.WindowsPlatform.Compiler >= WindowsCompiler.VisualStudio2017)
{
if (CompileEnvironment.bPrintTimingInfo)
{
diff --git a/Engine/Source/Programs/UnrealBuildTool/ProjectFiles/ProjectFileGenerator.cs b/Engine/Source/Programs/UnrealBuildTool/ProjectFiles/ProjectFileGenerator.cs
index e8499c1de299..2a12e27ad42f 100644
--- a/Engine/Source/Programs/UnrealBuildTool/ProjectFiles/ProjectFileGenerator.cs
+++ b/Engine/Source/Programs/UnrealBuildTool/ProjectFiles/ProjectFileGenerator.cs
@@ -131,9 +131,6 @@ namespace UnrealBuildTool
KDevelop,
CodeLite,
VisualStudio,
- VisualStudio2012,
- VisualStudio2013,
- VisualStudio2015,
VisualStudio2017,
VisualStudio2019,
XCode,
@@ -655,11 +652,6 @@ namespace UnrealBuildTool
Format = ProjectFileFormat.VisualStudio;
return true;
}
- else if (PreferredAccessor == "visualstudio2015")
- {
- Format = ProjectFileFormat.VisualStudio2015;
- return true;
- }
else if (PreferredAccessor == "visualstudio2017")
{
Format = ProjectFileFormat.VisualStudio2017;
diff --git a/Engine/Source/Programs/UnrealBuildTool/ProjectFiles/VisualStudio/VCProject.cs b/Engine/Source/Programs/UnrealBuildTool/ProjectFiles/VisualStudio/VCProject.cs
index b918adbc0f93..54b32b736de9 100644
--- a/Engine/Source/Programs/UnrealBuildTool/ProjectFiles/VisualStudio/VCProject.cs
+++ b/Engine/Source/Programs/UnrealBuildTool/ProjectFiles/VisualStudio/VCProject.cs
@@ -561,7 +561,7 @@ namespace UnrealBuildTool
case VCProjectFileFormat.VisualStudio2017:
return WindowsCompiler.VisualStudio2017;
default:
- return WindowsCompiler.VisualStudio2015_DEPRECATED;
+ return WindowsCompiler.VisualStudio2017;
}
}
diff --git a/Engine/Source/Programs/UnrealBuildTool/ProjectFiles/VisualStudio/VCProjectFileGenerator.cs b/Engine/Source/Programs/UnrealBuildTool/ProjectFiles/VisualStudio/VCProjectFileGenerator.cs
index 0310036f6a01..e55ffe61817f 100644
--- a/Engine/Source/Programs/UnrealBuildTool/ProjectFiles/VisualStudio/VCProjectFileGenerator.cs
+++ b/Engine/Source/Programs/UnrealBuildTool/ProjectFiles/VisualStudio/VCProjectFileGenerator.cs
@@ -30,9 +30,6 @@ namespace UnrealBuildTool
enum VCProjectFileFormat
{
Default, // Default to the best installed version, but allow SDKs to override
- VisualStudio2012, // Unsupported
- VisualStudio2013, // Unsupported
- VisualStudio2015,
VisualStudio2017,
VisualStudio2019,
}
@@ -129,11 +126,7 @@ namespace UnrealBuildTool
Settings.ProjectFileFormat = InProjectFileFormat;
}
- if (InArguments.HasOption("-2015"))
- {
- BuildToolOverride = "-2015";
- }
- else if (InArguments.HasOption("-2017"))
+ if (InArguments.HasOption("-2017"))
{
BuildToolOverride = "-2017";
}
@@ -225,12 +218,6 @@ namespace UnrealBuildTool
{
switch (ProjectFileFormat)
{
- case VCProjectFileFormat.VisualStudio2012:
- return "4.0";
- case VCProjectFileFormat.VisualStudio2013:
- return "12.0";
- case VCProjectFileFormat.VisualStudio2015:
- return "14.0";
case VCProjectFileFormat.VisualStudio2017:
return "15.0";
case VCProjectFileFormat.VisualStudio2019:
@@ -244,12 +231,6 @@ namespace UnrealBuildTool
{
switch (ProjectFileFormat)
{
- case VCProjectFileFormat.VisualStudio2012:
- return "v110";
- case VCProjectFileFormat.VisualStudio2013:
- return "v120";
- case VCProjectFileFormat.VisualStudio2015:
- return "v140";
case VCProjectFileFormat.VisualStudio2017:
return "v141";
case VCProjectFileFormat.VisualStudio2019:
@@ -288,15 +269,7 @@ namespace UnrealBuildTool
base.SetupSupportedPlatformsAndConfigurations(IncludeAllPlatforms, out SupportedPlatformNames);
// If we have a non-default setting for visual studio, check the compiler exists. If not, revert to the default.
- if (Settings.ProjectFileFormat == VCProjectFileFormat.VisualStudio2015)
- {
- if (!WindowsPlatform.HasCompiler(WindowsCompiler.VisualStudio2015_DEPRECATED))
- {
- Log.TraceWarning("Visual Studio C++ 2015 installation not found - ignoring preferred project file format.");
- Settings.ProjectFileFormat = VCProjectFileFormat.Default;
- }
- }
- else if (Settings.ProjectFileFormat == VCProjectFileFormat.VisualStudio2017)
+ if (Settings.ProjectFileFormat == VCProjectFileFormat.VisualStudio2017)
{
if (!WindowsPlatform.HasCompiler(WindowsCompiler.VisualStudio2017))
{
@@ -327,10 +300,6 @@ namespace UnrealBuildTool
{
Settings.ProjectFileFormat = VCProjectFileFormat.VisualStudio2017;
}
- else if (WindowsPlatform.HasCompiler(WindowsCompiler.VisualStudio2015_DEPRECATED) && WindowsPlatform.HasIDE(WindowsCompiler.VisualStudio2015_DEPRECATED))
- {
- Settings.ProjectFileFormat = VCProjectFileFormat.VisualStudio2015;
- }
// Allow the SDKs to override
foreach (UnrealTargetPlatform SupportedPlatform in SupportedPlatforms)
@@ -524,26 +493,6 @@ namespace UnrealBuildTool
VCSolutionFileContent.AppendLine("VisualStudioVersion = 15.0.25807.0");
VCSolutionFileContent.AppendLine("MinimumVisualStudioVersion = 10.0.40219.1");
}
- else if (Settings.ProjectFileFormat == VCProjectFileFormat.VisualStudio2015)
- {
- VCSolutionFileContent.AppendLine();
- VCSolutionFileContent.AppendLine("Microsoft Visual Studio Solution File, Format Version 12.00");
- VCSolutionFileContent.AppendLine("# Visual Studio 14");
- VCSolutionFileContent.AppendLine("VisualStudioVersion = 14.0.22310.1");
- VCSolutionFileContent.AppendLine("MinimumVisualStudioVersion = 10.0.40219.1");
- }
- else if (Settings.ProjectFileFormat == VCProjectFileFormat.VisualStudio2013)
- {
- VCSolutionFileContent.AppendLine();
- VCSolutionFileContent.AppendLine("Microsoft Visual Studio Solution File, Format Version 12.00");
- VCSolutionFileContent.AppendLine("# Visual Studio 2013");
- }
- else if (Settings.ProjectFileFormat == VCProjectFileFormat.VisualStudio2012)
- {
- VCSolutionFileContent.AppendLine();
- VCSolutionFileContent.AppendLine("Microsoft Visual Studio Solution File, Format Version 12.00");
- VCSolutionFileContent.AppendLine("# Visual Studio 2012");
- }
else
{
throw new BuildException("Unexpected ProjectFileFormat");
@@ -852,15 +801,6 @@ namespace UnrealBuildTool
FileReference SolutionOptionsFileName;
switch (Settings.ProjectFileFormat)
{
- case VCProjectFileFormat.VisualStudio2012:
- SolutionOptionsFileName = FileReference.Combine(MasterProjectPath, Path.ChangeExtension(SolutionFileName, "v11.suo"));
- break;
- case VCProjectFileFormat.VisualStudio2013:
- SolutionOptionsFileName = FileReference.Combine(MasterProjectPath, Path.ChangeExtension(SolutionFileName, "v12.suo"));
- break;
- case VCProjectFileFormat.VisualStudio2015:
- SolutionOptionsFileName = FileReference.Combine(MasterProjectPath, ".vs", Path.GetFileNameWithoutExtension(SolutionFileName), "v14", ".suo");
- break;
case VCProjectFileFormat.VisualStudio2017:
SolutionOptionsFileName = FileReference.Combine(MasterProjectPath, ".vs", Path.GetFileNameWithoutExtension(SolutionFileName), "v15", ".suo");
break;
diff --git a/Engine/Source/Programs/UnrealBuildTool/ProjectFiles/VisualStudioMac/VisualStudioMacProjectFileGenerator.cs b/Engine/Source/Programs/UnrealBuildTool/ProjectFiles/VisualStudioMac/VisualStudioMacProjectFileGenerator.cs
index 4f80d60625c5..0b5eb40f8cc8 100644
--- a/Engine/Source/Programs/UnrealBuildTool/ProjectFiles/VisualStudioMac/VisualStudioMacProjectFileGenerator.cs
+++ b/Engine/Source/Programs/UnrealBuildTool/ProjectFiles/VisualStudioMac/VisualStudioMacProjectFileGenerator.cs
@@ -44,8 +44,8 @@ namespace UnrealBuildTool
protected override bool WriteProjectFiles(PlatformProjectGeneratorCollection PlatformProjectGenerators)
{
// This can be reset by higher level code when it detects that we don't have
- // VS2015 installed (TODO - add custom format for Mac?)
- Settings.ProjectFileFormat = VCProjectFileFormat.VisualStudio2015;
+ // VS2017 installed (TODO - add custom format for Mac?)
+ Settings.ProjectFileFormat = VCProjectFileFormat.VisualStudio2017;
// we can't generate native projects so clear them here, we will just
// write out OtherProjectFiles and AutomationProjectFiles
diff --git a/Engine/Source/ThirdParty/libOpus/libOpus.build.cs b/Engine/Source/ThirdParty/libOpus/libOpus.build.cs
index 7ed504b10503..dd86236ecf11 100644
--- a/Engine/Source/ThirdParty/libOpus/libOpus.build.cs
+++ b/Engine/Source/ThirdParty/libOpus/libOpus.build.cs
@@ -38,7 +38,7 @@ public class libOpus : ModuleRules
}
else if (Target.WindowsPlatform.Architecture == WindowsArchitecture.ARM64)
{
- LibraryPath += "Windows/VS" + (Target.WindowsPlatform.Compiler >= WindowsCompiler.VisualStudio2015_DEPRECATED ? "2015" : "2012");
+ LibraryPath += "Windows/VS" + (Target.WindowsPlatform.Compiler >= WindowsCompiler.VisualStudio2017 ? "2015" : "2012");
LibraryPath += "/ARM64/";
}