[Cmake-commits] [cmake-commits] hoffman committed cmCPackPackageMakerGenerator.cxx 1.23.2.2 1.23.2.3 cmCPackPackageMakerGenerator.h 1.12.2.2 1.12.2.3

cmake-commits at cmake.org cmake-commits at cmake.org
Wed Jul 30 14:54:52 EDT 2008


Update of /cvsroot/CMake/CMake/Source/CPack
In directory public:/mounts/ram/cvs-serv13597/Source/CPack

Modified Files:
      Tag: CMake-2-6
	cmCPackPackageMakerGenerator.cxx 
	cmCPackPackageMakerGenerator.h 
Log Message:
ENH: merge in from main tree RC 15


Index: cmCPackPackageMakerGenerator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CPack/cmCPackPackageMakerGenerator.cxx,v
retrieving revision 1.23.2.2
retrieving revision 1.23.2.3
diff -C 2 -d -r1.23.2.2 -r1.23.2.3
*** cmCPackPackageMakerGenerator.cxx	13 Jul 2008 21:55:24 -0000	1.23.2.2
--- cmCPackPackageMakerGenerator.cxx	30 Jul 2008 18:54:49 -0000	1.23.2.3
***************
*** 830,835 ****
      // or E--will automatically cause C to get selected.
      out << "selected=\"my.choice.selected";
!     AddDependencyAttributes(component, out);
!     AddReverseDependencyAttributes(component, out);
      out << "\"";
      }
--- 830,837 ----
      // or E--will automatically cause C to get selected.
      out << "selected=\"my.choice.selected";
!     std::set<const cmCPackComponent *> visited;
!     AddDependencyAttributes(component, visited, out);
!     visited.clear();
!     AddReverseDependencyAttributes(component, visited, out);
      out << "\"";
      }
***************
*** 869,874 ****
  void 
  cmCPackPackageMakerGenerator::
! AddDependencyAttributes(const cmCPackComponent& component, cmOStringStream& out)
  {
    std::vector<cmCPackComponent *>::const_iterator dependIt;
    for (dependIt = component.Dependencies.begin();
--- 871,884 ----
  void 
  cmCPackPackageMakerGenerator::
! AddDependencyAttributes(const cmCPackComponent& component, 
!                         std::set<const cmCPackComponent *>& visited,
!                         cmOStringStream& out)
  {
+   if (visited.find(&component) != visited.end())
+     {
+     return;
+     }
+   visited.insert(&component);
+ 
    std::vector<cmCPackComponent *>::const_iterator dependIt;
    for (dependIt = component.Dependencies.begin();
***************
*** 877,881 ****
      {
      out << " &amp;&amp; choices['" << (*dependIt)->Name << "Choice'].selected";
!     AddDependencyAttributes(**dependIt, out);
      }
  }
--- 887,891 ----
      {
      out << " &amp;&amp; choices['" << (*dependIt)->Name << "Choice'].selected";
!     AddDependencyAttributes(**dependIt, visited, out);
      }
  }
***************
*** 885,890 ****
--- 895,907 ----
  cmCPackPackageMakerGenerator::
  AddReverseDependencyAttributes(const cmCPackComponent& component, 
+                                std::set<const cmCPackComponent *>& visited,
                                 cmOStringStream& out)
  {
+   if (visited.find(&component) != visited.end())
+     {
+     return;
+     }
+   visited.insert(&component);
+ 
    std::vector<cmCPackComponent *>::const_iterator dependIt;
    for (dependIt = component.ReverseDependencies.begin();
***************
*** 893,897 ****
      {
      out << " || choices['" << (*dependIt)->Name << "Choice'].selected";
!     AddReverseDependencyAttributes(**dependIt, out);
      }
  }
--- 910,914 ----
      {
      out << " || choices['" << (*dependIt)->Name << "Choice'].selected";
!     AddReverseDependencyAttributes(**dependIt, visited, out);
      }
  }

Index: cmCPackPackageMakerGenerator.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/CPack/cmCPackPackageMakerGenerator.h,v
retrieving revision 1.12.2.2
retrieving revision 1.12.2.3
diff -C 2 -d -r1.12.2.2 -r1.12.2.3
*** cmCPackPackageMakerGenerator.h	13 Jul 2008 21:55:24 -0000	1.12.2.2
--- cmCPackPackageMakerGenerator.h	30 Jul 2008 18:54:50 -0000	1.12.2.3
***************
*** 89,98 ****
    // dependency attributes for inter-component dependencies.
    void AddDependencyAttributes(const cmCPackComponent& component,
                                 cmOStringStream& out);
  
    // Subroutine of WriteDistributionFile that writes out the
    // reverse dependency attributes for inter-component dependencies.
!   void AddReverseDependencyAttributes(const cmCPackComponent& component,
!                                       cmOStringStream& out);
  
    // Generates XML that encodes the hierarchy of component groups and
--- 89,101 ----
    // dependency attributes for inter-component dependencies.
    void AddDependencyAttributes(const cmCPackComponent& component,
+                                std::set<const cmCPackComponent *>& visited,
                                 cmOStringStream& out);
  
    // Subroutine of WriteDistributionFile that writes out the
    // reverse dependency attributes for inter-component dependencies.
!   void 
!   AddReverseDependencyAttributes(const cmCPackComponent& component,
!                                  std::set<const cmCPackComponent *>& visited,
!                                  cmOStringStream& out);
  
    // Generates XML that encodes the hierarchy of component groups and



More information about the Cmake-commits mailing list