BUG: More problems with cmMakefile copy-constructor. It seems the regular expression class cannot be assigned but does not enforce this limitation at compile time.

This commit is contained in:
Brad King 2007-06-11 10:25:40 -04:00
parent 4ed167090e
commit 28e94533dd
2 changed files with 10 additions and 6 deletions

View File

@ -85,9 +85,7 @@ cmMakefile::cmMakefile()
this->AddSourceGroup("Resources", "\\.plist$");
#endif
this->AddDefaultDefinitions();
this->cmDefineRegex.compile("#cmakedefine[ \t]+([A-Za-z_0-9]*)");
this->cmDefine01Regex.compile("#cmakedefine01[ \t]+([A-Za-z_0-9]*)");
this->cmAtVarRegex.compile("(@[A-Za-z_0-9/.+-]+@)");
this->Initialize();
this->PreOrder = false;
}
@ -131,11 +129,16 @@ cmMakefile::cmMakefile(const cmMakefile& mf)
this->Properties = mf.Properties;
this->PreOrder = mf.PreOrder;
this->ListFileStack = mf.ListFileStack;
this->cmDefineRegex = mf.cmDefineRegex;
this->cmDefine01Regex = mf.cmDefine01Regex;
this->cmAtVarRegex = mf.cmAtVarRegex;
this->Initialize();
}
//----------------------------------------------------------------------------
void cmMakefile::Initialize()
{
this->cmDefineRegex.compile("#cmakedefine[ \t]+([A-Za-z_0-9]*)");
this->cmDefine01Regex.compile("#cmakedefine01[ \t]+([A-Za-z_0-9]*)");
this->cmAtVarRegex.compile("(@[A-Za-z_0-9/.+-]+@)");
}
unsigned int cmMakefile::GetCacheMajorVersion()
{

View File

@ -783,6 +783,7 @@ protected:
bool IsFunctionBlocked(const cmListFileFunction& lff);
private:
void Initialize();
void ReadSources(std::ifstream& fin, bool t);
friend class cmMakeDepend; // make depend needs direct access