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  b3f32de61b5ea6ee6301eafcbae25d275a7e690d (commit)
       via  5fcb42ab69b030f8bbc20f800b1e0639c5ee7077 (commit)
       via  8e026aa7f27aaa545b6421e61d7ba3add1c5d10d (commit)
       via  9633d112794e1bb6b08ab6de0c20baca3a8c5847 (commit)
       via  841001028a579bea093482fc3c1beb5d45f2b2d6 (commit)
      from  f61803db0da69a0af3746772fac4308cee665bd2 (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=b3f32de61b5ea6ee6301eafcbae25d275a7e690d
commit b3f32de61b5ea6ee6301eafcbae25d275a7e690d
Merge: f61803d 5fcb42a
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Mon Aug 18 11:50:04 2014 -0400
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Mon Aug 18 11:50:04 2014 -0400

    Merge topic 'vs-refactor-includes' into next
    
    5fcb42ab VS: Refactor include directory generation in .vcxproj files
    8e026aa7 VS: Refactor include directory slash conversion
    9633d112 cmIDEOptions: Add HasFlag method to test if a flag is set
    84100102 cmIDEOptions: Add an AppendFlag overload to append multiple values


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5fcb42ab69b030f8bbc20f800b1e0639c5ee7077
commit 5fcb42ab69b030f8bbc20f800b1e0639c5ee7077
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Aug 13 14:09:24 2014 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Wed Aug 13 14:09:24 2014 -0400

    VS: Refactor include directory generation in .vcxproj files
    
    Use the cmVisualStudioGeneratorOptions flag map to add the
    AdditionalIncludeDirectories element to the project file.
    Move appending of %(AdditionalIncludeDirectories) to the
    locations that populate the flag vectors instead of where
    they are written out.

diff --git a/Source/cmVisualStudio10TargetGenerator.cxx 
b/Source/cmVisualStudio10TargetGenerator.cxx
index 5ad63b5..3c7745d 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -1305,6 +1305,11 @@ bool 
cmVisualStudio10TargetGenerator::OutputSourceSpecificFlags(
         clOptions.AddFlag("CompileAs", compileAs);
         }
       clOptions.Parse(flags.c_str());
+      if(clOptions.HasFlag("AdditionalIncludeDirectories"))
+        {
+        clOptions.AppendFlag("AdditionalIncludeDirectories",
+                             "%(AdditionalIncludeDirectories)");
+        }
       clOptions.AddDefines(configDefines.c_str());
       clOptions.SetConfiguration((*config).c_str());
       clOptions.OutputAdditionalOptions(*this->BuildFileStream, "      ", "");
@@ -1546,7 +1551,9 @@ void cmVisualStudio10TargetGenerator::WriteClOptions(
   Options& clOptions = *(this->ClOptions[configName]);
   this->WriteString("<ClCompile>\n", 2);
   clOptions.OutputAdditionalOptions(*this->BuildFileStream, "      ", "");
-  this->OutputIncludes(includes);
+  clOptions.AppendFlag("AdditionalIncludeDirectories", includes);
+  clOptions.AppendFlag("AdditionalIncludeDirectories",
+                       "%(AdditionalIncludeDirectories)");
   clOptions.OutputFlagMap(*this->BuildFileStream, "      ");
   clOptions.OutputPreprocessorDefinitions(*this->BuildFileStream, "      ",
                                           "\n", "CXX");
@@ -1577,21 +1584,6 @@ void cmVisualStudio10TargetGenerator::WriteClOptions(
   this->WriteString("</ClCompile>\n", 2);
 }
 
-void cmVisualStudio10TargetGenerator::
-OutputIncludes(std::vector<std::string> const & includes)
-{
-  this->WriteString("<AdditionalIncludeDirectories>", 3);
-  for(std::vector<std::string>::const_iterator i =  includes.begin();
-      i != includes.end(); ++i)
-    {
-    *this->BuildFileStream << cmVS10EscapeXML(*i) << ";";
-    }
-  this->WriteString("%(AdditionalIncludeDirectories)"
-                    "</AdditionalIncludeDirectories>\n", 0);
-}
-
-
-
 //----------------------------------------------------------------------------
 bool cmVisualStudio10TargetGenerator::ComputeRcOptions()
 {
@@ -1643,9 +1635,11 @@ WriteRCOptions(std::string const& configName,
   Options& clOptions = *(this->ClOptions[configName]);
   clOptions.OutputPreprocessorDefinitions(*this->BuildFileStream, "      ",
                                           "\n", "RC");
-  this->OutputIncludes(includes);
 
   Options& rcOptions = *(this->RcOptions[configName]);
+  rcOptions.AppendFlag("AdditionalIncludeDirectories", includes);
+  rcOptions.AppendFlag("AdditionalIncludeDirectories",
+                       "%(AdditionalIncludeDirectories)");
   rcOptions.OutputFlagMap(*this->BuildFileStream, "      ");
   rcOptions.OutputAdditionalOptions(*this->BuildFileStream, "      ", "");
 
@@ -1951,7 +1945,14 @@ WriteMidlOptions(std::string const& /*config*/,
   // only).  Perhaps there's something to be done to make this more automatic
   // on the CMake side?
   this->WriteString("<Midl>\n", 2);
-  this->OutputIncludes(includes);
+  this->WriteString("<AdditionalIncludeDirectories>", 3);
+  for(std::vector<std::string>::const_iterator i =  includes.begin();
+      i != includes.end(); ++i)
+    {
+    *this->BuildFileStream << cmVS10EscapeXML(*i) << ";";
+    }
+  this->WriteString("%(AdditionalIncludeDirectories)"
+                    "</AdditionalIncludeDirectories>\n", 0);
   this->WriteString("<OutputDirectory>$(IntDir)</OutputDirectory>\n", 3);
   this->WriteString("<HeaderFileName>%(Filename).h</HeaderFileName>\n", 3);
   this->WriteString(
diff --git a/Source/cmVisualStudio10TargetGenerator.h 
b/Source/cmVisualStudio10TargetGenerator.h
index 2bbdb8c..4e9bcd1 100644
--- a/Source/cmVisualStudio10TargetGenerator.h
+++ b/Source/cmVisualStudio10TargetGenerator.h
@@ -83,7 +83,6 @@ private:
   void WriteLinkOptions(std::string const& config);
   void WriteMidlOptions(std::string const& config,
                         std::vector<std::string> const & includes);
-  void OutputIncludes(std::vector<std::string> const & includes);
   void OutputLinkIncremental(std::string const& configName);
   void WriteCustomRule(cmSourceFile const* source,
                        cmCustomCommand const & command);
diff --git a/Source/cmVisualStudioGeneratorOptions.cxx 
b/Source/cmVisualStudioGeneratorOptions.cxx
index b14fc45..745961f 100644
--- a/Source/cmVisualStudioGeneratorOptions.cxx
+++ b/Source/cmVisualStudioGeneratorOptions.cxx
@@ -324,10 +324,6 @@ cmVisualStudioGeneratorOptions
         fout << sep << cmVisualStudio10GeneratorOptionsEscapeForXML(*i);
         sep = ";";
         }
-      if (m->first == "AdditionalIncludeDirectories")
-        {
-        fout << sep << "%(AdditionalIncludeDirectories)";
-        }
       fout  << "</" << m->first << ">\n";
       }
     }

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8e026aa7f27aaa545b6421e61d7ba3add1c5d10d
commit 8e026aa7f27aaa545b6421e61d7ba3add1c5d10d
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Aug 13 13:24:48 2014 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Wed Aug 13 14:08:42 2014 -0400

    VS: Refactor include directory slash conversion
    
    Convert each include directory to windows slashes once instead of
    repeating it each time they are written out to the project file.

diff --git a/Source/cmVisualStudio10TargetGenerator.cxx 
b/Source/cmVisualStudio10TargetGenerator.cxx
index 1e9e8e8..5ad63b5 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -1584,9 +1584,7 @@ OutputIncludes(std::vector<std::string> const & includes)
   for(std::vector<std::string>::const_iterator i =  includes.begin();
       i != includes.end(); ++i)
     {
-    std::string incDir = *i;
-    this->ConvertToWindowsSlash(incDir);
-    *this->BuildFileStream << cmVS10EscapeXML(incDir) << ";";
+    *this->BuildFileStream << cmVS10EscapeXML(*i) << ";";
     }
   this->WriteString("%(AdditionalIncludeDirectories)"
                     "</AdditionalIncludeDirectories>\n", 0);
@@ -1978,6 +1976,11 @@ void 
cmVisualStudio10TargetGenerator::WriteItemDefinitionGroups()
     this->LocalGenerator->GetIncludeDirectories(includes,
                                                 this->GeneratorTarget,
                                                 "C", i->c_str());
+    for(std::vector<std::string>::iterator ii = includes.begin();
+        ii != includes.end(); ++ii)
+      {
+      this->ConvertToWindowsSlash(*ii);
+      }
     this->WritePlatformConfigTag("ItemDefinitionGroup", i->c_str(), 1);
     *this->BuildFileStream << "\n";
     //    output cl compile flags <ClCompile></ClCompile>

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9633d112794e1bb6b08ab6de0c20baca3a8c5847
commit 9633d112794e1bb6b08ab6de0c20baca3a8c5847
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Aug 13 14:07:07 2014 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Wed Aug 13 14:08:39 2014 -0400

    cmIDEOptions: Add HasFlag method to test if a flag is set

diff --git a/Source/cmIDEOptions.cxx b/Source/cmIDEOptions.cxx
index e9980cf..0eb903d 100644
--- a/Source/cmIDEOptions.cxx
+++ b/Source/cmIDEOptions.cxx
@@ -217,6 +217,12 @@ void cmIDEOptions::RemoveFlag(const char* flag)
 }
 
 //----------------------------------------------------------------------------
+bool cmIDEOptions::HasFlag(std::string const& flag) const
+{
+  return this->FlagMap.find(flag) != this->FlagMap.end();
+}
+
+//----------------------------------------------------------------------------
 const char* cmIDEOptions::GetFlag(const char* flag)
 {
   // This method works only for single-valued flags!
diff --git a/Source/cmIDEOptions.h b/Source/cmIDEOptions.h
index 2bedbad..7386016 100644
--- a/Source/cmIDEOptions.h
+++ b/Source/cmIDEOptions.h
@@ -34,6 +34,7 @@ public:
   void AppendFlag(std::string const& flag,
                   std::vector<std::string> const& value);
   void RemoveFlag(const char* flag);
+  bool HasFlag(std::string const& flag) const;
   const char* GetFlag(const char* flag);
 
 protected:

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=841001028a579bea093482fc3c1beb5d45f2b2d6
commit 841001028a579bea093482fc3c1beb5d45f2b2d6
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Wed Aug 13 13:39:35 2014 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Wed Aug 13 13:42:49 2014 -0400

    cmIDEOptions: Add an AppendFlag overload to append multiple values

diff --git a/Source/cmIDEOptions.cxx b/Source/cmIDEOptions.cxx
index 72bd593..e9980cf 100644
--- a/Source/cmIDEOptions.cxx
+++ b/Source/cmIDEOptions.cxx
@@ -203,6 +203,14 @@ void cmIDEOptions::AppendFlag(std::string const& flag,
 }
 
 //----------------------------------------------------------------------------
+void cmIDEOptions::AppendFlag(std::string const& flag,
+                              std::vector<std::string> const& value)
+{
+  FlagValue& fv = this->FlagMap[flag];
+  std::copy(value.begin(), value.end(), std::back_inserter(fv));
+}
+
+//----------------------------------------------------------------------------
 void cmIDEOptions::RemoveFlag(const char* flag)
 {
   this->FlagMap.erase(flag);
diff --git a/Source/cmIDEOptions.h b/Source/cmIDEOptions.h
index 9b60f80..2bedbad 100644
--- a/Source/cmIDEOptions.h
+++ b/Source/cmIDEOptions.h
@@ -31,6 +31,8 @@ public:
   void AddFlag(const char* flag, const char* value);
   void AddFlag(const char* flag, std::vector<std::string> const& value);
   void AppendFlag(std::string const& flag, std::string const& value);
+  void AppendFlag(std::string const& flag,
+                  std::vector<std::string> const& value);
   void RemoveFlag(const char* flag);
   const char* GetFlag(const char* flag);
 

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

Summary of changes:
 Source/cmIDEOptions.cxx                    |   14 +++++++++
 Source/cmIDEOptions.h                      |    3 ++
 Source/cmVisualStudio10TargetGenerator.cxx |   44 +++++++++++++++-------------
 Source/cmVisualStudio10TargetGenerator.h   |    1 -
 Source/cmVisualStudioGeneratorOptions.cxx  |    4 ---
 5 files changed, 41 insertions(+), 25 deletions(-)


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits

Reply via email to