postgres.git / summary / log / commit / refs

commit    20e99cdddbd3b55257827d621c2f9c592521cd4b
Author:   Andrew Dunstan <andrew@dunslane.net>
Date:     Thu Jul 25 15:24:23 2019 +0000

    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 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 [parent: f5a4ab23e42a]