[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