Browse Source

Merge topic '13582_configured_file_regeneration'

ad50250 cmMakefile: Track configured files so we can regenerate them (#13582)
4a6397a Ninja: Track configured files so we can regenerate them.
Brad King 12 years ago
parent
commit
aecacd093b
2 changed files with 4 additions and 0 deletions
  1. 3 0
      Source/cmGlobalNinjaGenerator.cxx
  2. 1 0
      Source/cmMakefile.cxx

+ 3 - 0
Source/cmGlobalNinjaGenerator.cxx

@@ -961,6 +961,9 @@ void cmGlobalNinjaGenerator::WriteTargetRebuildManifest(std::ostream& os)
        this->LocalGenerators.begin(); i != this->LocalGenerators.end(); ++i) {
     const std::vector<std::string>& lf = (*i)->GetMakefile()->GetListFiles();
     implicitDeps.insert(implicitDeps.end(), lf.begin(), lf.end());
+
+    const std::vector<std::string>& of = (*i)->GetMakefile()->GetOutputFiles();
+    implicitDeps.insert(implicitDeps.end(), of.begin(), of.end());
   }
   std::sort(implicitDeps.begin(), implicitDeps.end());
   implicitDeps.erase(std::unique(implicitDeps.begin(), implicitDeps.end()),

+ 1 - 0
Source/cmMakefile.cxx

@@ -3371,6 +3371,7 @@ int cmMakefile::ConfigureFile(const char* infile, const char* outfile,
   std::string sinfile = infile;
   this->AddCMakeDependFile(sinfile);
   cmSystemTools::ConvertToUnixSlashes(soutfile);
+  this->AddCMakeOutputFile(soutfile);
   mode_t perm = 0;
   cmSystemTools::GetPermissions(sinfile.c_str(), perm);
   std::string::size_type pos = soutfile.rfind('/');