using namespace Msp;
InstalledFile::InstalledFile(Builder &b, const SourcePackage &p, FileTarget &s, const string &loc):
- FileTarget(b, &p, generate_target_path(b.get_prefix(), s, loc)),
+ FileTarget(b, p, generate_target_path(b.get_prefix(), s, loc)),
source(s)
{
add_depend(&source);
if(!tgt.is_installable() && loc.empty())
throw invalid_argument(tgt.get_name()+" is not installable");
- string mid;
+ FS::Path mid;
if(!loc.empty())
mid = loc;
+ else if(const Component *comp = tgt.get_component())
+ mid = comp->get_install_map().get_install_location(tgt);
else
mid = tgt.get_install_location();