diff --git a/Source/cmGetCMakePropertyCommand.cxx b/Source/cmGetCMakePropertyCommand.cxx index a460ca6ed1aa08e4266c264ad7127748144399d4..99e2867c3749959c829f40de8960865dddd212b5 100644 --- a/Source/cmGetCMakePropertyCommand.cxx +++ b/Source/cmGetCMakePropertyCommand.cxx @@ -41,7 +41,10 @@ bool cmGetCMakePropertyCommand else if ( args[1] == "MACROS" ) { output.clear(); - this->Makefile->GetListOfMacros(output); + if (const char* macrosProp = this->Makefile->GetProperty("MACROS")) + { + output = macrosProp; + } } else if ( args[1] == "COMPONENTS" ) { diff --git a/Source/cmMacroCommand.cxx b/Source/cmMacroCommand.cxx index 6d3054a1b9dc698a86ca37edf7b87c5de38c282f..fa5a623543d641c04a64027aeb0ac188f6da935c 100644 --- a/Source/cmMacroCommand.cxx +++ b/Source/cmMacroCommand.cxx @@ -211,7 +211,7 @@ IsFunctionBlocked(const cmListFileFunction& lff, cmMakefile &mf, // if this is the endmacro for this macro then execute if (!this->Depth) { - mf.AddMacro(this->Args[0].c_str()); + mf.AppendProperty("MACROS", this->Args[0].c_str()); // create a new command and add it to cmake cmMacroHelperCommand *f = new cmMacroHelperCommand(); f->Args = this->Args; diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 3c8a41d29a0e6aadea6ea0afa28be4fbf3d3964b..14ef934720eafe28f48c335f6d5cbf88bb9ff7a8 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -3817,18 +3817,6 @@ cmVariableWatch *cmMakefile::GetVariableWatch() const } #endif -void cmMakefile::AddMacro(const char* name) -{ - assert(name); - this->MacrosList.push_back(name); -} - -void cmMakefile::GetListOfMacros(std::string& macros) const -{ - assert(macros.empty()); - macros = cmJoin(this->MacrosList, ";"); -} - cmState *cmMakefile::GetState() const { return this->GetCMakeInstance()->GetState(); @@ -4265,11 +4253,6 @@ const char *cmMakefile::GetProperty(const std::string& prop, output = cmJoin(this->GetDefinitions(), ";"); return output.c_str(); } - else if (prop == "MACROS") - { - this->GetListOfMacros(output); - return output.c_str(); - } else if (prop == "INCLUDE_DIRECTORIES") { std::string sep; diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h index 98d199a2e5800341d96c6f01768e34a72b29242d..489a8b124376cf55d2ef040aaa3f14ae7db1294e 100644 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@ -655,12 +655,6 @@ public: */ cmSourceFile *GetSourceFileWithOutput(const std::string& outName) const; - /** - * Add a macro to the list of macros. The arguments should be name of the - * macro and a documentation signature of it - */ - void AddMacro(const char* name); - ///! Add a new cmTest to the list of tests for this makefile. cmTest* CreateTest(const std::string& testName); @@ -669,11 +663,6 @@ public: */ cmTest* GetTest(const std::string& testName) const; - /** - * Get a list of macros as a ; separated string - */ - void GetListOfMacros(std::string& macros) const; - /** * Return a location of a file in cmake or custom modules directory */ @@ -909,8 +898,6 @@ private: std::stack<int> LoopBlockCounter; - std::vector<std::string> MacrosList; - mutable cmsys::RegularExpression cmDefineRegex; mutable cmsys::RegularExpression cmDefine01Regex; mutable cmsys::RegularExpression cmAtVarRegex;