X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fsourcepackage.cpp;h=246a6db5187db78ac9b88264b171f8f9b2530dba;hb=102de418e552cb1e1f91bb85954c4c101fdea82d;hp=7d0ed1d97095f034ff074a8d46858ddb9a36db11;hpb=50be4619cca4bb44e5abf8759720c255ef6d3b45;p=builder.git diff --git a/source/sourcepackage.cpp b/source/sourcepackage.cpp index 7d0ed1d..246a6db 100644 --- a/source/sourcepackage.cpp +++ b/source/sourcepackage.cpp @@ -5,6 +5,8 @@ #include "binarypackage.h" #include "builder.h" #include "misc.h" +#include "pkgconfigfile.h" +#include "tool.h" #include "sourcepackage.h" using namespace std; @@ -226,6 +228,23 @@ void SourcePackage::create_build_info() } } +void SourcePackage::create_targets() +{ + bool pc_needed = false; + for(ComponentList::const_iterator i=components.begin(); i!=components.end(); ++i) + { + i->create_targets(); + if(i->get_type()==Component::LIBRARY || i->get_type()==Component::HEADERS) + pc_needed = true; + } + + if(pc_needed) + { + PkgConfigFile *pc = new PkgConfigFile(builder, *this); + builder.get_target("install")->add_depend(builder.get_toolchain().get_tool("CP").create_target(*pc)); + } +} + SourcePackage::Loader::Loader(Package &p): Package::Loader(p)