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:39:34 -0400
commitfe9e632846a1888b93699d08c7513b35fcce63fb (patch)
tree71cd9041a755873a340bb7c3e891c1f7b44a4cde
parent5a1c61bdf4c010dd4de197e3fd1678f518f10f75 (diff)
downloadpostgresql-fe9e632846a1888b93699d08c7513b35fcce63fb.tar.gz
postgresql-fe9e632846a1888b93699d08c7513b35fcce63fb.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 3edb11b9b5f..6dbe85eae1b 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