diff options
author | Brad King <brad.king@kitware.com> | 2019-01-28 13:07:23 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2019-01-28 13:07:28 (GMT) |
commit | ce57bc8e04e1b30dd2645df111783a8961296070 (patch) | |
tree | 42831938397c980135b1a9f77ad97e09292586b2 /Source | |
parent | 70fabb8f25b41b2cf332335bb14f3627c786626f (diff) | |
parent | 626c51f47be79c5438cc349f51ba1b4973194bfc (diff) | |
download | CMake-ce57bc8e04e1b30dd2645df111783a8961296070.zip CMake-ce57bc8e04e1b30dd2645df111783a8961296070.tar.gz CMake-ce57bc8e04e1b30dd2645df111783a8961296070.tar.bz2 |
Merge topic 'vs2019'
626c51f47b VS: Update for Visual Studio 2019 Preview 2
fd45cbf40e VS: Fix `/MANIFESTUAC:` link flag mapping for v142
db35e3cfd6 VS: Fix support for '/guard:cf' linker flag for v142
533f95c847 VS: Map the link `/debug` flag for v142
d2fcc6748a VS: Fix `/MANIFESTUAC:NO` link flag mapping for v142
a7973ccb53 VS: Populate `/permissive` flag table entry for v142
049410c0b6 VS: Populate `/JMC-` flag table entry for v142
43aa632f57 VS: Populate `-Qspectre-` flag table entry for v142
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2856
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmGlobalVisualStudioVersionedGenerator.cxx | 3 | ||||
-rw-r--r-- | Source/cmVSSetupHelper.cxx | 10 | ||||
-rw-r--r-- | Source/cmVisualStudio10ToolsetOptions.cxx | 22 |
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"; |