diff --git a/src/tools/msvc/Install.pm b/src/tools/msvc/Install.pm index 4f7faae..28e3230 100644 --- a/src/tools/msvc/Install.pm +++ b/src/tools/msvc/Install.pm @@ -299,6 +299,16 @@ sub CopyContribFiles $mf =~ s{\\s*[\r\n]+}{}mg; my $flist = ''; if ($mf =~ /^DATA_built\s*=\s*(.*)$/m) {$flist .= $1} + if ($mf =~ /^PLUGINS\s*=\s*(.*)$/mg) + { + mkdir($target . '/lib/plugins') if ( ! -e $target . '/lib/plugins' ); + foreach my $mod (split /\s+/, $1) + { + my $lib_name="$mod".'.dll'; + print "$target\\lib\\$lib_name\n"; + move("$target\\lib\\$lib_name","$target\\lib\\plugins\\$lib_name") or print "\nunable to find $lib_name\n"; + } + } if ($mf =~ /^DATA\s*=\s*(.*)$/m) {$flist .= " $1"} $flist =~ s/^\s*//; # Remove leading spaces if we had only DATA_built diff --git a/src/tools/msvc/Mkvcbuild.pm b/src/tools/msvc/Mkvcbuild.pm index 0d86967..cdf1bac 100644 --- a/src/tools/msvc/Mkvcbuild.pm +++ b/src/tools/msvc/Mkvcbuild.pm @@ -393,6 +393,16 @@ sub AddContrib my $n = shift; my $mf = Project::read_file('contrib\\' . $n . '\Makefile'); + if ($mf =~ /^PLUGINS\s*=\s*(.*)$/mg) + { + foreach my $mod (split /\s+/, $1) + { + my $proj = $solution->AddProject($mod, 'dll', 'contrib' ); + $proj->AddFile('contrib\\' . $n . '\\' . $mod . '.c'); + $proj->AddReference($postgres); + AdjustContribProj($proj); + } + } if ($mf =~ /^MODULE_big\s*=\s*(.*)$/mg) { my $dn = $1; @@ -449,6 +459,7 @@ sub AddContrib } AdjustContribProj($proj); } + elsif ($mf =~ /^PLUGINS\s*=\s*(.*)$/mg){} else { croak "Could not determine contrib module type for $n\n";