diff options
author | Brad King <brad.king@kitware.com> | 2013-06-03 13:57:32 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2013-06-03 13:57:32 (GMT) |
commit | 90441b289da6e7bd9f50a970d7adefc7b6be749f (patch) | |
tree | 9bc76c283b8a3c5dc09257ee5952b615181a75a1 | |
parent | db5f5243b5079ebfeb06dea9c82e1cd1537a325b (diff) | |
parent | cca955a27cf3fc8344ee3dce213472b61e1edef7 (diff) | |
download | CMake-90441b289da6e7bd9f50a970d7adefc7b6be749f.zip CMake-90441b289da6e7bd9f50a970d7adefc7b6be749f.tar.gz CMake-90441b289da6e7bd9f50a970d7adefc7b6be749f.tar.bz2 |
Merge topic 'vs-RootNamespace'
cca955a VS: Add VS_GLOBAL_ROOTNAMESPACE target property
-rw-r--r-- | Source/cmTarget.cxx | 5 | ||||
-rw-r--r-- | Source/cmVisualStudio10TargetGenerator.cxx | 9 |
2 files changed, 14 insertions, 0 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 71edf88..5628971 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -1337,6 +1337,11 @@ void cmTarget::DefineProperties(cmake *cm) "this value with \"ManagedCProj\", for example, in a Visual " "Studio managed C++ unit test project."); cm->DefineProperty + ("VS_GLOBAL_ROOTNAMESPACE", cmProperty::TARGET, + "Visual Studio project root namespace.", + "Sets the \"RootNamespace\" attribute for a generated Visual Studio " + "project. The attribute will be generated only if this is set."); + cm->DefineProperty ("VS_DOTNET_REFERENCES", cmProperty::TARGET, "Visual Studio managed project .NET references", "Adds one or more semicolon-delimited .NET references to a " diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx index 88c4deb..d0ab976 100644 --- a/Source/cmVisualStudio10TargetGenerator.cxx +++ b/Source/cmVisualStudio10TargetGenerator.cxx @@ -262,6 +262,15 @@ void cmVisualStudio10TargetGenerator::Generate() "</Keyword>\n"; } + const char* vsGlobalRootNamespace = + this->Target->GetProperty("VS_GLOBAL_ROOTNAMESPACE"); + if(vsGlobalRootNamespace) + { + this->WriteString("<RootNamespace>", 2); + (*this->BuildFileStream) << cmVS10EscapeXML(vsGlobalRootNamespace) << + "</RootNamespace>\n"; + } + this->WriteString("<Platform>", 2); (*this->BuildFileStream) << this->Platform << "</Platform>\n"; const char* projLabel = this->Target->GetProperty("PROJECT_LABEL"); |