[Cmake-commits] CMake branch, next, updated. v3.8.0-716-g1d8cc51

Kitware Robot kwrobot at kitware.com
Tue Apr 11 10:15:03 EDT 2017


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
  discards  0cd590fbd0107804940c86e6b193dad512614af4 (commit)
  discards  cb03887fe5f4e510294c2cc6fbccbc1222035fcc (commit)
  discards  77cbbb361d53cc76ebe1d690ad1db35254e2d162 (commit)
  discards  7ae40e560745a2aa857a210bfc28446bf98337fe (commit)
  discards  4a18347de73d66dc1048d1717d79f4c8f08e545c (commit)
       via  1d8cc5160e6bec87d0f2de763acc20d091df7337 (commit)
       via  78b7aaf8f65ba85d8326af8871e5219e087e963b (commit)
       via  85d2434826f464de06f6a1fec6821605b736d1fb (commit)
       via  f4af14add40d851f7c8ef92aad2d549dcbbacf1f (commit)
       via  10772c51b4b0eea35d78a2dd3aa45b92daab7ef2 (commit)
       via  22829a130482511f8310caf74e190baee7ec763b (commit)
       via  d9140305077c13defa04774b4a8f5233a76f8399 (commit)

This update added new revisions after undoing existing revisions.  That is
to say, the old revision is not a strict subset of the new revision.  This
situation occurs when you --force push a change and generate a repository
containing something like this:

 * -- * -- B -- O -- O -- O (0cd590fbd0107804940c86e6b193dad512614af4)
            \
             N -- N -- N (1d8cc5160e6bec87d0f2de763acc20d091df7337)

When this happens we assume that you've already had alert emails for all
of the O revisions, and so we here report only the revisions in the N
branch from the common base, B.

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=1d8cc5160e6bec87d0f2de763acc20d091df7337
commit 1d8cc5160e6bec87d0f2de763acc20d091df7337
Merge: 78b7aaf f4af14a
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Apr 11 14:11:00 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Tue Apr 11 10:11:52 2017 -0400

    Stage topic 'vs-remove-UseObjectLibraries'
    
    Topic-id: 23581
    Topic-url: https://gitlab.kitware.com/cmake/cmake/merge_requests/686


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=78b7aaf8f65ba85d8326af8871e5219e087e963b
commit 78b7aaf8f65ba85d8326af8871e5219e087e963b
Merge: 85d2434 d914030
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Apr 11 14:05:52 2017 +0000
Commit:     Kitware Robot <kwrobot at kitware.com>
CommitDate: Tue Apr 11 10:11:52 2017 -0400

    Stage topic 'macos-hidpi-qt-dialog'
    
    Topic-id: 23563
    Topic-url: https://gitlab.kitware.com/cmake/cmake/merge_requests/682


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f4af14add40d851f7c8ef92aad2d549dcbbacf1f
commit f4af14add40d851f7c8ef92aad2d549dcbbacf1f
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Apr 10 14:50:53 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Apr 11 10:10:28 2017 -0400

    VS: Simplify logic collecting object library files as sources
    
    Object library files are already included by `GetExternalObjects`
    and `GetConfigCommonSourceFiles` so we don't need to call
    `UseObjectLibraries` to get them.

