vector<const FileTarget *> sources;
vector<const FileTarget *> includes;
vector<const FileTarget *> others;
+ BuildInfo build_info;
for(BuildGraph::TargetMap::const_iterator i=targets.begin(); i!=targets.end(); ++i)
- if(i->second->get_package()==&spkg && !i->second->is_buildable())
- if(const FileTarget *file = dynamic_cast<const FileTarget *>(i->second))
+ if(i->second->get_package()==&spkg)
+ {
+ if(i->second->is_buildable())
+ {
+ BuildInfo tgt_binfo;
+ i->second->collect_build_info(tgt_binfo);
+ build_info.update_from(tgt_binfo, BuildInfo::CHAINED);
+ }
+ else if(const FileTarget *file = dynamic_cast<const FileTarget *>(i->second))
{
if(dynamic_cast<const CSourceFile *>(file))
{
else
others.push_back(file);
}
+ }
+
+ if(!build_info.incpath.empty())
+ {
+ IO::print(out, "\t<PropertyGroup>\n");
+ string path_str;
+ for(BuildInfo::PathList::const_iterator i=build_info.incpath.begin(); i!=build_info.incpath.end(); ++i)
+ append(path_str, ";", i->str());
+ IO::print(out, "\t\t<NMakeIncludeSearchPath>%s</NMakeIncludeSearchPath>\n", path_str);
+ IO::print(out, "\t</PropertyGroup>\n");
+ }
IO::print(out, "\t<ItemGroup>\n");
for(vector<const FileTarget *>::const_iterator i=sources.begin(); i!=sources.end(); ++i)