[Cmake-commits] CMake branch, next, updated. v2.8.7-2818-g17e0e47

David Cole david.cole at kitware.com
Wed Feb 22 16:33:58 EST 2012


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  17e0e47fc2726ae19b44d13d3e74e9617e8906f7 (commit)
       via  9d548711901998c0b4d2b9003f3a8977e5aa4f2f (commit)
       via  e5eda9edff3f859e6180631e14d44f7aa7d50d69 (commit)
       via  ae41323bda6815f9198b3f14a0ab3bc4aac84412 (commit)
      from  52d9d34ad13bf52ec3ce790823c1f7460a600e62 (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=17e0e47fc2726ae19b44d13d3e74e9617e8906f7
commit 17e0e47fc2726ae19b44d13d3e74e9617e8906f7
Merge: 52d9d34 9d54871
Author:     David Cole <david.cole at kitware.com>
AuthorDate: Wed Feb 22 16:33:55 2012 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Feb 22 16:33:55 2012 -0500

    Merge topic 'ninja-generator' into next
    
    9d54871 CMake: Adapt Ninja generator for per-target include dirs
    e5eda9e Merge branch 'target-include-directories' into ninja-generator
    ae41323 windows msvc: create for each target a .pdb file


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9d548711901998c0b4d2b9003f3a8977e5aa4f2f
commit 9d548711901998c0b4d2b9003f3a8977e5aa4f2f
Author:     David Cole <david.cole at kitware.com>
AuthorDate: Wed Feb 22 16:31:00 2012 -0500
Commit:     David Cole <david.cole at kitware.com>
CommitDate: Wed Feb 22 16:31:00 2012 -0500

    CMake: Adapt Ninja generator for per-target include dirs
    
    The confluence of the ninja-generator and target-include-directories
    branches conspired to produce a nice little compiler error when
    they were both merged into 'next'...
    
    Yay for Continuous dashboards!

diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index 7b1c7d9..c776fcf 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -145,8 +145,11 @@ cmNinjaTargetGenerator::ComputeFlagsForObject(cmSourceFile *source,
   // TODO: Handle response file.
   // Add include directory flags.
   {
+  std::vector<std::string> includes;
+  this->LocalGenerator->GetIncludeDirectories(includes, this->Target,
+                                              language.c_str());
   std::string includeFlags =
-    this->LocalGenerator->GetIncludeFlags(language.c_str(), false);
+    this->LocalGenerator->GetIncludeFlags(includes, language.c_str(), false);
   this->LocalGenerator->AppendFlags(flags, includeFlags.c_str());
   }
 

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e5eda9edff3f859e6180631e14d44f7aa7d50d69
commit e5eda9edff3f859e6180631e14d44f7aa7d50d69
Merge: ae41323 8233636
Author:     David Cole <david.cole at kitware.com>
AuthorDate: Wed Feb 22 16:21:48 2012 -0500
Commit:     David Cole <david.cole at kitware.com>
CommitDate: Wed Feb 22 16:21:48 2012 -0500

    Merge branch 'target-include-directories' into ninja-generator


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ae41323bda6815f9198b3f14a0ab3bc4aac84412
commit ae41323bda6815f9198b3f14a0ab3bc4aac84412
Author:     Peter Kuemmel <syntheticpp at gmx.net>
AuthorDate: Tue Feb 21 21:18:05 2012 +0100
Commit:     Peter Kuemmel <syntheticpp at gmx.net>
CommitDate: Tue Feb 21 21:18:05 2012 +0100

    windows msvc: create for each target a .pdb file

diff --git a/Source/cmNinjaNormalTargetGenerator.cxx b/Source/cmNinjaNormalTargetGenerator.cxx
index 9294a01..6e08bca 100644
--- a/Source/cmNinjaNormalTargetGenerator.cxx
+++ b/Source/cmNinjaNormalTargetGenerator.cxx
@@ -136,6 +136,7 @@ cmNinjaNormalTargetGenerator
     vars.Target = "$out";
     vars.TargetSOName = "$SONAME";
     vars.TargetInstallNameDir = "$INSTALLNAME_DIR";
+    vars.TargetPDB = "$TARGET_PDB";
 
     // Setup the target version.
     std::string targetVersionMajor;
@@ -361,6 +362,8 @@ void cmNinjaNormalTargetGenerator::WriteLinkStatement()
       targetOutputImplib.c_str(), cmLocalGenerator::SHELL);
   }
 
+  vars["TARGET_PDB"] = this->GetTargetPDB();
+
   std::vector<cmCustomCommand> *cmdLists[3] = {
     &this->GetTarget()->GetPreBuildCommands(),
     &this->GetTarget()->GetPreLinkCommands(),
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index 8a563b6..7b1c7d9 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -270,6 +270,23 @@ std::string cmNinjaTargetGenerator::GetTargetName() const
   return this->Target->GetName();
 }
 
+std::string cmNinjaTargetGenerator::GetTargetPDB() const
+{
+  std::string targetFullPathPDB;
+  if(this->Target->GetType() == cmTarget::EXECUTABLE ||
+     this->Target->GetType() == cmTarget::STATIC_LIBRARY ||
+     this->Target->GetType() == cmTarget::SHARED_LIBRARY ||
+     this->Target->GetType() == cmTarget::MODULE_LIBRARY)
+    {
+    targetFullPathPDB = this->Target->GetDirectory(this->GetConfigName());
+    targetFullPathPDB += "/";
+    targetFullPathPDB += this->Target->GetPDBName(this->GetConfigName());
+    }
+
+  return ConvertToNinjaPath(targetFullPathPDB.c_str());
+}
+
+
 void
 cmNinjaTargetGenerator
 ::WriteLanguageRules(const std::string& language)
@@ -293,6 +310,7 @@ cmNinjaTargetGenerator
   vars.Object = "$out";
   std::string flags = "$FLAGS";
   vars.Defines = "$DEFINES";
+  vars.TargetPDB = "$TARGET_PDB";
 
   std::string depfile;
   std::string depfileFlagsName = "CMAKE_DEPFILE_FLAGS_" + language;
@@ -426,6 +444,7 @@ cmNinjaTargetGenerator
   cmNinjaVars vars;
   vars["FLAGS"] = this->ComputeFlagsForObject(source, language);
   vars["DEFINES"] = this->ComputeDefines(source, language);
+  vars["TARGET_PDB"] = this->GetTargetPDB();
 
   cmGlobalNinjaGenerator::WriteBuild(this->GetBuildFileStream(),
                                      comment,
diff --git a/Source/cmNinjaTargetGenerator.h b/Source/cmNinjaTargetGenerator.h
index 2986844..f9270a2 100644
--- a/Source/cmNinjaTargetGenerator.h
+++ b/Source/cmNinjaTargetGenerator.h
@@ -38,6 +38,7 @@ public:
 
   virtual void Generate() = 0;
 
+  std::string GetTargetPDB() const;
   std::string GetTargetName() const;
 
 protected:

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

Summary of changes:
 Source/cmNinjaNormalTargetGenerator.cxx |    3 +++
 Source/cmNinjaTargetGenerator.cxx       |   24 +++++++++++++++++++++++-
 Source/cmNinjaTargetGenerator.h         |    1 +
 3 files changed, 27 insertions(+), 1 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list