aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dunstan <andrew@dunslane.net>2019-07-25 11:24:23 -0400
committerAndrew Dunstan <andrew@dunslane.net>2019-07-25 11:38:43 -0400
commit20e99cdddbd3b55257827d621c2f9c592521cd4b (patch)
tree45ae5cf4d144269833841c5d8fcc8bde8a779dab
parentf5a4ab23e42ac35862e3f7dc021a41f41a34386c (diff)
downloadpostgresql-20e99cdddbd3b55257827d621c2f9c592521cd4b.tar.gz
postgresql-20e99cdddbd3b55257827d621c2f9c592521cd4b.zip
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.
-rw-r--r--src/tools/msvc/MSBuildProject.pm13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/tools/msvc/MSBuildProject.pm b/src/tools/msvc/MSBuildProject.pm
index ca965bdf1aa..695d7a8b104 100644
--- a/src/tools/msvc/MSBuildProject.pm
+++ b/src/tools/msvc/MSBuildProject.pm
@@ -40,6 +40,19 @@ EOF
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>$self->{guid}</ProjectGuid>
+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 <<EOF
+ <WindowsTargetPlatformVersion>$sdkVersion</WindowsTargetPlatformVersion>
+EOF
+ }
+ print $f <<EOF;
</PropertyGroup>
<Import Project="\$(VCTargetsPath)\\Microsoft.Cpp.Default.props" />
EOF