From 15f16ec6511cf50374b09876e39c6939f2da0f08 Mon Sep 17 00:00:00 2001 From: David Rowley Date: Thu, 29 Jul 2021 10:41:31 +1200 Subject: [PATCH] Don't duplicate references and libraries in MSVC scripts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In order not to duplicate references and libraries in the Visual Studio project files produced by the MSVC build scripts, have them check if a particular reference or library already exists before adding the same one again. Reviewed-by: Álvaro Herrera, Andrew Dunstan, Dagfinn Ilmari Mannsåker Discussion: https://postgr.es/m/CAApHDvpo6g5csCTjc_0C7DMvgFPomVb0Rh-AcW5afd=Ya=LRuw@mail.gmail.com --- src/tools/msvc/Project.pm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/tools/msvc/Project.pm b/src/tools/msvc/Project.pm index a6c3aa0d687..f1c93a3fa32 100644 --- a/src/tools/msvc/Project.pm +++ b/src/tools/msvc/Project.pm @@ -124,7 +124,10 @@ sub AddReference while (my $ref = shift) { - push @{ $self->{references} }, $ref; + if (! grep { $_ eq $ref} @{ $self->{references} }) + { + push @{ $self->{references} }, $ref; + } $self->AddLibrary( "__CFGNAME__/" . $ref->{name} . "/" . $ref->{name} . ".lib"); } @@ -141,7 +144,11 @@ sub AddLibrary $lib = '"' . $lib . """; } - push @{ $self->{libraries} }, $lib; + if (! grep { $_ eq $lib} @{ $self->{libraries} }) + { + push @{ $self->{libraries} }, $lib; + } + if ($dbgsuffix) { push @{ $self->{suffixlib} }, $lib;