1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-14 18:42:34 +03:00

Enable building with Microsoft Visual Studio 2012.

Backpatch to release 9.2

Brar Piening and Noah Misch, reviewed by Craig Ringer.
This commit is contained in:
Andrew Dunstan
2013-02-06 14:52:29 -05:00
parent 5a1cd89f8f
commit e1c1e21732
11 changed files with 213 additions and 39 deletions

View File

@ -1,7 +1,7 @@
package MSBuildProject;
#
# Package that encapsulates a MSBuild (Visual C++ 2010) project file
# Package that encapsulates a MSBuild project file (Visual C++ 2010 or greater)
#
# src/tools/msvc/MSBuildProject.pm
#
@ -397,4 +397,46 @@ sub new
return $self;
}
package VC2012Project;
#
# Package that encapsulates a Visual C++ 2012 project file
#
use strict;
use warnings;
use base qw(MSBuildProject);
sub new
{
my $classname = shift;
my $self = $classname->SUPER::_new(@_);
bless($self, $classname);
$self->{vcver} = '11.00';
return $self;
}
# This override adds the <PlatformToolset> element
# to the PropertyGroup labeled "Configuration"
sub WriteConfigurationPropertyGroup
{
my ($self, $f, $cfgname, $p) = @_;
my $cfgtype =
($self->{type} eq "exe")
?'Application'
:($self->{type} eq "dll"?'DynamicLibrary':'StaticLibrary');
print $f <<EOF;
<PropertyGroup Condition="'\$(Configuration)|\$(Platform)'=='$cfgname|$self->{platform}'" Label="Configuration">
<ConfigurationType>$cfgtype</ConfigurationType>
<UseOfMfc>false</UseOfMfc>
<CharacterSet>MultiByte</CharacterSet>
<WholeProgramOptimization>$p->{wholeopt}</WholeProgramOptimization>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
EOF
}
1;