Pārlūkot izejas kodu

Do not crash when an imported target depends on a missing target

Commit e01cce28 (Allow add_dependencies() on imported targets,
2010-11-19) forgot to check if the dependee exists before using it.
Brad King 14 gadi atpakaļ
vecāks
revīzija
8ee9bbbd0c
1 mainītis faili ar 5 papildinājumiem un 3 dzēšanām
  1. 5 3
      Source/cmComputeTargetDepends.cxx

+ 5 - 3
Source/cmComputeTargetDepends.cxx

@@ -276,9 +276,11 @@ void cmComputeTargetDepends::AddTargetDepend(int depender_index,
     for(std::set<cmStdString>::const_iterator i = utils.begin();
         i != utils.end(); ++i)
       {
-      cmTarget* transitive_dependee =
-        dependee->GetMakefile()->FindTargetToUse(i->c_str());
-      this->AddTargetDepend(depender_index, transitive_dependee, false);
+      if(cmTarget* transitive_dependee =
+         dependee->GetMakefile()->FindTargetToUse(i->c_str()))
+        {
+        this->AddTargetDepend(depender_index, transitive_dependee, false);
+        }
       }
     }
   else