From 4efda261fead9f677144ffc6bc2b612a1d1dbcb6 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Sat, 4 Apr 2015 19:21:56 +0200 Subject: [PATCH] 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. --- Help/prop_dir/INCLUDE_REGULAR_EXPRESSION.rst | 5 +++-- Source/cmMakeDepend.cxx | 2 +- Source/cmMakefile.cxx | 14 +------------- Source/cmMakefile.h | 5 ++--- 4 files changed, 7 insertions(+), 19 deletions(-) diff --git a/Help/prop_dir/INCLUDE_REGULAR_EXPRESSION.rst b/Help/prop_dir/INCLUDE_REGULAR_EXPRESSION.rst index befafa58c..bb90c61a7 100644 --- a/Help/prop_dir/INCLUDE_REGULAR_EXPRESSION.rst +++ b/Help/prop_dir/INCLUDE_REGULAR_EXPRESSION.rst @@ -3,6 +3,7 @@ INCLUDE_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. -See the include_regular_expression command. +See the :command:`include_regular_expression` command for a high-level +interface to set this property. diff --git a/Source/cmMakeDepend.cxx b/Source/cmMakeDepend.cxx index a6d4e58aa..cbc7e0299 100644 --- a/Source/cmMakeDepend.cxx +++ b/Source/cmMakeDepend.cxx @@ -49,7 +49,7 @@ void cmMakeDepend::SetMakefile(cmMakefile* makefile) // Now extract the include file regular expression from the makefile. this->IncludeFileRegularExpression.compile( - this->Makefile->IncludeFileRegularExpression.c_str()); + this->Makefile->GetIncludeRegularExpression()); this->ComplainFileRegularExpression.compile( this->Makefile->ComplainFileRegularExpression.c_str()); diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 07c2fd15b..155c30636 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -150,7 +150,7 @@ cmMakefile::cmMakefile(cmLocalGenerator* localGenerator) this->SuppressWatches = false; // 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). this->ComplainFileRegularExpression = "^$"; // Source and header file extensions that we can handle @@ -1613,7 +1613,6 @@ void cmMakefile::InitializeFromParent(cmMakefile* parent) this->ProjectName = parent->ProjectName; // Copy include regular expressions. - this->IncludeFileRegularExpression = parent->IncludeFileRegularExpression; this->ComplainFileRegularExpression = parent->ComplainFileRegularExpression; // Imported targets. @@ -4193,12 +4192,6 @@ void cmMakefile::SetProperty(const std::string& prop, const char* value) return; } - if ( prop == "INCLUDE_REGULAR_EXPRESSION" ) - { - this->SetIncludeRegularExpression(value); - return; - } - this->Properties.SetProperty(prop, value); } @@ -4265,11 +4258,6 @@ const char *cmMakefile::GetProperty(const std::string& prop, } return ""; } - else if (prop == "INCLUDE_REGULAR_EXPRESSION" ) - { - output = this->GetIncludeRegularExpression(); - return output.c_str(); - } else if (prop == "LISTFILE_STACK") { output = cmJoin(this->ListFileStack, ";"); diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h index 82a227940..585880e90 100644 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@ -387,11 +387,11 @@ public: */ void SetIncludeRegularExpression(const char* regex) { - this->IncludeFileRegularExpression = regex; + this->SetProperty("INCLUDE_REGULAR_EXPRESSION", regex); } const char* GetIncludeRegularExpression() const { - return this->IncludeFileRegularExpression.c_str(); + return this->GetProperty("INCLUDE_REGULAR_EXPRESSION"); } /** @@ -873,7 +873,6 @@ protected: std::vector InstallGenerators; std::vector TestGenerators; - std::string IncludeFileRegularExpression; std::string ComplainFileRegularExpression; std::vector SourceFileExtensions; std::vector HeaderFileExtensions;