[Cmake-commits] CMake branch, next, updated. v2.8.12.1-7127-g92ec2a5

Brad King brad.king at kitware.com
Wed Jan 15 16:36:13 EST 2014


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  92ec2a5ee67daea977d403062f1e62a14eee561e (commit)
       via  79859689005716ba38048d087ebe12f329e0229f (commit)
      from  e61bc95bb73ad3275bef99eaec7846d068320a48 (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=92ec2a5ee67daea977d403062f1e62a14eee561e
commit 92ec2a5ee67daea977d403062f1e62a14eee561e
Merge: e61bc95 7985968
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Jan 15 16:36:13 2014 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Jan 15 16:36:13 2014 -0500

    Merge topic 'revert-ninja_fix_rerun' into next
    
    79859689 Revert "Ninja: Avoid re-running CMake on next build after regeneration"

diff --cc Source/cmGlobalNinjaGenerator.cxx
index 65b01db,61d0272..ec91b0f
--- a/Source/cmGlobalNinjaGenerator.cxx
+++ b/Source/cmGlobalNinjaGenerator.cxx
@@@ -1104,14 -1084,12 +1104,13 @@@ void cmGlobalNinjaGenerator::WriteTarge
              "Re-running CMake...",
              "Rule for re-running cmake.",
              /*depfile=*/ "",
 +            /*deptype=*/ "",
              /*rspfile=*/ "",
              /*rspcontent*/ "",
-             /*restat=*/ true,
+             /*restat=*/ false,
              /*generator=*/ true);
  
-   cmNinjaDeps implicitDeps, outputs, temp;
-   outputs.push_back(NINJA_BUILD_FILE);
+   cmNinjaDeps implicitDeps;
    for (std::vector<cmLocalGenerator *>::const_iterator i =
         this->LocalGenerators.begin(); i != this->LocalGenerators.end(); ++i) {
      const std::vector<std::string>& lf = (*i)->GetMakefile()->GetListFiles();

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=79859689005716ba38048d087ebe12f329e0229f
commit 79859689005716ba38048d087ebe12f329e0229f
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Wed Jan 15 16:33:22 2014 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Wed Jan 15 16:33:22 2014 -0500

    Revert "Ninja: Avoid re-running CMake on next build after regeneration"
    
    Revert commit 6fac24d7 (Ninja: Avoid re-running CMake on next build
    after regeneration, 2014-01-09).  The files reported by the method
    cmMakefile::GetOutputFiles() must cause CMake to re-run only if they are
    missing and without considering a timestamp.  Therefore they cannot be
    listed as outputs of the re-run rule or Ninja will re-run CMake every
    time because the timestamp of configure_file outputs does not change.
    
    Another solution will have to be found to the original problem.

diff --git a/Source/cmGlobalNinjaGenerator.cxx b/Source/cmGlobalNinjaGenerator.cxx
index 3e4e506..61d0272 100644
--- a/Source/cmGlobalNinjaGenerator.cxx
+++ b/Source/cmGlobalNinjaGenerator.cxx
@@ -1086,46 +1086,27 @@ void cmGlobalNinjaGenerator::WriteTargetRebuildManifest(std::ostream& os)
             /*depfile=*/ "",
             /*rspfile=*/ "",
             /*rspcontent*/ "",
-            /*restat=*/ true,
+            /*restat=*/ false,
             /*generator=*/ true);
 
-  cmNinjaDeps implicitDeps, outputs, temp;
-  outputs.push_back(NINJA_BUILD_FILE);
+  cmNinjaDeps implicitDeps;
   for (std::vector<cmLocalGenerator *>::const_iterator i =
        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();
-    temp.insert(temp.end(), of.begin(), of.end());
+    implicitDeps.insert(implicitDeps.end(), of.begin(), of.end());
   }
-
-  //Add the CMakeCache.txt file to the implicit depends so that we catch
-  //when somebody manually modifies the file.
-  implicitDeps.push_back("CMakeCache.txt");
-
-  //make sure nothing is in implicit depends twice
   std::sort(implicitDeps.begin(), implicitDeps.end());
   implicitDeps.erase(std::unique(implicitDeps.begin(), implicitDeps.end()),
                      implicitDeps.end());
-
-
-  //make sure nothing is in outputs depends twice
-  std::sort(temp.begin(), temp.end());
-  temp.erase(std::unique(temp.begin(), temp.end()),
-                     temp.end());
-
-  //make sure that anything that is in implicitDeps is also NOT in outputs
-  std::set_difference(temp.begin(),
-                      temp.end(),
-                      implicitDeps.begin(),
-                      implicitDeps.end(),
-                      std::back_inserter(outputs));
+  implicitDeps.push_back("CMakeCache.txt");
 
   this->WriteBuild(os,
                    "Re-run CMake if any of its inputs changed.",
                    "RERUN_CMAKE",
-                   outputs,
+                   /*outputs=*/ cmNinjaDeps(1, NINJA_BUILD_FILE),
                    /*explicitDeps=*/ cmNinjaDeps(),
                    implicitDeps,
                    /*orderOnlyDeps=*/ cmNinjaDeps(),

-----------------------------------------------------------------------

Summary of changes:
 Source/cmGlobalNinjaGenerator.cxx |   29 +++++------------------------
 1 file changed, 5 insertions(+), 24 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list