[Cmake-commits] CMake branch, next, updated. v3.0.1-4944-gb3f32de
Brad King
brad.king at kitware.com
Mon Aug 18 11:50:05 EDT 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 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.king at kitware.com>
AuthorDate: Mon Aug 18 11:50:04 2014 -0400
Commit: CMake Topic Stage <kwrobot at 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.king at kitware.com>
AuthorDate: Wed Aug 13 14:09:24 2014 -0400
Commit: Brad King <brad.king at 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.king at kitware.com>
AuthorDate: Wed Aug 13 13:24:48 2014 -0400
Commit: Brad King <brad.king at 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.king at kitware.com>
AuthorDate: Wed Aug 13 14:07:07 2014 -0400
Commit: Brad King <brad.king at 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.king at kitware.com>
AuthorDate: Wed Aug 13 13:39:35 2014 -0400
Commit: Brad King <brad.king at 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
More information about the Cmake-commits
mailing list