summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2019-01-24 16:19:18 (GMT)
committerBrad King <brad.king@kitware.com>2019-01-24 18:49:25 (GMT)
commit626c51f47be79c5438cc349f51ba1b4973194bfc (patch)
tree2b7a43b80a1cede0c6caa59e6221d08b0efcc775 /Source
parentfd45cbf40ee809d6b900f22247fef06e3d349c78 (diff)
downloadCMake-626c51f47be79c5438cc349f51ba1b4973194bfc.zip
CMake-626c51f47be79c5438cc349f51ba1b4973194bfc.tar.gz
CMake-626c51f47be79c5438cc349f51ba1b4973194bfc.tar.bz2
VS: Update for Visual Studio 2019 Preview 2
The toolset is now called `v142`. Use matching flag tables. Fixes: #18834
Diffstat (limited to 'Source')
-rw-r--r--Source/cmGlobalVisualStudioVersionedGenerator.cxx3
-rw-r--r--Source/cmVSSetupHelper.cxx10
-rw-r--r--Source/cmVisualStudio10ToolsetOptions.cxx22
3 files changed, 26 insertions, 9 deletions
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";