+#include <msp/core/algorithm.h>
#include <msp/fs/utils.h>
#include "component.h"
#include "filetarget.h"
if(comp && !comp->get_overlays().empty())
{
// Check if the target resides in an overlay directory
- const Component::OverlayList &overlays = comp->get_overlays();
string last_dir = FS::basename(FS::dirname(target.get_path()));
- for(Component::OverlayList::const_iterator i=overlays.begin(); i!=overlays.end(); ++i)
- if(last_dir==*i)
- overlay_depth = 1;
+ if(any_equals(comp->get_overlays(), last_dir))
+ overlay_depth = 1;
}
FS::Path source = target.get_path();
if(temp_depth>0)
{
// If it is, use the generating template's directory instead
- const Target::Dependencies &deps = target.get_dependencies();
- for(Target::Dependencies::const_iterator i=deps.begin(); i!=deps.end(); ++i)
- if(const TemplateFile *tmpl = dynamic_cast<const TemplateFile *>(*i))
+ for(Target *d: target.get_dependencies())
+ if(const TemplateFile *tmpl = dynamic_cast<const TemplateFile *>(d))
{
source = FS::dirname(tmpl->get_path())/FS::basename(source);
break;
/* Look for a mapping entry matching both the target's original location
and default install location */
FS::Path install = target.get_install_location();
- for(list<Entry>::const_iterator i=entries.begin(); i!=entries.end(); ++i)
+ for(const Entry &e: entries)
{
- int source_depth = FS::descendant_depth(source, i->source);
+ int source_depth = FS::descendant_depth(source, e.source);
if(source_depth>=0)
{
- FS::Path install_base = FS::common_ancestor(install, i->install);
+ FS::Path install_base = FS::common_ancestor(install, e.install);
if(install_base.size()>1)
{
- install = i->install/source.subpath(i->source.size(), source_depth-1-overlay_depth);
+ install = e.install/source.subpath(e.source.size(), source_depth-1-overlay_depth);
break;
}
}