if(tool->accepts_suffix(ext))
{
t = &dynamic_cast<FileTarget &>(*tool->create_target(*t));
- if(type==LIBRARY && install)
+ if(type==LIBRARY)
create_install(*t);
}
}
vector<Target *> group = extract_group(pending, *tool);
FileTarget &tgt = dynamic_cast<FileTarget &>(*tool->create_target(group));
pending.push_back(&tgt);
- if(type==LIBRARY && install)
+ if(type==LIBRARY)
create_install(tgt);
}
}
if(FileTarget *file = dynamic_cast<FileTarget *>(src))
{
targets.push_back(file);
- if(type==LIBRARY && install)
+ if(type==LIBRARY)
create_install(*file);
}
}
void BinaryComponent::create_install(FileTarget &target) const
{
BuildGraph &build_graph = package.get_builder().get_build_graph();
+ auto add_func = (install ? &BuildGraph::add_installed_target : &BuildGraph::add_staged_target);
if(target.is_installable())
- build_graph.add_installed_target(target);
+ (build_graph.*add_func)(target);
for(Target *s: target.get_side_effects())
if(dynamic_cast<FileTarget &>(*s).is_installable())
- build_graph.add_installed_target(*s);
+ (build_graph.*add_func)(*s);
}