diff --git a/Source/cmLocalVisualStudio7Generator.cxx b/Source/cmLocalVisualStudio7Generator.cxx
index 260a84b..9e83c77 100644
--- a/Source/cmLocalVisualStudio7Generator.cxx
+++ b/Source/cmLocalVisualStudio7Generator.cxx
@@ -1306,14 +1306,21 @@ void cmLocalVisualStudio7GeneratorInternals::OutputObjects(
   // list object library content on the link line instead.
   cmLocalVisualStudio7Generator* lg = this->LocalGenerator;
   std::string currentBinDir = lg->GetCurrentBinaryDirectory();
-  std::vector<std::string> objs;
-  gt->UseObjectLibraries(objs, "");
+
+  std::vector<cmSourceFile*> sources;
+  if (!gt->GetConfigCommonSourceFiles(sources)) {
+    return;
+  }
+
   const char* sep = isep ? isep : "";
-  for (std::vector<std::string>::const_iterator oi = objs.begin();
-       oi != objs.end(); ++oi) {
-    std::string rel = lg->ConvertToRelativePath(currentBinDir, oi->c_str());
-    fout << sep << lg->ConvertToXMLOutputPath(rel.c_str());
-    sep = " ";
+  for (std::vector<cmSourceFile*>::const_iterator i = sources.begin();
+       i != sources.end(); i++) {
+    if (!(*i)->GetObjectLibrary().empty()) {
+      std::string const& objFile = (*i)->GetFullPath();
+      std::string rel = lg->ConvertToRelativePath(currentBinDir, objFile);
+      fout << sep << lg->ConvertToXMLOutputPath(rel.c_str());
+      sep = " ";
+    }
   }
 }
 
@@ -1370,7 +1377,13 @@ void cmLocalVisualStudio7Generator::WriteVCProjFile(std::ostream& fout,
   for (std::vector<cmSourceFile*>::const_iterator i = classes.begin();
        i != classes.end(); i++) {
     if (!(*i)->GetObjectLibrary().empty()) {
-      continue;
+      if (this->GetVersion() < cmGlobalVisualStudioGenerator::VS8 ||
+          this->FortranProject) {
+        // VS < 8 does not support per-config source locations so we
+        // list object library content on the link line instead.
+        // See OutputObjects.
+        continue;
+      }
     }
     // Add the file to the list of sources.
     std::string source = (*i)->GetFullPath();
@@ -1392,24 +1405,6 @@ void cmLocalVisualStudio7Generator::WriteVCProjFile(std::ostream& fout,
     this->WriteGroup(&sg, target, fout, libName, configs);
   }
 
-  if (this->GetVersion() >= cmGlobalVisualStudioGenerator::VS8 &&
-      !this->FortranProject) {
-    // VS >= 8 support per-config source locations so we
-    // list object library content as external objects.
-    std::vector<std::string> objs;
-    target->UseObjectLibraries(objs, "");
-    if (!objs.empty()) {
-      // TODO: Separate sub-filter for each object library used?
-      fout << "\t\t<Filter Name=\"Object Libraries\">\n";
-      for (std::vector<std::string>::const_iterator oi = objs.begin();
-           oi != objs.end(); ++oi) {
-        std::string o = this->ConvertToXMLOutputPathSingle(oi->c_str());
-        fout << "\t\t\t<File RelativePath=\"" << o << "\" />\n";
-      }
-      fout << "\t\t</Filter>\n";
-    }
-  }
-
   fout << "\t</Files>\n";
 
   // Write the VCProj file's footer.
diff --git a/Source/cmVisualStudio10TargetGenerator.cxx b/Source/cmVisualStudio10TargetGenerator.cxx
index a9ccc68..419989a 100644
--- a/Source/cmVisualStudio10TargetGenerator.cxx
+++ b/Source/cmVisualStudio10TargetGenerator.cxx
@@ -1337,23 +1337,6 @@ void cmVisualStudio10TargetGenerator::WriteGroups()
     this->WriteString("</ItemGroup>\n", 1);
   }
 
-  // Add object library contents as external objects.
-  std::vector<std::string> objs;
-  this->GeneratorTarget->UseObjectLibraries(objs, "");
-  if (!objs.empty()) {
-    this->WriteString("<ItemGroup>\n", 1);
-    for (std::vector<std::string>::const_iterator oi = objs.begin();
-         oi != objs.end(); ++oi) {
-      std::string obj = *oi;
-      this->WriteString("<Object Include=\"", 2);
-      this->ConvertToWindowsSlash(obj);
-      (*this->BuildFileStream) << cmVS10EscapeXML(obj) << "\">\n";
-      this->WriteString("<Filter>Object Libraries</Filter>\n", 3);
-      this->WriteString("</Object>\n", 2);
-    }
-    this->WriteString("</ItemGroup>\n", 1);
-  }
-
   this->WriteString("<ItemGroup>\n", 1);
   for (std::set<cmSourceGroup*>::iterator g = groupsUsed.begin();
        g != groupsUsed.end(); ++g) {
@@ -1371,15 +1354,6 @@ void cmVisualStudio10TargetGenerator::WriteGroups()
       this->WriteString("</Filter>\n", 2);
     }
   }
-  if (!objs.empty()) {
-    this->WriteString("<Filter Include=\"Object Libraries\">\n", 2);
-    std::string guidName = "SG_Filter_Object Libraries";
-    this->WriteString("<UniqueIdentifier>", 3);
-    std::string guid = this->GlobalGenerator->GetGUID(guidName.c_str());
-    (*this->BuildFileStream) << "{" << guid << "}"
-                             << "</UniqueIdentifier>\n";
-    this->WriteString("</Filter>\n", 2);
-  }
 
   if (!resxObjs.empty() || !this->AddedFiles.empty()) {
     this->WriteString("<Filter Include=\"Resource Files\">\n", 2);
@@ -1824,14 +1798,6 @@ void cmVisualStudio10TargetGenerator::WriteAllSources()
 
   std::vector<cmSourceFile const*> externalObjects;
   this->GeneratorTarget->GetExternalObjects(externalObjects, "");
-  for (std::vector<cmSourceFile const*>::iterator si = externalObjects.begin();
-       si != externalObjects.end();) {
-    if (!(*si)->GetObjectLibrary().empty()) {
-      si = externalObjects.erase(si);
-    } else {
-      ++si;
-    }
-  }
   if (this->LocalGenerator->GetVersion() >
       cmGlobalVisualStudioGenerator::VS10) {
     // For VS >= 11 we use LinkObjects to avoid linking custom command
@@ -1857,17 +1823,6 @@ void cmVisualStudio10TargetGenerator::WriteAllSources()
     this->WriteExtraSource(*si);
   }
 
-  // Add object library contents as external objects.
-  std::vector<std::string> objs;
-  this->GeneratorTarget->UseObjectLibraries(objs, "");
-  for (std::vector<std::string>::const_iterator oi = objs.begin();
-       oi != objs.end(); ++oi) {
-    std::string obj = *oi;
-    this->WriteString("<Object Include=\"", 2);
-    this->ConvertToWindowsSlash(obj);
-    (*this->BuildFileStream) << cmVS10EscapeXML(obj) << "\" />\n";
-  }
-
   std::vector<cmSourceFile const*> defSources;
   this->GeneratorTarget->GetModuleDefinitionSources(defSources, "");
   this->WriteSources("None", defSources);

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=10772c51b4b0eea35d78a2dd3aa45b92daab7ef2
commit 10772c51b4b0eea35d78a2dd3aa45b92daab7ef2
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Apr 10 14:14:59 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Apr 11 10:10:27 2017 -0400

    VS: Simplify use of object libraries in WINDOWS_EXPORT_ALL_SYMBOLS
    
    Object library files are already included by `GetExternalObjects`
    so we don't need to call `UseObjectLibraries` to get them.

diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx
index 6d16881..eae1dc4 100644
--- a/Source/cmGlobalVisualStudioGenerator.cxx
+++ b/Source/cmGlobalVisualStudioGenerator.cxx
@@ -887,7 +887,6 @@ void cmGlobalVisualStudioGenerator::AddSymbolExportCommand(
       objs.push_back((*it)->GetFullPath());
     }
 
-    gt->UseObjectLibraries(objs, configName);
     for (std::vector<std::string>::iterator it = objs.begin();
          it != objs.end(); ++it) {
       std::string objFile = *it;

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=22829a130482511f8310caf74e190baee7ec763b
commit 22829a130482511f8310caf74e190baee7ec763b
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Mon Apr 10 14:48:57 2017 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Apr 11 10:09:57 2017 -0400

    cmMakefile: Create an explicit "Object Libraries" source group
    
    The generators should not need special logic to place object library
    object files in this group.

diff --git a/Source/cmGeneratorExpressionNode.cxx b/Source/cmGeneratorExpressionNode.cxx
index 4443499..8b2c7aa 100644
--- a/Source/cmGeneratorExpressionNode.cxx
+++ b/Source/cmGeneratorExpressionNode.cxx
@@ -14,7 +14,6 @@
 #include "cmMakefile.h"
 #include "cmOutputConverter.h"
 #include "cmPolicies.h"
-#include "cmSourceFile.h"
 #include "cmStateTypes.h"
 #include "cmSystemTools.h"
 #include "cmTarget.h"
@@ -34,6 +33,8 @@
 #include <string.h>
 #include <utility>
 
+class cmSourceFile;
+
 std::string cmGeneratorExpressionNode::EvaluateDependentExpression(
   std::string const& prop, cmLocalGenerator* lg,
   cmGeneratorExpressionContext* context, cmGeneratorTarget const* headTarget,
@@ -1265,6 +1266,8 @@ static const struct TargetObjectsNode : public cmGeneratorExpressionNode
 
     gt->LocalGenerator->ComputeObjectFilenames(mapping, gt);
 
+    cmMakefile* mf = context->LG->GetMakefile();
+
     std::string obj_dir = gt->ObjectDirectory;
     std::string result;
     const char* sep = "";
@@ -1278,10 +1281,7 @@ static const struct TargetObjectsNode : public cmGeneratorExpressionNode
       assert(!map_it->second.empty());
       result += sep;
       std::string objFile = obj_dir + map_it->second;
-      cmSourceFile* sf =
-        context->LG->GetMakefile()->GetOrCreateSource(objFile, true);
-      sf->SetObjectLibrary(tgtName);
-      sf->SetProperty("EXTERNAL_OBJECT", "1");
+      mf->AddTargetObject(tgtName, objFile);
       result += objFile;
       sep = ";";
     }
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index f7d822a..9c68ccf 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -94,6 +94,10 @@ cmMakefile::cmMakefile(cmGlobalGenerator* globalGenerator,
   this->AddSourceGroup("CMake Rules", "\\.rule$");
   this->AddSourceGroup("Resources", "\\.plist$");
   this->AddSourceGroup("Object Files", "\\.(lo|o|obj)$");
+
+  this->ObjectLibrariesSourceGroupIndex = this->SourceGroups.size();
+  this->SourceGroups.push_back(
+    cmSourceGroup("Object Libraries", "^MATCH_NO_SOURCES$"));
 #endif
 }
 
@@ -3124,6 +3128,18 @@ cmSourceFile* cmMakefile::GetOrCreateSource(const std::string& sourceName,
   return this->CreateSource(sourceName, generated);
 }
 
+void cmMakefile::AddTargetObject(std::string const& tgtName,
+                                 std::string const& objFile)
+{
+  cmSourceFile* sf = this->GetOrCreateSource(objFile, true);
+  sf->SetObjectLibrary(tgtName);
+  sf->SetProperty("EXTERNAL_OBJECT", "1");
+#if defined(CMAKE_BUILD_WITH_CMAKE)
+  this->SourceGroups[this->ObjectLibrariesSourceGroupIndex].AddGroupFile(
+    sf->GetFullPath());
+#endif
+}
+
 void cmMakefile::EnableLanguage(std::vector<std::string> const& lang,
                                 bool optional)
 {
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 4e48c88..03a22fd 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -9,6 +9,7 @@
 #include <map>
 #include <set>
 #include <stack>
+#include <stddef.h>
 #include <string>
 #include <vector>
 
@@ -406,6 +407,8 @@ public:
   cmSourceFile* GetOrCreateSource(const std::string& sourceName,
                                   bool generated = false);
 
+  void AddTargetObject(std::string const& tgtName, std::string const& objFile);
+
   /**
    * Given a variable name, return its value (as a string).
    * If the variable is not found in this makefile instance, the
@@ -817,6 +820,7 @@ protected:
 
 #if defined(CMAKE_BUILD_WITH_CMAKE)
   std::vector<cmSourceGroup> SourceGroups;
+  size_t ObjectLibrariesSourceGroupIndex;
 #endif
 
   std::vector<cmCommand*> FinalPassCommands;

https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d9140305077c13defa04774b4a8f5233a76f8399
commit d9140305077c13defa04774b4a8f5233a76f8399
Author:     Ľubomír Carik <Lubomir.Carik at gmail.com>
AuthorDate: Sat Apr 8 23:33:26 2017 +0200
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Apr 11 09:49:12 2017 -0400

    macOS: Enable Hi-DPI support in applications by default
    
    Every desktop application should be HiDPI ready in present.
    Based on information from Qt documentation enabling properties in
    `Info.plist` is sufficient to activate this feature.
    Newer versions of `qmake` do it.
    
    Signed-off-by: Ľubomír Carik <Lubomir.Carik at gmail.com>

diff --git a/Help/release/dev/macos-hidpi-qt-dialog.rst b/Help/release/dev/macos-hidpi-qt-dialog.rst
new file mode 100644
index 0000000..263d405
--- /dev/null
+++ b/Help/release/dev/macos-hidpi-qt-dialog.rst
@@ -0,0 +1,5 @@
+macos-hidpi-qt-dialog
+---------------------
+
+* On macOS the default application bundle ``Info.plist`` file now enables
+  Hi-DPI support.
diff --git a/Modules/MacOSXBundleInfo.plist.in b/Modules/MacOSXBundleInfo.plist.in
index a4009bc..e06b17e 100644
--- a/Modules/MacOSXBundleInfo.plist.in
+++ b/Modules/MacOSXBundleInfo.plist.in
@@ -30,5 +30,9 @@
 	<true/>
 	<key>NSHumanReadableCopyright</key>
 	<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
+	<key>NSPrincipalClass</key>
+	<string>NSApplication</string>
+	<key>NSHighResolutionCapable</key>
+	<string>True</string>
 </dict>
 </plist>

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

Summary of changes:
 Help/release/dev/macos-hidpi-qt-dialog.rst |    5 +++++
 Modules/MacOSXBundleInfo.plist.in          |    4 ++++
 Source/cmGeneratorExpressionNode.cxx       |    2 ++
 Source/cmMakefile.h                        |    1 +
 4 files changed, 12 insertions(+)
 create mode 100644 Help/release/dev/macos-hidpi-qt-dialog.rst


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list