X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcomponent.cpp;h=dd33941c7ed20f6b08b0bf8e4929f26ddf5c57fe;hb=66d1078c04849ec17a7343d0494d6ed087e04318;hp=dcbaf373e19c0c16360fbfa468988575767fd5ff;hpb=242c55b17e6608b29a77ca17a5b677e202a3ca90;p=builder.git diff --git a/source/component.cpp b/source/component.cpp index dcbaf37..dd33941 100644 --- a/source/component.cpp +++ b/source/component.cpp @@ -12,6 +12,7 @@ Distributed under the LGPL #include #include "builder.h" #include "component.h" +#include "executable.h" #include "header.h" #include "install.h" #include "objectfile.h" @@ -89,7 +90,7 @@ void Component::create_targets() const bool build_exe=(type!=HEADERS); list objs; - list inst_tgts; + list inst_tgts; for(PathList::const_iterator i=files.begin(); i!=files.end(); ++i) { string ext=FS::extpart(FS::basename(*i)); @@ -103,7 +104,7 @@ void Component::create_targets() const } else if(ext==".h") { - Target *hdr=builder.get_target(i->str()); + FileTarget *hdr=dynamic_cast(builder.get_target(i->str())); if(!hdr) hdr=new Header(builder, this, i->str()); @@ -115,37 +116,37 @@ void Component::create_targets() const if(build_exe) { - Executable *exe=0; + Binary *bin=0; StaticLibrary *slib=0; if(type==LIBRARY) { - exe=new SharedLibrary(builder, *this, objs); + bin=new SharedLibrary(builder, *this, objs); slib=new StaticLibrary(builder, *this, objs); } else - exe=new Executable(builder, *this, objs); + bin=new Executable(builder, *this, objs); if(&pkg==builder.get_main_package() && deflt) { - def_tgt->add_depend(exe); + def_tgt->add_depend(bin); if(slib) def_tgt->add_depend(slib); } else { - world->add_depend(exe); + world->add_depend(bin); if(slib) world->add_depend(slib); } if(install) { - inst_tgts.push_back(exe); + inst_tgts.push_back(bin); if(slib) inst_tgts.push_back(slib); } } Target *inst_tgt=builder.get_target("install"); - for(TargetList::const_iterator i=inst_tgts.begin(); i!=inst_tgts.end(); ++i) + for(list::const_iterator i=inst_tgts.begin(); i!=inst_tgts.end(); ++i) inst_tgt->add_depend(new Install(builder, pkg, **i)); }