diff options
Diffstat (limited to 'Source/cmLocalGenerator.cxx')
-rw-r--r-- | Source/cmLocalGenerator.cxx | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index c496686..8555064 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -1034,6 +1034,8 @@ cmLocalGenerator::ExpandRuleVariables(std::string& s, { std::vector<std::string> enabledLanguages; this->GlobalGenerator->GetEnabledLanguages(enabledLanguages); + this->InsertRuleLauncher(s, replaceValues.CMTarget, + replaceValues.RuleLauncher); std::string::size_type start = s.find('<'); // no variables to expand if(start == s.npos) @@ -1076,6 +1078,32 @@ cmLocalGenerator::ExpandRuleVariables(std::string& s, } //---------------------------------------------------------------------------- +const char* cmLocalGenerator::GetRuleLauncher(cmTarget* target, + const char* prop) +{ + if(target) + { + return target->GetProperty(prop); + } + else + { + return this->Makefile->GetProperty(prop); + } +} + +//---------------------------------------------------------------------------- +void cmLocalGenerator::InsertRuleLauncher(std::string& s, cmTarget* target, + const char* prop) +{ + if(const char* val = this->GetRuleLauncher(target, prop)) + { + cmOStringStream wrapped; + wrapped << val << " " << s; + s = wrapped.str(); + } +} + +//---------------------------------------------------------------------------- std::string cmLocalGenerator::ConvertToOutputForExistingCommon(const char* remote, std::string const& result) |