From 6e5417d7737bdcc26ca7889210f275a8e46591b0 Mon Sep 17 00:00:00 2001 From: Andrew Dunstan Date: Thu, 25 Jul 2019 11:24:23 -0400 Subject: [PATCH] Honor MSVC WindowsSDKVersion if set Add a line to the project file setting the target SDK. Otherwise, in for example VS2017, if the default but optional 8.1 SDK is not installed the build will fail. Patch from Peifeng Qiu, slightly edited by me. Discussion: https://postgr.es/m/CABmtVJhw1boP_bd4=b3Qv5YnqEdL696NtHFi2ruiyQ6mFHkeQQ@mail.gmail.com Backpatch to all live branches. --- src/tools/msvc/MSBuildProject.pm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm index ca965bdf1a..695d7a8b10 100644 --- a/src/tools/msvc/MSBuildProject.pm +++ b/src/tools/msvc/MSBuildProject.pm @@ -40,6 +40,19 @@ EOF $self->{guid} +EOF + # Check whether WindowsSDKVersion env variable is present. + # Add WindowsTargetPlatformVersion node if so. + my $sdkVersion = $ENV{'WindowsSDKVersion'}; + if (defined($sdkVersion)) + { + # remove trailing backslash if necessary. + $sdkVersion, =~ s/\\$//; + print $f <$sdkVersion +EOF + } + print $f < EOF -- 2.50.0