diff options
author | Brad King <brad.king@kitware.com> | 2013-06-25 12:55:02 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2013-06-25 12:55:02 (GMT) |
commit | aecacd093b25001dcec0bdc5e612880fae6ee1e1 (patch) | |
tree | 7fad20c1c35ff14230225ac6347bafda78a4ca56 | |
parent | 493489665e6ff98be614a1fe8f73d9484a0ca1b0 (diff) | |
parent | ad502502dfee281e5b0ad8ac57057d72220b4380 (diff) | |
download | CMake-aecacd093b25001dcec0bdc5e612880fae6ee1e1.zip CMake-aecacd093b25001dcec0bdc5e612880fae6ee1e1.tar.gz CMake-aecacd093b25001dcec0bdc5e612880fae6ee1e1.tar.bz2 |
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.
-rw-r--r-- | Source/cmGlobalNinjaGenerator.cxx | 3 | ||||
-rw-r--r-- | Source/cmMakefile.cxx | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx index fff972e..e2c0e18 100644 --- a/Source/cmGlobalNinjaGenerator.cxx +++ b/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()), diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index d5d99a0..f3a66ba 100644 --- a/Source/cmMakefile.cxx +++ b/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('/'); |