Browse Source

Merge topic 'ninja-avoid-double-phony'

04377f1b Ninja: Remove CMake includes from explicit depends (#14972)
Brad King 11 years ago
parent
commit
0b028c6f0a
1 changed files with 9 additions and 0 deletions
  1. 9 0
      Source/cmGlobalNinjaGenerator.cxx

+ 9 - 0
Source/cmGlobalNinjaGenerator.cxx

@@ -961,7 +961,16 @@ void cmGlobalNinjaGenerator::WriteUnknownExplicitDependencies(std::ostream& os)
       {
       knownDependencies.insert( ng->ConvertToNinjaPath( j->c_str() ) );
       }
+    //get list files which are implicit dependencies as well and will be phony
+    //for rebuild manifest
+    std::vector<std::string> const& lf = (*i)->GetMakefile()->GetListFiles();
+    typedef std::vector<std::string>::const_iterator vect_it;
+    for(vect_it j = lf.begin(); j != lf.end(); ++j)
+      {
+      knownDependencies.insert( ng->ConvertToNinjaPath( j->c_str() ) );
+      }
     }
+  knownDependencies.insert( "CMakeCache.txt" );
 
   for(std::vector<cmGeneratorExpressionEvaluationFile*>::const_iterator
       li = this->EvaluationFiles.begin();