summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Help/release/dev/vs2019.rst2
-rw-r--r--Source/cmGlobalVisualStudioVersionedGenerator.cxx3
-rw-r--r--Source/cmVSSetupHelper.cxx10
-rw-r--r--Source/cmVisualStudio10ToolsetOptions.cxx22
4 files changed, 27 insertions, 10 deletions
diff --git a/Help/release/dev/vs2019.rst b/Help/release/dev/vs2019.rst
index 1ffdeec..2072147 100644
--- a/Help/release/dev/vs2019.rst
+++ b/Help/release/dev/vs2019.rst
@@ -2,7 +2,7 @@ vs2019
------
* The :generator:`Visual Studio 16 2019` generator was added. This is
- experimental and based on "Visual Studio 2019 Preview 1.1" because this
+ experimental and based on "Visual Studio 2019 Preview 2" because this
version of VS has not been released.
The VS 2019 generator differs from generators for earlier versions
diff --git a/Source/cmGlobalVisualStudioVersionedGenerator.cxx b/Source/cmGlobalVisualStudioVersionedGenerator.cxx
index 31f585c..a83cc78 100644
--- a/Source/cmGlobalVisualStudioVersionedGenerator.cxx
+++ b/Source/cmGlobalVisualStudioVersionedGenerator.cxx
@@ -72,8 +72,7 @@ static const char* VSVersionToToolset(
case cmGlobalVisualStudioGenerator::VS15:
return "v141";
case cmGlobalVisualStudioGenerator::VS16:
- // FIXME: VS 2019 Preview 1.1 uses v141 but preview 2 will use v142.
- return "v141";
+ return "v142";
}
return "";
}
diff --git a/Source/cmVSSetupHelper.cxx b/Source/cmVSSetupHelper.cxx
index 9187c29..91a0e15 100644
--- a/Source/cmVSSetupHelper.cxx
+++ b/Source/cmVSSetupHelper.cxx
@@ -188,8 +188,16 @@ bool cmVSSetupAPIHelper::GetVSInstanceInfo(
// Check if a compiler is installed with this instance.
{
std::string const vcRoot = vsInstanceInfo.GetInstallLocation();
- std::string const vcToolsVersionFile =
+ std::string vcToolsVersionFile =
vcRoot + "/VC/Auxiliary/Build/Microsoft.VCToolsVersion.default.txt";
+ if (!cmSystemTools::PathExists(vcToolsVersionFile)) {
+ // FIXME: VS 2019 Preview 2 installs the v142 toolset and does not
+ // provide the plain `Microsoft.VCToolsVersion.default.txt` that v141
+ // does. This should be fixed in preview 3 and this workaround can
+ // be dropped. Otherwise, we may need to switch to globbing.
+ vcToolsVersionFile = vcRoot +
+ "/VC/Auxiliary/Build/Microsoft.VCToolsVersion.v142.default.txt";
+ }
std::string vcToolsVersion;
cmsys::ifstream fin(vcToolsVersionFile.c_str());
if (!fin || !cmSystemTools::GetLineFromStream(fin, vcToolsVersion)) {
diff --git a/Source/cmVisualStudio10ToolsetOptions.cxx b/Source/cmVisualStudio10ToolsetOptions.cxx
index 39063ed..a490e03 100644
--- a/Source/cmVisualStudio10ToolsetOptions.cxx
+++ b/Source/cmVisualStudio10ToolsetOptions.cxx
@@ -11,7 +11,9 @@ std::string cmVisualStudio10ToolsetOptions::GetClFlagTableName(
{
std::string const useToolset = this->GetToolsetName(name, toolset);
- if (toolset == "v141") {
+ if (toolset == "v142") {
+ return "v142";
+ } else if (toolset == "v141") {
return "v141";
} else if (useToolset == "v140") {
return "v140";
@@ -31,7 +33,10 @@ std::string cmVisualStudio10ToolsetOptions::GetCSharpFlagTableName(
{
std::string const useToolset = this->GetToolsetName(name, toolset);
- if ((useToolset == "v141")) {
+ if (useToolset == "v142") {
+ // FIXME: Add CSharp flag table for v142.
+ return "v141";
+ } else if (useToolset == "v141") {
return "v141";
} else if (useToolset == "v140") {
return "v140";
@@ -51,7 +56,8 @@ std::string cmVisualStudio10ToolsetOptions::GetRcFlagTableName(
{
std::string const useToolset = this->GetToolsetName(name, toolset);
- if ((useToolset == "v140") || (useToolset == "v141")) {
+ if ((useToolset == "v140") || (useToolset == "v141") ||
+ (useToolset == "v142")) {
return "v14";
} else if (useToolset == "v120") {
return "v12";
@@ -69,7 +75,8 @@ std::string cmVisualStudio10ToolsetOptions::GetLibFlagTableName(
{
std::string const useToolset = this->GetToolsetName(name, toolset);
- if ((useToolset == "v140") || (useToolset == "v141")) {
+ if ((useToolset == "v140") || (useToolset == "v141") ||
+ (useToolset == "v142")) {
return "v14";
} else if (useToolset == "v120") {
return "v12";
@@ -87,7 +94,9 @@ std::string cmVisualStudio10ToolsetOptions::GetLinkFlagTableName(
{
std::string const useToolset = this->GetToolsetName(name, toolset);
- if (useToolset == "v141") {
+ if (useToolset == "v142") {
+ return "v142";
+ } else if (useToolset == "v141") {
return "v141";
} else if (useToolset == "v140") {
return "v140";
@@ -107,7 +116,8 @@ std::string cmVisualStudio10ToolsetOptions::GetMasmFlagTableName(
{
std::string const useToolset = this->GetToolsetName(name, toolset);
- if ((useToolset == "v140") || (useToolset == "v141")) {
+ if ((useToolset == "v140") || (useToolset == "v141") ||
+ (useToolset == "v142")) {
return "v14";
} else if (useToolset == "v120") {
return "v12";