[Cmake-commits] CMake branch, next, updated. v3.4.1-1902-g5c88b04

Brad King brad.king at kitware.com
Mon Jan 11 13:06:11 EST 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  5c88b0413cba78652e3f238302de04b10221c4a1 (commit)
       via  af39f11521af7fc2ec037103df1ad5a616dd7f19 (commit)
      from  e859349334c8e66148766e9f0acc82667a4944fd (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=5c88b0413cba78652e3f238302de04b10221c4a1
commit 5c88b0413cba78652e3f238302de04b10221c4a1
Merge: e859349 af39f11
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Jan 11 13:06:10 2016 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Jan 11 13:06:10 2016 -0500

    Merge topic 'vs-global-properties' into next
    
    af39f115 VS: Implement VS_GLOBAL_* target properties in VS 2010+ (#13666)


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=af39f11521af7fc2ec037103df1ad5a616dd7f19
commit af39f11521af7fc2ec037103df1ad5a616dd7f19
Author:     Mike Fitzgerald <michaeljohnfitzgerald at gmail.com>
AuthorDate: Fri Jan 8 17:33:28 2016 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Mon Jan 11 13:04:34 2016 -0500

    VS: Implement VS_GLOBAL_* target properties in VS 2010+ (#13666)
    
    These have been documented but previously only implemented for VS 2008
    and below.

diff --git a/Help/release/dev/vs-global-properties.rst b/Help/release/dev/vs-global-properties.rst
new file mode 100644
index 0000000..cae49b7
--- /dev/null
+++ b/Help/release/dev/vs-global-properties.rst
@@ -0,0 +1,5 @@
+vs-global-properties
+--------------------
+
+* The :prop_tgt:`VS_GLOBAL_<variable>` target property is now implemented
+  for VS 2010 and above.  Previously it worked only in VS 2008 and below.
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index 669c785..c9705ac 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -448,6 +448,32 @@ void cmVisualStudio10TargetGenerator::Generate()
     (*this->BuildFileStream) << cmVS10EscapeXML(targetFrameworkVersion)
                              << "</TargetFrameworkVersion>\n";
     }
+
+  std::vector<std::string> keys = this->GeneratorTarget->GetPropertyKeys();
+  for(std::vector<std::string>::const_iterator keyIt = keys.begin();
+      keyIt != keys.end(); ++keyIt)
+    {
+    static const char* prefix = "VS_GLOBAL_";
+    if(keyIt->find(prefix) != 0)
+      continue;
+    std::string globalKey = keyIt->substr(strlen(prefix));
+    // Skip invalid or separately-handled properties.
+    if(globalKey == "" ||
+       globalKey == "PROJECT_TYPES" ||
+       globalKey == "ROOTNAMESPACE" ||
+       globalKey == "KEYWORD")
+      {
+      continue;
+      }
+    const char* value = this->GeneratorTarget->GetProperty(keyIt->c_str());
+    if (!value)
+      continue;
+    this->WriteString("<", 2);
+    (*this->BuildFileStream) << globalKey << ">"
+                             << cmVS10EscapeXML(value)
+                             << "</" << globalKey << ">\n";
+    }
+
   this->WriteString("</PropertyGroup>\n", 1);
   this->WriteString("<Import Project="
                     "\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n",

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

Summary of changes:
 Help/release/dev/vs-global-properties.rst  |    5 +++++
 Source/cmVisualStudio10TargetGenerator.cxx |   26 ++++++++++++++++++++++++++
 2 files changed, 31 insertions(+)
 create mode 100644 Help/release/dev/vs-global-properties.rst


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list