summaryrefslogtreecommitdiff
path: root/src/tools/msvc/Project.pm
diff options
context:
space:
mode:
authorDavid Rowley <drowley@postgresql.org>2021-07-29 10:14:25 +1200
committerDavid Rowley <drowley@postgresql.org>2021-07-29 10:14:25 +1200
commit33d74c5d00e45248df66fa1bcd9222e0713ea5b1 (patch)
tree41957d17e09323c6c1e9be9277d568a0bd9310f2 /src/tools/msvc/Project.pm
parenta00c138b78521b9bc68b480490a8d601ecdeb816 (diff)
Make the includes field an array in MSVC build scripts
Previously the 'includes' field was a string. It's slightly nicer to manage this when it's defined as an array instead. This allows us to more easily detect and eliminate duplicates. Reviewed-by: Álvaro Herrera, Andrew Dunstan, Dagfinn Ilmari Mannsåker Discussion: https://postgr.es/m/CAApHDvpo6g5csCTjc_0C7DMvgFPomVb0Rh-AcW5afd=Ya=LRuw@mail.gmail.com
Diffstat (limited to 'src/tools/msvc/Project.pm')
-rw-r--r--src/tools/msvc/Project.pm12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/tools/msvc/Project.pm b/src/tools/msvc/Project.pm
index e1a5d139d3c..a6c3aa0d687 100644
--- a/src/tools/msvc/Project.pm
+++ b/src/tools/msvc/Project.pm
@@ -30,7 +30,7 @@ sub _new
references => [],
libraries => [],
suffixlib => [],
- includes => '',
+ includes => [],
prefixincludes => '',
defines => ';',
solution => $solution,
@@ -151,13 +151,15 @@ sub AddLibrary
sub AddIncludeDir
{
- my ($self, $inc) = @_;
+ my ($self, $incstr) = @_;
- if ($self->{includes} ne '')
+ foreach my $inc (split(/;/, $incstr))
{
- $self->{includes} .= ';';
+ if (! grep { $_ eq $inc} @{ $self->{includes} })
+ {
+ push @{ $self->{includes} }, $inc;
+ }
}
- $self->{includes} .= $inc;
return;
}