diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 5a7fa6d20..ec6c2d415 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -395,6 +395,11 @@ void cmMakefile::ExpandVariblesInString(std::string& source) std::string variable = "${"; variable += (*i).first; variable += "}"; + cmSystemTools::ReplaceString(source, variable.c_str(), + (*i).second.c_str()); + variable = "@"; + variable += (*i).first; + variable += "@"; cmSystemTools::ReplaceString(source, variable.c_str(), (*i).second.c_str()); } diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h index ff16c9dee..2e8b39a66 100644 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@ -310,7 +310,8 @@ public: * Expand all defined varibles in the string. * Defined varibles come from the m_Definitions map. * They are expanded with ${var} where var is the - * entry in the m_Definitions map. + * entry in the m_Definitions map. Also @var@ is + * expanded to match autoconf style expansions. */ void ExpandVariblesInString(std::string& source); protected: