Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/msvc/Project.pm')
-rw-r--r--src/tools/msvc/Project.pm38
1 files changed, 27 insertions, 11 deletions
diff --git a/src/tools/msvc/Project.pm b/src/tools/msvc/Project.pm
index f343b2b9b8c..b9b5a239d8a 100644
--- a/src/tools/msvc/Project.pm
+++ b/src/tools/msvc/Project.pm
@@ -183,15 +183,7 @@ sub UseDef
sub AddDir
{
my ($self, $reldir) = @_;
- my $MF;
-
- my $t = $/;
- undef $/;
- open($MF, "$reldir\\Makefile")
- || open($MF, "$reldir\\GNUMakefile")
- || croak "Could not open $reldir\\Makefile\n";
- my $mf = <$MF>;
- close($MF);
+ my $mf = read_makefile($reldir);
$mf =~ s{\\\r?\n}{}g;
if ($mf =~ m{^(?:SUB)?DIRS[^=]*=\s*(.*)$}mg)
@@ -292,7 +284,15 @@ sub AddDir
$mf =~ s{$replace_re}{}m;
}
- # See if this Makefile contains a description, and should have a RC file
+ $self->AddDirResourceFile($reldir);
+}
+
+# If the directory's Makefile bears a description string, add a resource file.
+sub AddDirResourceFile
+{
+ my ($self, $reldir) = @_;
+ my $mf = read_makefile($reldir);
+
if ($mf =~ /^PGFILEDESC\s*=\s*\"([^\"]+)\"/m)
{
my $desc = $1;
@@ -300,7 +300,6 @@ sub AddDir
if ($mf =~ /^PGAPPICON\s*=\s*(.*)$/m) { $ico = $1; }
$self->AddResourceFile($reldir, $desc, $ico);
}
- $/ = $t;
}
sub AddResourceFile
@@ -409,4 +408,21 @@ sub read_file
return $txt;
}
+sub read_makefile
+{
+ my $reldir = shift;
+ my $F;
+ my $t = $/;
+
+ undef $/;
+ open($F, "$reldir\\GNUmakefile")
+ || open($F, "$reldir\\Makefile")
+ || croak "Could not open $reldir\\Makefile\n";
+ my $txt = <$F>;
+ close($F);
+ $/ = $t;
+
+ return $txt;
+}
+
1;