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
This commit is contained in:
parent
a00c138b78
commit
33d74c5d00
@ -313,11 +313,8 @@ sub WriteItemDefinitionGroup
|
||||
my $targetmachine =
|
||||
$self->{platform} eq 'Win32' ? 'MachineX86' : 'MachineX64';
|
||||
|
||||
my $includes = $self->{includes};
|
||||
unless ($includes eq '' or $includes =~ /;$/)
|
||||
{
|
||||
$includes .= ';';
|
||||
}
|
||||
my $includes = join ';', @{$self->{includes}}, "";
|
||||
|
||||
print $f <<EOF;
|
||||
<ItemDefinitionGroup Condition="'\$(Configuration)|\$(Platform)'=='$cfgname|$self->{platform}'">
|
||||
<ClCompile>
|
||||
|
@ -937,7 +937,7 @@ sub AddTransformModule
|
||||
# Add PL dependencies
|
||||
$p->AddIncludeDir($pl_src);
|
||||
$p->AddReference($pl_proj);
|
||||
$p->AddIncludeDir($pl_proj->{includes});
|
||||
$p->AddIncludeDir($_) for @{$pl_proj->{includes}};
|
||||
foreach my $pl_lib (@{ $pl_proj->{libraries} })
|
||||
{
|
||||
$p->AddLibrary($pl_lib);
|
||||
@ -947,7 +947,7 @@ sub AddTransformModule
|
||||
if ($type_proj)
|
||||
{
|
||||
$p->AddIncludeDir($type_src);
|
||||
$p->AddIncludeDir($type_proj->{includes});
|
||||
$p->AddIncludeDir($_) for @{$type_proj->{includes}};
|
||||
foreach my $type_lib (@{ $type_proj->{libraries} })
|
||||
{
|
||||
$p->AddLibrary($type_lib);
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user