summaryrefslogtreecommitdiff
path: root/task.cc
diff options
context:
space:
mode:
Diffstat (limited to 'task.cc')
-rw-r--r--task.cc12
1 files changed, 11 insertions, 1 deletions
diff --git a/task.cc b/task.cc
index 10e9368..e5f11aa 100644
--- a/task.cc
+++ b/task.cc
@@ -8,18 +8,28 @@ Task::Task(const std::vector<std::string>& depends)
{
}
-void Task::registerDepTasks(const std::list<std::shared_ptr<Task>>& tasks)
+int Task::registerDepTasks(const std::list<std::shared_ptr<Task>>& tasks)
{
for(auto const& depStr : dependsStr)
{
+ bool found{false};
for(const auto& task : tasks)
{
if(task->target() == depStr)
{
dependsTasks.push_back(task);
+ found = true;
}
}
+ if(!found)
+ {
+ std::cerr << "Could not find dependency " << depStr << " needed by " <<
+ target() << " target\n";
+ return 1;
+ }
}
+
+ return 0;
}
bool Task::dirty()