[Cmake-commits] CMake branch, next, updated. v3.7.1-1660-g147b8fd
Brad King
brad.king at kitware.com
Fri Dec 9 09:10:31 EST 2016
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 147b8fdfcacd3e56cc0703c560e2073cb60a3277 (commit)
via db61cd5d72f78aaf720f60f8e3a573fc36599bf9 (commit)
via b7771078ad1ade95a4ae310815be7971017e10e1 (commit)
via c58a5198e5eb8878ad111be2eafcfef75e94b54b (commit)
from f4a9406513d4c0f1bdc825325e3691ab83fc6b7b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=147b8fdfcacd3e56cc0703c560e2073cb60a3277
commit 147b8fdfcacd3e56cc0703c560e2073cb60a3277
Merge: f4a9406 db61cd5
Author: Brad King <brad.king at kitware.com>
AuthorDate: Fri Dec 9 09:10:29 2016 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Dec 9 09:10:29 2016 -0500
Merge topic 'fix-ctest-launchers' into next
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
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=db61cd5d72f78aaf720f60f8e3a573fc36599bf9
commit db61cd5d72f78aaf720f60f8e3a573fc36599bf9
Author: Brad King <brad.king at kitware.com>
AuthorDate: Fri Dec 9 08:57:26 2016 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Fri Dec 9 08:59:17 2016 -0500
cmRulePlaceholderExpander: Remove unused member RuleLauncher
diff --git a/Source/cmRulePlaceholderExpander.h b/Source/cmRulePlaceholderExpander.h
index 444419c..da59a6e 100644
--- a/Source/cmRulePlaceholderExpander.h
+++ b/Source/cmRulePlaceholderExpander.h
@@ -57,7 +57,6 @@ public:
const char* LanguageCompileFlags;
const char* Defines;
const char* Includes;
- const char* RuleLauncher;
const char* DependencyFile;
const char* FilterPrefix;
};
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b7771078ad1ade95a4ae310815be7971017e10e1
commit b7771078ad1ade95a4ae310815be7971017e10e1
Author: Brad King <brad.king at kitware.com>
AuthorDate: Fri Dec 9 08:54:10 2016 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Fri Dec 9 08:59:17 2016 -0500
Comment ExpandRuleVariables calls not preceded by launcher insertion
Call sites of `ExpandRuleVariables` are now responsible for inserting
the `RULE_LAUNCH_{COMPILE,LINK,CUSTOM}` values in rule command lines.
Audit all call sites and add a comment to each one that does not insert
a launcher to explain why.
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index e3cde5e..06bf2f5 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -606,6 +606,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(
@@ -741,6 +742,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);
}
@@ -789,6 +791,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);
}
diff --git a/Source/cmNinjaTargetGenerator.cxx b/Source/cmNinjaTargetGenerator.cxx
index 1ac6cd4..489f120 100644
--- a/Source/cmNinjaTargetGenerator.cxx
+++ b/Source/cmNinjaTargetGenerator.cxx
@@ -1015,6 +1015,7 @@ void cmNinjaTargetGenerator::ExportObjectCompileCommand(
for (std::vector<std::string>::iterator i = compileCmds.begin();
i != compileCmds.end(); ++i) {
+ // no launcher for CMAKE_EXPORT_COMPILE_COMMANDS
rulePlaceholderExpander->ExpandRuleVariables(this->GetLocalGenerator(), *i,
compileObjectVars);
}
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c58a5198e5eb8878ad111be2eafcfef75e94b54b
commit c58a5198e5eb8878ad111be2eafcfef75e94b54b
Author: Brad King <brad.king at kitware.com>
AuthorDate: Fri Dec 9 08:52:23 2016 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Fri Dec 9 08:59:17 2016 -0500
Makefile: Restore RULE_LAUNCH_COMPILE generation on compilation rules
Refactoring in commit 425cd167 (cmLocalGenerator: Remove the launcher
from RuleVariables, 2016-10-09) accidentally broke Makefile generator
handling of `RULE_LAUNCH_COMPILE`. Responsibility moved from
`ExpandRuleVariables` to its call sites, and the Makefile generator call
site for compilations was not properly updated. Fix it now.
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index cbfe850..e3cde5e 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -545,7 +545,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());
@@ -664,9 +663,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);
}
-----------------------------------------------------------------------
Summary of changes:
Source/cmMakefileTargetGenerator.cxx | 15 ++++++++++++++-
Source/cmNinjaTargetGenerator.cxx | 1 +
Source/cmRulePlaceholderExpander.h | 1 -
3 files changed, 15 insertions(+), 2 deletions(-)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list