- builder.get_logger().log("problems", "Dependency cycle detected at %s", name);
- problems.push_back("Dependency cycle detected");
+ auto i = find(prepare_stack, this);
+ if(i!=prepare_stack.end())
+ {
+ string cycle;
+ for(; i!=prepare_stack.end(); ++i)
+ append(cycle, " -> ", (*i)->name);
+ append(cycle, " -> ", name);
+ builder.get_logger().log("problems", "Dependency cycle detected: %s", cycle);
+ problems.push_back(format("Dependency cycle detected: %s", cycle));
+ }
+ else
+ {
+ builder.get_logger().log("problems", "Dependency cycle detected at %s", name);
+ problems.push_back("Dependency cycle detected");
+ }