[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