This is necessary to get generated sources to behave correctly. Includes
can only be read after they're built for the first time. The ObjectFile
must then add the necessary dependencies to ensure that required headers
are installed.
for(Dependencies::const_iterator i=deps_to_add.begin(); i!=deps_to_add.end(); ++i)
if(find(depends.begin(), depends.end(), *i)==depends.end())
+ {
add_dependency(**i);
+ if((*i)->get_real_target()->is_buildable())
+ (*i)->signal_modified.connect(sigc::mem_fun(this, static_cast<void (ObjectFile::*)()>(&ObjectFile::find_dependencies)));
+ }
}
modified();
for(Dependencies::const_iterator i=side_effects.begin(); i!=side_effects.end(); ++i)
(*i)->build_finished(success);
+ signal_modified.emit();
}
}
public:
sigc::signal<void> signal_bubble_rebuild;
+ sigc::signal<void> signal_modified;
protected:
Builder &builder;