[Cmake-commits] [cmake-commits] king committed cmLocalVisualStudio6Generator.cxx 1.142 1.143 cmLocalVisualStudio7Generator.cxx 1.224 1.225 cmSourceGroup.cxx 1.19 1.20 cmSourceGroup.h 1.19 1.20
cmake-commits at cmake.org
cmake-commits at cmake.org
Fri May 16 16:56:43 EDT 2008
Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv21676/Source
Modified Files:
cmLocalVisualStudio6Generator.cxx
cmLocalVisualStudio7Generator.cxx cmSourceGroup.cxx
cmSourceGroup.h
Log Message:
COMP: Fix build with concept checking of STL.
- Fix cmSourceGroup to not use std::vector with an incomplete type.
Index: cmSourceGroup.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmSourceGroup.cxx,v
retrieving revision 1.19
retrieving revision 1.20
diff -C 2 -d -r1.19 -r1.20
*** cmSourceGroup.cxx 24 Aug 2007 18:21:49 -0000 1.19
--- cmSourceGroup.cxx 16 May 2008 20:56:41 -0000 1.20
***************
*** 17,27 ****
--- 17,61 ----
#include "cmSourceGroup.h"
+ class cmSourceGroupInternals
+ {
+ public:
+ std::vector<cmSourceGroup> GroupChildren;
+ };
+
//----------------------------------------------------------------------------
cmSourceGroup::cmSourceGroup(const char* name, const char* regex): Name(name)
{
+ this->Internal = new cmSourceGroupInternals;
this->SetGroupRegex(regex);
}
//----------------------------------------------------------------------------
+ cmSourceGroup::~cmSourceGroup()
+ {
+ delete this->Internal;
+ }
+
+ //----------------------------------------------------------------------------
+ cmSourceGroup::cmSourceGroup(cmSourceGroup const& r)
+ {
+ this->Name = r.Name;
+ this->GroupRegex = r.GroupRegex;
+ this->GroupFiles = r.GroupFiles;
+ this->SourceFiles = r.SourceFiles;
+ this->Internal = new cmSourceGroupInternals(*r.Internal);
+ }
+
+ //----------------------------------------------------------------------------
+ cmSourceGroup& cmSourceGroup::operator=(cmSourceGroup const& r)
+ {
+ this->Name = r.Name;
+ this->GroupRegex = r.GroupRegex;
+ this->GroupFiles = r.GroupFiles;
+ this->SourceFiles = r.SourceFiles;
+ *(this->Internal) = *(r.Internal);
+ return *this;
+ }
+
+ //----------------------------------------------------------------------------
void cmSourceGroup::SetGroupRegex(const char* regex)
{
***************
*** 86,90 ****
void cmSourceGroup::AddChild(cmSourceGroup child)
{
! this->GroupChildren.push_back(child);
}
--- 120,124 ----
void cmSourceGroup::AddChild(cmSourceGroup child)
{
! this->Internal->GroupChildren.push_back(child);
}
***************
*** 93,98 ****
{
// initializing iterators
! std::vector<cmSourceGroup>::iterator iter = this->GroupChildren.begin();
! std::vector<cmSourceGroup>::iterator end = this->GroupChildren.end();
// st
--- 127,134 ----
{
// initializing iterators
! std::vector<cmSourceGroup>::iterator iter =
! this->Internal->GroupChildren.begin();
! std::vector<cmSourceGroup>::iterator end =
! this->Internal->GroupChildren.end();
// st
***************
*** 115,120 ****
{
// initializing iterators
! std::vector<cmSourceGroup>::iterator iter = this->GroupChildren.begin();
! std::vector<cmSourceGroup>::iterator end = this->GroupChildren.end();
if(this->MatchesFiles(name))
--- 151,158 ----
{
// initializing iterators
! std::vector<cmSourceGroup>::iterator iter =
! this->Internal->GroupChildren.begin();
! std::vector<cmSourceGroup>::iterator end =
! this->Internal->GroupChildren.end();
if(this->MatchesFiles(name))
***************
*** 137,142 ****
{
// initializing iterators
! std::vector<cmSourceGroup>::iterator iter = this->GroupChildren.begin();
! std::vector<cmSourceGroup>::iterator end = this->GroupChildren.end();
if(this->MatchesRegex(name))
--- 175,182 ----
{
// initializing iterators
! std::vector<cmSourceGroup>::iterator iter =
! this->Internal->GroupChildren.begin();
! std::vector<cmSourceGroup>::iterator end =
! this->Internal->GroupChildren.end();
if(this->MatchesRegex(name))
***************
*** 155,160 ****
}
! std::vector<cmSourceGroup> cmSourceGroup::GetGroupChildren() const
{
! return this->GroupChildren;
}
--- 195,201 ----
}
! std::vector<cmSourceGroup> const&
! cmSourceGroup::GetGroupChildren() const
{
! return this->Internal->GroupChildren;
}
Index: cmLocalVisualStudio7Generator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmLocalVisualStudio7Generator.cxx,v
retrieving revision 1.224
retrieving revision 1.225
diff -C 2 -d -r1.224 -r1.225
*** cmLocalVisualStudio7Generator.cxx 30 Apr 2008 17:26:03 -0000 1.224
--- cmLocalVisualStudio7Generator.cxx 16 May 2008 20:56:41 -0000 1.225
***************
*** 1474,1478 ****
}
! std::vector<cmSourceGroup> children = sg->GetGroupChildren();
for(unsigned int i=0;i<children.size();++i)
--- 1474,1478 ----
}
! std::vector<cmSourceGroup> const& children = sg->GetGroupChildren();
for(unsigned int i=0;i<children.size();++i)
Index: cmSourceGroup.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmSourceGroup.h,v
retrieving revision 1.19
retrieving revision 1.20
diff -C 2 -d -r1.19 -r1.20
*** cmSourceGroup.h 15 Mar 2006 16:02:07 -0000 1.19
--- cmSourceGroup.h 16 May 2008 20:56:41 -0000 1.20
***************
*** 23,26 ****
--- 23,28 ----
class cmSourceFile;
+ class cmSourceGroupInternals;
+
/** \class cmSourceGroup
* \brief Hold a group of sources as specified by a SOURCE_GROUP command.
***************
*** 37,41 ****
public:
cmSourceGroup(const char* name, const char* regex);
! ~cmSourceGroup() {}
/**
--- 39,45 ----
public:
cmSourceGroup(const char* name, const char* regex);
! cmSourceGroup(cmSourceGroup const& r);
! ~cmSourceGroup();
! cmSourceGroup& operator=(cmSourceGroup const&);
/**
***************
*** 98,102 ****
std::vector<const cmSourceFile*>& GetSourceFiles();
! std::vector<cmSourceGroup> GetGroupChildren() const;
private:
/**
--- 102,106 ----
std::vector<const cmSourceFile*>& GetSourceFiles();
! std::vector<cmSourceGroup> const& GetGroupChildren() const;
private:
/**
***************
*** 121,125 ****
std::vector<const cmSourceFile*> SourceFiles;
! std::vector<cmSourceGroup> GroupChildren;
};
--- 125,129 ----
std::vector<const cmSourceFile*> SourceFiles;
! cmSourceGroupInternals* Internal;
};
Index: cmLocalVisualStudio6Generator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmLocalVisualStudio6Generator.cxx,v
retrieving revision 1.142
retrieving revision 1.143
diff -C 2 -d -r1.142 -r1.143
*** cmLocalVisualStudio6Generator.cxx 21 Apr 2008 22:24:56 -0000 1.142
--- cmLocalVisualStudio6Generator.cxx 16 May 2008 20:56:40 -0000 1.143
***************
*** 533,537 ****
}
! std::vector<cmSourceGroup> children = sg->GetGroupChildren();
for(unsigned int i=0;i<children.size();++i)
--- 533,537 ----
}
! std::vector<cmSourceGroup> const& children = sg->GetGroupChildren();
for(unsigned int i=0;i<children.size();++i)
More information about the Cmake-commits
mailing list