[Cmake-commits] CMake branch, next, updated. v2.8.11.2-3502-g9af30f9
Brad King
brad.king at kitware.com
Tue Jul 30 14:46:52 EDT 2013
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 9af30f931888bfc140dec76149ced5eb36d6b0da (commit)
via 8fbf39a471593e3607e67a8915a1ec0e150d3298 (commit)
from 5ee54c83928025a6cf9f09d33d11c447cab04b54 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9af30f931888bfc140dec76149ced5eb36d6b0da
commit 9af30f931888bfc140dec76149ced5eb36d6b0da
Merge: 5ee54c8 8fbf39a
Author: Brad King <brad.king at kitware.com>
AuthorDate: Tue Jul 30 14:46:50 2013 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Jul 30 14:46:50 2013 -0400
Merge topic '13582_configured_file_regeneration' into next
8fbf39a cmMakefile: Do not track configured files known to be temporary
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8fbf39a471593e3607e67a8915a1ec0e150d3298
commit 8fbf39a471593e3607e67a8915a1ec0e150d3298
Author: Brad King <brad.king at kitware.com>
AuthorDate: Tue Jul 30 14:39:31 2013 -0400
Commit: Brad King <brad.king at kitware.com>
CommitDate: Tue Jul 30 14:43:59 2013 -0400
cmMakefile: Do not track configured files known to be temporary
Since commit ad502502 (cmMakefile: Track configured files so we can
regenerate them, 2013-06-18) cmMakefile::ConfigureFile records the
configured file as an output file generated by CMake. The intention is
that for make and ninja we can re-run CMake when one of the files it
generates goes missing. However, files configured temporarily in
CMakeTmp directories by Check* modules do not live past the CMake
invocation.
Teach cmMakefile::ConfigureFile to skip tracking files with "CMakeTmp"
in their path, just like cmCoreTryCompile::TryCompileCode does to
avoid adding dependencies on temporary source files. In the future
we will need a more general filter to avoid recording as CMake
outputs any files that do not exist at the end of generation.
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index f3a66ba..1f5c911 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('/');
-----------------------------------------------------------------------
Summary of changes:
Source/cmMakefile.cxx | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list