[Cmake-commits] CMake branch, next, updated. v2.8.10.2-2545-gb44f5d5

Stephen Kelly steveire at gmail.com
Mon Mar 18 07:20:33 EDT 2013


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  b44f5d53b8ed43f6866182af1d2487ec1f273480 (commit)
       via  0b5d0c3b172c717acc9b9857a36944e01982ead5 (commit)
       via  d7a2a9c31905764906f8e917a8149264dd3aaac8 (commit)
      from  8d81738451ca633e3c7234b33035596d6c914078 (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=b44f5d53b8ed43f6866182af1d2487ec1f273480
commit b44f5d53b8ed43f6866182af1d2487ec1f273480
Merge: 8d81738 0b5d0c3
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Mon Mar 18 07:20:27 2013 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Mar 18 07:20:27 2013 -0400

    Merge topic 'automoc-append-implicit-dirs' into next
    
    0b5d0c3 Make Qt Automoc append implicit includes after other user-specified dirs.
    d7a2a9c CMake Nightly Date Stamp


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0b5d0c3b172c717acc9b9857a36944e01982ead5
commit 0b5d0c3b172c717acc9b9857a36944e01982ead5
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Mar 17 19:40:37 2013 +0100
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Mon Mar 18 12:16:14 2013 +0100

    Make Qt Automoc append implicit includes after other user-specified dirs.
    
    The commit d2536579 (Automoc: fix regression #13667, broken build in
    phonon, 2012-11-19) changed Automoc to try to re-add the Qt header dir
    if it was stripped out as an implicit include from the moc command
    line. When invoking a compiler, those directories are stripped out
    because they are built-in, but for moc, there are no built-in directories.
    
    The follow-up commit acc22400 (Automoc: get include dirs without
    stripping implicit include dirs off, 2012-12-07) went further by not
    removing the implicit include dirs, if they were specified specifically
    by the user.
    
    This had the remaining problem that the implicit include dirs appeared
    in a different order of precedence for moc compared to the compiler.
    Resolve that by stripping out the include dirs, where specified for
    the moc command line to, and then appending them at the end. Note that
    the order of the appended implicit include directories is the order
    they are specified in the CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES, not
    the order specified by the user.

diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index dc39fdc..ee5b9d8 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -1407,20 +1407,22 @@ void cmLocalGenerator::GetIncludeDirectories(std::vector<std::string>& dirs,
     return;
     }
 
-  if (stripImplicitInclDirs)
-    {
-    // Load implicit include directories for this language.
-    std::string impDirVar = "CMAKE_";
-    impDirVar += lang;
-    impDirVar += "_IMPLICIT_INCLUDE_DIRECTORIES";
-    if(const char* value = this->Makefile->GetDefinition(impDirVar.c_str()))
-      {
-      std::vector<std::string> impDirVec;
-      cmSystemTools::ExpandListArgument(value, impDirVec);
-      for(std::vector<std::string>::const_iterator i = impDirVec.begin();
-          i != impDirVec.end(); ++i)
+  std::vector<std::string> implicitDirs;
+  // Load implicit include directories for this language.
+  std::string impDirVar = "CMAKE_";
+  impDirVar += lang;
+  impDirVar += "_IMPLICIT_INCLUDE_DIRECTORIES";
+  if(const char* value = this->Makefile->GetDefinition(impDirVar.c_str()))
+    {
+    std::vector<std::string> impDirVec;
+    cmSystemTools::ExpandListArgument(value, impDirVec);
+    for(std::vector<std::string>::const_iterator i = impDirVec.begin();
+        i != impDirVec.end(); ++i)
+      {
+      emitted.insert(*i);
+      if (!stripImplicitInclDirs)
         {
-        emitted.insert(*i);
+        implicitDirs.push_back(*i);
         }
       }
     }
@@ -1463,6 +1465,15 @@ void cmLocalGenerator::GetIncludeDirectories(std::vector<std::string>& dirs,
       dirs.push_back(*i);
       }
     }
+
+  for(std::vector<std::string>::const_iterator i = implicitDirs.begin();
+      i != implicitDirs.end(); ++i)
+    {
+    if(std::find(includes.begin(), includes.end(), *i) != includes.end())
+      {
+      dirs.push_back(*i);
+      }
+    }
 }
 
 void cmLocalGenerator::GetTargetFlags(std::string& linkLibs,

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

Summary of changes:
 Source/CMakeVersion.cmake   |    2 +-
 Source/cmLocalGenerator.cxx |   35 +++++++++++++++++++++++------------
 2 files changed, 24 insertions(+), 13 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list