[Cmake-commits] CMake branch, next, updated. v2.8.11.1-2643-g6a0bf5e

Robert Maynard robert.maynard at kitware.com
Mon Jun 17 13:29:21 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  6a0bf5e755dfa6e7572c0a84dd23056fa51e7220 (commit)
       via  bd1eb6bcb9cce06c06cb4e7bc0f0fe59b821a29d (commit)
       via  4f09d966c230a5b2a834c6a3bc52da0d65f64cc2 (commit)
       via  21bf95da632284e268afe53f37c21d470ba891df (commit)
      from  6b290348ef13fd82f8c2a6c448819eefd1dea957 (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=6a0bf5e755dfa6e7572c0a84dd23056fa51e7220
commit 6a0bf5e755dfa6e7572c0a84dd23056fa51e7220
Merge: 6b29034 bd1eb6b
Author:     Robert Maynard <robert.maynard at kitware.com>
AuthorDate: Mon Jun 17 13:29:19 2013 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Jun 17 13:29:19 2013 -0400

    Merge topic '13582_configured_file_regeneration' into next
    
    bd1eb6b Merge topic 'add-try_compile-options' into 13582_configured_file_regeneration
    4f09d96 Update the ninja generator to track configured files.
    21bf95d When configured files are modified we should regenerate them.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=bd1eb6bcb9cce06c06cb4e7bc0f0fe59b821a29d
commit bd1eb6bcb9cce06c06cb4e7bc0f0fe59b821a29d
Merge: 4f09d96 482f112
Author:     Robert Maynard <robert.maynard at kitware.com>
AuthorDate: Mon Jun 17 13:24:44 2013 -0400
Commit:     Robert Maynard <robert.maynard at kitware.com>
CommitDate: Mon Jun 17 13:28:35 2013 -0400

    Merge topic 'add-try_compile-options' into 13582_configured_file_regeneration
    
    Conflicts:
    	Source/cmCoreTryCompile.cxx

diff --cc Source/cmCoreTryCompile.cxx
index da36b8f,b43a7a7..860417f
--- a/Source/cmCoreTryCompile.cxx
+++ b/Source/cmCoreTryCompile.cxx
@@@ -357,7 -387,19 +387,19 @@@ int cmCoreTryCompile::TryCompileCode(st
      fprintf(fout, "SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY \"%s\")\n",
              this->BinaryDirectory.c_str());
      /* Create the actual executable.  */
-     fprintf(fout, "ADD_EXECUTABLE(%s \"%s\")\n", targetName, source.c_str());
+     fprintf(fout, "ADD_EXECUTABLE(%s", targetName);
+     for(std::vector<std::string>::iterator si = sources.begin();
+         si != sources.end(); ++si)
+       {
+       fprintf(fout, " \"%s\"", si->c_str());
+ 
+       // Add dependencies on any non-temporary sources.
+       if(si->find("CMakeTmp") == si->npos)
+         {
 -        this->Makefile->AddCMakeDependFile(si->c_str());
++        this->Makefile->AddCMakeDependFile(*si);
+         }
+       }
+     fprintf(fout, ")\n");
      if (useOldLinkLibs)
        {
        fprintf(fout,

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4f09d966c230a5b2a834c6a3bc52da0d65f64cc2
commit 4f09d966c230a5b2a834c6a3bc52da0d65f64cc2
Author:     Robert Maynard <robert.maynard at kitware.com>
AuthorDate: Mon Jun 17 11:25:39 2013 -0400
Commit:     Robert Maynard <robert.maynard at kitware.com>
CommitDate: Mon Jun 17 11:25:39 2013 -0400

    Update the ninja generator to track configured files.
    
    Unlike the Makefile generator the ninja generator did not tack any of
    its output files, so if they changed the generator would not rerun.

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()),

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=21bf95da632284e268afe53f37c21d470ba891df
commit 21bf95da632284e268afe53f37c21d470ba891df
Author:     Robert Maynard <robert.maynard at kitware.com>
AuthorDate: Fri Jun 14 16:59:39 2013 -0400
Commit:     Robert Maynard <robert.maynard at kitware.com>
CommitDate: Mon Jun 17 11:12:16 2013 -0400

    When configured files are modified we should regenerate them.
    
    Currently when a configured file is removed from the build directory,
    running the build command will not regenerate the file. Now detect
    this and will rerun cmake properly when a user issues the build
    command.

diff --git a/Source/cmCoreTryCompile.cxx b/Source/cmCoreTryCompile.cxx
index bf28428..da36b8f 100644
--- a/Source/cmCoreTryCompile.cxx
+++ b/Source/cmCoreTryCompile.cxx
@@ -374,7 +374,7 @@ int cmCoreTryCompile::TryCompileCode(std::vector<std::string> const& argv)
     // if the source is not in CMakeTmp
     if(source.find("CMakeTmp") == source.npos)
       {
-      this->Makefile->AddCMakeDependFile(source.c_str());
+      this->Makefile->AddCMakeDependFile(source);
       }
 
     }
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index 7d58d68..a6d61e5 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(infile);
   cmSystemTools::ConvertToUnixSlashes(soutfile);
+  this->AddCMakeOutputFile(soutfile);
   mode_t perm = 0;
   cmSystemTools::GetPermissions(sinfile.c_str(), perm);
   std::string::size_type pos = soutfile.rfind('/');
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 0a87752..4297155 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -648,7 +648,7 @@ public:
   const std::vector<std::string>& GetListFiles() const
     { return this->ListFiles; }
   ///! When the file changes cmake will be re-run from the build system.
-  void AddCMakeDependFile(const char* file)
+  void AddCMakeDependFile(const std::string& file)
     { this->ListFiles.push_back(file);}
 
     /**
@@ -666,7 +666,7 @@ public:
    */
   const std::vector<std::string>& GetOutputFiles() const
     { return this->OutputFiles; }
-  void AddCMakeOutputFile(const char* file)
+  void AddCMakeOutputFile(const std::string& file)
     { this->OutputFiles.push_back(file);}
 
   /**
diff --git a/Source/cmOSXBundleGenerator.cxx b/Source/cmOSXBundleGenerator.cxx
index d3cdf85..a475c7c 100644
--- a/Source/cmOSXBundleGenerator.cxx
+++ b/Source/cmOSXBundleGenerator.cxx
@@ -49,7 +49,7 @@ void cmOSXBundleGenerator::CreateAppBundle(const std::string& targetName,
   out += "/";
   out += this->Target->GetAppBundleDirectory(this->ConfigName, false);
   cmSystemTools::MakeDirectory(out.c_str());
-  this->Makefile->AddCMakeOutputFile(out.c_str());
+  this->Makefile->AddCMakeOutputFile(out);
 
   std::string newoutpath = out;
 
@@ -62,7 +62,7 @@ void cmOSXBundleGenerator::CreateAppBundle(const std::string& targetName,
   this->LocalGenerator->GenerateAppleInfoPList(this->Target,
                                                targetName.c_str(),
                                                plist.c_str());
-  this->Makefile->AddCMakeOutputFile(plist.c_str());
+  this->Makefile->AddCMakeOutputFile(plist);
   outpath = newoutpath;
 }
 
@@ -114,7 +114,7 @@ void cmOSXBundleGenerator::CreateFramework(
   newName += "/Current";
   cmSystemTools::RemoveFile(newName.c_str());
   cmSystemTools::CreateSymlink(oldName.c_str(), newName.c_str());
-  this->Makefile->AddCMakeOutputFile(newName.c_str());
+  this->Makefile->AddCMakeOutputFile(newName);
 
   // foo -> Versions/Current/foo
   oldName = "Versions/Current/";
@@ -123,7 +123,7 @@ void cmOSXBundleGenerator::CreateFramework(
   newName += name;
   cmSystemTools::RemoveFile(newName.c_str());
   cmSystemTools::CreateSymlink(oldName.c_str(), newName.c_str());
-  this->Makefile->AddCMakeOutputFile(newName.c_str());
+  this->Makefile->AddCMakeOutputFile(newName);
 
   // Resources -> Versions/Current/Resources
   if(this->MacContentFolders->find("Resources") !=
@@ -134,7 +134,7 @@ void cmOSXBundleGenerator::CreateFramework(
     newName += "Resources";
     cmSystemTools::RemoveFile(newName.c_str());
     cmSystemTools::CreateSymlink(oldName.c_str(), newName.c_str());
-    this->Makefile->AddCMakeOutputFile(newName.c_str());
+    this->Makefile->AddCMakeOutputFile(newName);
     }
 
   // Headers -> Versions/Current/Headers
@@ -146,7 +146,7 @@ void cmOSXBundleGenerator::CreateFramework(
     newName += "Headers";
     cmSystemTools::RemoveFile(newName.c_str());
     cmSystemTools::CreateSymlink(oldName.c_str(), newName.c_str());
-    this->Makefile->AddCMakeOutputFile(newName.c_str());
+    this->Makefile->AddCMakeOutputFile(newName);
     }
 
   // PrivateHeaders -> Versions/Current/PrivateHeaders
@@ -158,7 +158,7 @@ void cmOSXBundleGenerator::CreateFramework(
     newName += "PrivateHeaders";
     cmSystemTools::RemoveFile(newName.c_str());
     cmSystemTools::CreateSymlink(oldName.c_str(), newName.c_str());
-    this->Makefile->AddCMakeOutputFile(newName.c_str());
+    this->Makefile->AddCMakeOutputFile(newName);
     }
 }
 
@@ -174,7 +174,7 @@ void cmOSXBundleGenerator::CreateCFBundle(const std::string& targetName,
   out += "/";
   out += this->Target->GetCFBundleDirectory(this->ConfigName, false);
   cmSystemTools::MakeDirectory(out.c_str());
-  this->Makefile->AddCMakeOutputFile(out.c_str());
+  this->Makefile->AddCMakeOutputFile(out);
 
   // Configure the Info.plist file.  Note that it needs the executable name
   // to be set.
@@ -184,7 +184,7 @@ void cmOSXBundleGenerator::CreateCFBundle(const std::string& targetName,
   this->LocalGenerator->GenerateAppleInfoPList(this->Target,
                                                targetName.c_str(),
                                                plist.c_str());
-  this->Makefile->AddCMakeOutputFile(plist.c_str());
+  this->Makefile->AddCMakeOutputFile(plist);
 }
 
 //----------------------------------------------------------------------------

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

Summary of changes:
 Source/cmCoreTryCompile.cxx       |    2 +-
 Source/cmGlobalNinjaGenerator.cxx |    3 +++
 Source/cmMakefile.cxx             |    1 +
 Source/cmMakefile.h               |    4 ++--
 Source/cmOSXBundleGenerator.cxx   |   18 +++++++++---------
 5 files changed, 16 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list