cmMakefile: Remove special handling of INCLUDE_REGULAR_EXPRESSION.

It costs an extra cmMakefile member and extra code to maintain in
directory property handling.  Remove documentation note that it
is read-only and specify high-level command to populate it.
This commit is contained in:
Stephen Kelly 2015-04-04 19:21:56 +02:00
parent 52f2261685
commit 4efda261fe
4 changed files with 7 additions and 19 deletions

View File

@ -3,6 +3,7 @@ INCLUDE_REGULAR_EXPRESSION
Include file scanning regular expression. Include file scanning regular expression.
This read-only property specifies the regular expression used during This property specifies the regular expression used during
dependency scanning to match include files that should be followed. dependency scanning to match include files that should be followed.
See the include_regular_expression command. See the :command:`include_regular_expression` command for a high-level
interface to set this property.

View File

@ -49,7 +49,7 @@ void cmMakeDepend::SetMakefile(cmMakefile* makefile)
// Now extract the include file regular expression from the makefile. // Now extract the include file regular expression from the makefile.
this->IncludeFileRegularExpression.compile( this->IncludeFileRegularExpression.compile(
this->Makefile->IncludeFileRegularExpression.c_str()); this->Makefile->GetIncludeRegularExpression());
this->ComplainFileRegularExpression.compile( this->ComplainFileRegularExpression.compile(
this->Makefile->ComplainFileRegularExpression.c_str()); this->Makefile->ComplainFileRegularExpression.c_str());

View File

@ -150,7 +150,7 @@ cmMakefile::cmMakefile(cmLocalGenerator* localGenerator)
this->SuppressWatches = false; this->SuppressWatches = false;
// Setup the default include file regular expression (match everything). // Setup the default include file regular expression (match everything).
this->IncludeFileRegularExpression = "^.*$"; this->SetProperty("INCLUDE_REGULAR_EXPRESSION", "^.*$");
// Setup the default include complaint regular expression (match nothing). // Setup the default include complaint regular expression (match nothing).
this->ComplainFileRegularExpression = "^$"; this->ComplainFileRegularExpression = "^$";
// Source and header file extensions that we can handle // Source and header file extensions that we can handle
@ -1613,7 +1613,6 @@ void cmMakefile::InitializeFromParent(cmMakefile* parent)
this->ProjectName = parent->ProjectName; this->ProjectName = parent->ProjectName;
// Copy include regular expressions. // Copy include regular expressions.
this->IncludeFileRegularExpression = parent->IncludeFileRegularExpression;
this->ComplainFileRegularExpression = parent->ComplainFileRegularExpression; this->ComplainFileRegularExpression = parent->ComplainFileRegularExpression;
// Imported targets. // Imported targets.
@ -4193,12 +4192,6 @@ void cmMakefile::SetProperty(const std::string& prop, const char* value)
return; return;
} }
if ( prop == "INCLUDE_REGULAR_EXPRESSION" )
{
this->SetIncludeRegularExpression(value);
return;
}
this->Properties.SetProperty(prop, value); this->Properties.SetProperty(prop, value);
} }
@ -4265,11 +4258,6 @@ const char *cmMakefile::GetProperty(const std::string& prop,
} }
return ""; return "";
} }
else if (prop == "INCLUDE_REGULAR_EXPRESSION" )
{
output = this->GetIncludeRegularExpression();
return output.c_str();
}
else if (prop == "LISTFILE_STACK") else if (prop == "LISTFILE_STACK")
{ {
output = cmJoin(this->ListFileStack, ";"); output = cmJoin(this->ListFileStack, ";");

View File

@ -387,11 +387,11 @@ public:
*/ */
void SetIncludeRegularExpression(const char* regex) void SetIncludeRegularExpression(const char* regex)
{ {
this->IncludeFileRegularExpression = regex; this->SetProperty("INCLUDE_REGULAR_EXPRESSION", regex);
} }
const char* GetIncludeRegularExpression() const const char* GetIncludeRegularExpression() const
{ {
return this->IncludeFileRegularExpression.c_str(); return this->GetProperty("INCLUDE_REGULAR_EXPRESSION");
} }
/** /**
@ -873,7 +873,6 @@ protected:
std::vector<cmInstallGenerator*> InstallGenerators; std::vector<cmInstallGenerator*> InstallGenerators;
std::vector<cmTestGenerator*> TestGenerators; std::vector<cmTestGenerator*> TestGenerators;
std::string IncludeFileRegularExpression;
std::string ComplainFileRegularExpression; std::string ComplainFileRegularExpression;
std::vector<std::string> SourceFileExtensions; std::vector<std::string> SourceFileExtensions;
std::vector<std::string> HeaderFileExtensions; std::vector<std::string> HeaderFileExtensions;