diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index f6d8e6c10..ee5da6822 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -149,8 +149,19 @@ void cmSystemTools::ExpandRegistryValues(std::string& source) } } #else -void cmSystemTools::ExpandRegistryValues(std::string&) +void cmSystemTools::ExpandRegistryValues(std::string& source) { + cmsys::RegularExpression regEntry("\\[(HKEY[^]]*)\\]"); + while (regEntry.find(source)) + { + // the arguments are the second match + std::string key = regEntry.match(1); + std::string val; + std::string reg = "["; + reg += key + "]"; + cmSystemTools::ReplaceString(source, reg.c_str(), "/registry"); + } + } #endif