From: Andrew Dunstan Date: Thu, 25 Jul 2019 15:24:23 +0000 (-0400) Subject: Honor MSVC WindowsSDKVersion if set X-Git-Tag: REL9_4_24~13 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=53fd0f04b87bf37288f65b5944ac30c64296a745;p=postgresql.git 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. --- diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm index 158763d9b2e..eb7d3bd667c 100644 --- a/src/tools/msvc/MSBuildProject.pm +++ b/src/tools/msvc/MSBuildProject.pm @@ -38,6 +38,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