]> git.tdb.fi Git - builder.git/blobdiff - source/lib/binarycomponent.cpp
Remove the include path for used local components
[builder.git] / source / lib / binarycomponent.cpp
index 0b5d3cf84d067c63b554af9c05f063415ca17074..408ea464d9ef5a01dad5f1dfdb03b7d7a88c7fac 100644 (file)
@@ -14,14 +14,6 @@ void BinaryComponent::create_build_info()
 
        for(const Component *u: uses)
        {
-               /* Select an include path that contains all the sources for this and the
-               used component.  This should produce a sensible result in most cases. */
-               FS::Path base;
-               for(const FS::Path &s: sources)
-                       base = base.empty() ? s : FS::common_ancestor(base, s);
-               for(const FS::Path &s: u->get_sources())
-                       base = FS::common_ancestor(base, s);
-               build_info.incpath.push_back(base);
                build_info.libs.push_back(u->get_name());
                if(!u->get_install())
                {
@@ -95,7 +87,7 @@ void BinaryComponent::create_targets() const
                                if(tool->accepts_suffix(ext))
                                {
                                        t = &dynamic_cast<FileTarget &>(*tool->create_target(*t));
-                                       if(type==LIBRARY && install)
+                                       if(type==LIBRARY)
                                                create_install(*t);
                                }
                        }
@@ -106,7 +98,7 @@ void BinaryComponent::create_targets() const
                        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);
                }
        }
@@ -159,7 +151,7 @@ vector<FileTarget *> BinaryComponent::create_sources() const
                if(FileTarget *file = dynamic_cast<FileTarget *>(src))
                {
                        targets.push_back(file);
-                       if(type==LIBRARY && install)
+                       if(type==LIBRARY)
                                create_install(*file);
                }
        }
@@ -193,13 +185,14 @@ vector<Target *> BinaryComponent::extract_group(vector<FileTarget *> &targets, c
 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);
 }