[Cmake-commits] CMake branch, next, updated. v3.7.0-rc1-660-g075a060
Brad King
brad.king at kitware.com
Wed Oct 19 09:51:52 EDT 2016
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 075a06080ff86467dcc70bb2d4f467b8bc87eddf (commit)
via 2e2ba95cb9d7806219c76773e81f91056e83077f (commit)
via 5618f7123d9ed3667d5cb53a05779d10ae6438ff (commit)
from eb5c141897404324d13c7cf568f9c92e80cb4609 (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 -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=075a06080ff86467dcc70bb2d4f467b8bc87eddf
commit 075a06080ff86467dcc70bb2d4f467b8bc87eddf
Merge: eb5c141 2e2ba95
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Oct 19 09:51:51 2016 -0400
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Wed Oct 19 09:51:51 2016 -0400
Merge topic 'vs-csharp-prep' into next
2e2ba95c VS: Add internal API for detecting "managed" projects
5618f712 VS: Add CSharp project uuid and file extension
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2e2ba95cb9d7806219c76773e81f91056e83077f
commit 2e2ba95cb9d7806219c76773e81f91056e83077f
Author: Michael Stürmer <michael.stuermer at schaeffler.com>
AuthorDate: Fri Sep 23 12:15:40 2016 +0200
Commit: Brad King <brad.king at kitware.com>
CommitDate: Wed Oct 19 09:43:01 2016 -0400
VS: Add internal API for detecting "managed" projects
This is in preparation for adding CSharp language support to the VS
generator.
diff --git a/Source/cmVisualStudioGeneratorOptions.cxx b/Source/cmVisualStudioGeneratorOptions.cxx
index 9badda6..4be183d 100644
--- a/Source/cmVisualStudioGeneratorOptions.cxx
+++ b/Source/cmVisualStudioGeneratorOptions.cxx
@@ -137,6 +137,11 @@ bool cmVisualStudioGeneratorOptions::IsWinRt() const
return this->FlagMap.find("CompileAsWinRT") != this->FlagMap.end();
}
+bool cmVisualStudioGeneratorOptions::IsManaged() const
+{
+ return this->FlagMap.find("CompileAsManaged") != this->FlagMap.end();
+}
+
bool cmVisualStudioGeneratorOptions::UsingUnicode() const
{
// Look for the a _UNICODE definition.
diff --git a/Source/cmVisualStudioGeneratorOptions.h b/Source/cmVisualStudioGeneratorOptions.h
index 4eeae3d..0a0b96d 100644
--- a/Source/cmVisualStudioGeneratorOptions.h
+++ b/Source/cmVisualStudioGeneratorOptions.h
@@ -49,6 +49,7 @@ public:
bool IsDebug() const;
bool IsWinRt() const;
+ bool IsManaged() const;
// Write options to output.
void OutputPreprocessorDefinitions(std::ostream& fout, const char* prefix,
const char* suffix,
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5618f7123d9ed3667d5cb53a05779d10ae6438ff
commit 5618f7123d9ed3667d5cb53a05779d10ae6438ff
Author: Michael Stürmer <michael.stuermer at schaeffler.com>
AuthorDate: Fri Sep 23 12:15:40 2016 +0200
Commit: Brad King <brad.king at kitware.com>
CommitDate: Wed Oct 19 09:39:30 2016 -0400
VS: Add CSharp project uuid and file extension
This is in preparation for adding CSharp language support to the VS
generator.
diff --git a/Source/cmGlobalVisualStudio71Generator.cxx b/Source/cmGlobalVisualStudio71Generator.cxx
index ffd87e2..1fa2741 100644
--- a/Source/cmGlobalVisualStudio71Generator.cxx
+++ b/Source/cmGlobalVisualStudio71Generator.cxx
@@ -159,6 +159,10 @@ void cmGlobalVisualStudio71Generator::WriteProject(std::ostream& fout,
ext = ".vfproj";
project = "Project(\"{6989167D-11E4-40FE-8C1A-2192A86A7E90}\") = \"";
}
+ if (this->TargetIsCSharpOnly(t)) {
+ ext = ".csproj";
+ project = "Project(\"{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}\") = \"";
+ }
const char* targetExt = t->GetProperty("GENERATOR_FILE_NAME_EXT");
if (targetExt) {
ext = targetExt;
diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx
index 6296dd2..151d1d3 100644
--- a/Source/cmGlobalVisualStudioGenerator.cxx
+++ b/Source/cmGlobalVisualStudioGenerator.cxx
@@ -734,6 +734,30 @@ bool cmGlobalVisualStudioGenerator::TargetIsFortranOnly(
return false;
}
+bool cmGlobalVisualStudioGenerator::TargetIsCSharpOnly(
+ cmGeneratorTarget const* gt)
+{
+ if (gt->GetType() > cmState::OBJECT_LIBRARY) {
+ return false;
+ }
+ // check to see if this is a C# build
+ std::set<std::string> languages;
+ {
+ // Issue diagnostic if the source files depend on the config.
+ std::vector<cmSourceFile*> sources;
+ if (!gt->GetConfigCommonSourceFiles(sources)) {
+ return false;
+ }
+ }
+ gt->GetLanguages(languages, "");
+ if (languages.size() == 1) {
+ if (*languages.begin() == "CSharp") {
+ return true;
+ }
+ }
+ return false;
+}
+
bool cmGlobalVisualStudioGenerator::TargetCompare::operator()(
cmGeneratorTarget const* l, cmGeneratorTarget const* r) const
{
diff --git a/Source/cmGlobalVisualStudioGenerator.h b/Source/cmGlobalVisualStudioGenerator.h
index a774d96..c8fc984 100644
--- a/Source/cmGlobalVisualStudioGenerator.h
+++ b/Source/cmGlobalVisualStudioGenerator.h
@@ -69,6 +69,9 @@ public:
// return true if target is fortran only
bool TargetIsFortranOnly(const cmGeneratorTarget* gt);
+ // return true if target is C# only
+ static bool TargetIsCSharpOnly(cmGeneratorTarget const* gt);
+
/** Get the top-level registry key for this VS version. */
std::string GetRegistryBase();
-----------------------------------------------------------------------
Summary of changes:
Source/cmGlobalVisualStudio71Generator.cxx | 4 ++++
Source/cmGlobalVisualStudioGenerator.cxx | 24 ++++++++++++++++++++++++
Source/cmGlobalVisualStudioGenerator.h | 3 +++
Source/cmVisualStudioGeneratorOptions.cxx | 5 +++++
Source/cmVisualStudioGeneratorOptions.h | 1 +
5 files changed, 37 insertions(+)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list