mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-12 18:34:36 +08:00
Add basic build support for Visual Studio 2008, without resorting to
generating the build files for 2005 and then converting them.
This commit is contained in:
parent
4e766f2d17
commit
df0cdd53d6
@ -3,7 +3,7 @@ package Project;
|
||||
#
|
||||
# Package that encapsulates a Visual C++ project file generation
|
||||
#
|
||||
# $PostgreSQL: pgsql/src/tools/msvc/Project.pm,v 1.21 2009/11/12 00:13:00 tgl Exp $
|
||||
# $PostgreSQL: pgsql/src/tools/msvc/Project.pm,v 1.22 2009/12/23 13:27:04 mha Exp $
|
||||
#
|
||||
use Carp;
|
||||
use strict;
|
||||
@ -32,7 +32,8 @@ sub new
|
||||
defines => ';',
|
||||
solution => $solution,
|
||||
disablewarnings => '4018;4244;4273;4102;4090',
|
||||
disablelinkerwarnings => ''
|
||||
disablelinkerwarnings => '',
|
||||
vcver => $solution->{vcver}
|
||||
};
|
||||
|
||||
bless $self;
|
||||
@ -458,7 +459,7 @@ sub WriteHeader
|
||||
|
||||
print $f <<EOF;
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject ProjectType="Visual C++" Version="8.00" Name="$self->{name}" ProjectGUID="$self->{guid}">
|
||||
<VisualStudioProject ProjectType="Visual C++" Version="$self->{vcver}" Name="$self->{name}" ProjectGUID="$self->{guid}">
|
||||
<Platforms><Platform Name="Win32"/></Platforms>
|
||||
<Configurations>
|
||||
EOF
|
||||
|
@ -3,7 +3,7 @@ package Solution;
|
||||
#
|
||||
# Package that encapsulates a Visual C++ solution file generation
|
||||
#
|
||||
# $PostgreSQL: pgsql/src/tools/msvc/Solution.pm,v 1.48 2009/09/19 05:56:50 adunstan Exp $
|
||||
# $PostgreSQL: pgsql/src/tools/msvc/Solution.pm,v 1.49 2009/12/23 13:27:04 mha Exp $
|
||||
#
|
||||
use Carp;
|
||||
use strict;
|
||||
@ -20,6 +20,7 @@ sub new
|
||||
options => $options,
|
||||
numver => '',
|
||||
strver => '',
|
||||
vcver => undef,
|
||||
};
|
||||
bless $self;
|
||||
# integer_datetimes is now the default
|
||||
@ -51,9 +52,30 @@ sub new
|
||||
unless $options->{wal_segsize}; # undef or 0 means default
|
||||
die "Bad wal_segsize $options->{wal_segsize}"
|
||||
unless grep {$_ == $options->{wal_segsize}} (1,2,4,8,16,32,64);
|
||||
|
||||
$self->DetermineToolVersions();
|
||||
|
||||
return $self;
|
||||
}
|
||||
|
||||
sub DetermineToolVersions
|
||||
{
|
||||
my $self = shift;
|
||||
|
||||
# Determine version of vcbuild command, to set proper verison of visual studio
|
||||
open(P,"vcbuild /? |") || die "vcbuild command not found";
|
||||
my $line = <P>;
|
||||
close(P);
|
||||
if ($line !~ /^Microsoft \(R\) Visual C\+\+ Project Builder - Command Line Version (\d+)\.00\.\d+/) {
|
||||
die "Unable to determine vcbuild version from first line of output!";
|
||||
}
|
||||
if ($1 == 8) { $self->{vcver} = '8.00' }
|
||||
elsif ($1 == 9) { $self->{vcver} = '9.00' }
|
||||
else { die "Unsupported version of Visual Studio: $1" }
|
||||
print "Detected Visual Studio version $self->{vcver}\n";
|
||||
}
|
||||
|
||||
|
||||
# Return 1 if $oldfile is newer than $newfile, or if $newfile doesn't exist.
|
||||
# Special case - if config.pl has changed, always return 1
|
||||
sub IsNewer
|
||||
|
Loading…
Reference in New Issue
Block a user