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