- if(const Header *hdr=dynamic_cast<const Header *>(&tgt))
- mid="include/"+hdr->get_component()->get_install_headers();
- else if(const Executable *exe=dynamic_cast<const Executable *>(&tgt))
+ if(!loc.empty())
+ mid = loc;
+ else if(const Header *hdr = dynamic_cast<const Header *>(&tgt))
+ {
+ if(hdr->get_component()->get_type()!=Component::HEADERS)
+ throw Exception("Header install from non-header component?");
+ mid = "include/"+hdr->get_component()->get_name();
+ }
+ else if(dynamic_cast<const Executable *>(&tgt))
+ mid = "bin";
+ else if(const SharedLibrary *shlib = dynamic_cast<const SharedLibrary *>(&tgt))