diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index f3a66bab8..1f5c9110b 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -3371,7 +3371,11 @@ int cmMakefile::ConfigureFile(const char* infile, const char* outfile, std::string sinfile = infile; this->AddCMakeDependFile(sinfile); cmSystemTools::ConvertToUnixSlashes(soutfile); - this->AddCMakeOutputFile(soutfile); + // Re-generate if non-temporary outputs are missing. + if(soutfile.find("CMakeTmp") == soutfile.npos) + { + this->AddCMakeOutputFile(soutfile); + } mode_t perm = 0; cmSystemTools::GetPermissions(sinfile.c_str(), perm); std::string::size_type pos = soutfile.rfind('/');