diff options
author | Brad King <brad.king@kitware.com> | 2016-12-12 19:21:20 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2016-12-12 19:21:20 (GMT) |
commit | ce71bd9505a46d7350c0e256f2d8f4f183d1c9fa (patch) | |
tree | 5c617f636a6949928afefb1cc9cfde59bfde8623 /Source/cmMakefileTargetGenerator.cxx | |
parent | 3874843f0f5be9d53001517b3697e0d092f0e845 (diff) | |
parent | db61cd5d72f78aaf720f60f8e3a573fc36599bf9 (diff) | |
download | CMake-ce71bd9505a46d7350c0e256f2d8f4f183d1c9fa.zip CMake-ce71bd9505a46d7350c0e256f2d8f4f183d1c9fa.tar.gz CMake-ce71bd9505a46d7350c0e256f2d8f4f183d1c9fa.tar.bz2 |
Merge topic 'fix-ctest-launchers'
db61cd5d cmRulePlaceholderExpander: Remove unused member RuleLauncher
b7771078 Comment ExpandRuleVariables calls not preceded by launcher insertion
c58a5198 Makefile: Restore RULE_LAUNCH_COMPILE generation on compilation rules
Diffstat (limited to 'Source/cmMakefileTargetGenerator.cxx')
-rw-r--r-- | Source/cmMakefileTargetGenerator.cxx | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx index 6906a90..4218930 100644 --- a/Source/cmMakefileTargetGenerator.cxx +++ b/Source/cmMakefileTargetGenerator.cxx @@ -553,7 +553,6 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile( } } cmRulePlaceholderExpander::RuleVariables vars; - vars.RuleLauncher = "RULE_LAUNCH_COMPILE"; vars.CMTargetName = this->GeneratorTarget->GetName().c_str(); vars.CMTargetType = cmState::GetTargetTypeName(this->GeneratorTarget->GetType()); @@ -624,6 +623,7 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile( lang_can_export_cmds && compileCommands.size() == 1) { std::string compileCommand = compileCommands[0]; + // no launcher for CMAKE_EXPORT_COMPILE_COMMANDS rulePlaceholderExpander->ExpandRuleVariables(this->LocalGenerator, compileCommand, vars); std::string workingDirectory = cmSystemTools::CollapseFullPath( @@ -681,9 +681,20 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile( } } + std::string launcher; + { + const char* val = this->LocalGenerator->GetRuleLauncher( + this->GeneratorTarget, "RULE_LAUNCH_COMPILE"); + if (val && *val) { + launcher = val; + launcher += " "; + } + } + // Expand placeholders in the commands. for (std::vector<std::string>::iterator i = compileCommands.begin(); i != compileCommands.end(); ++i) { + *i = launcher + *i; rulePlaceholderExpander->ExpandRuleVariables(this->LocalGenerator, *i, vars); } @@ -748,6 +759,7 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile( // Expand placeholders in the commands. for (std::vector<std::string>::iterator i = preprocessCommands.begin(); i != preprocessCommands.end(); ++i) { + // no launcher for preprocessor commands rulePlaceholderExpander->ExpandRuleVariables(this->LocalGenerator, *i, vars); } @@ -796,6 +808,7 @@ void cmMakefileTargetGenerator::WriteObjectBuildFile( // Expand placeholders in the commands. for (std::vector<std::string>::iterator i = assemblyCommands.begin(); i != assemblyCommands.end(); ++i) { + // no launcher for assembly commands rulePlaceholderExpander->ExpandRuleVariables(this->LocalGenerator, *i, vars); } |