summaryrefslogtreecommitdiffstats
path: root/Source/cmMakefileTargetGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-06-03 13:55:28 (GMT)
committerBrad King <brad.king@kitware.com>2008-06-03 13:55:28 (GMT)
commite79b73d61f7523cf6ce4d989995ede808da212df (patch)
tree8bdccfa15bb84fe1e000ddc0915dc4dcbd85b29e /Source/cmMakefileTargetGenerator.cxx
parent4d5116c8a21c8fdaab13058dc039625bdab3d20d (diff)
downloadCMake-e79b73d61f7523cf6ce4d989995ede808da212df.zip
CMake-e79b73d61f7523cf6ce4d989995ede808da212df.tar.gz
CMake-e79b73d61f7523cf6ce4d989995ede808da212df.tar.bz2
BUG: Include less content as input to "rule hash" computation.
- The rule hash should use only commands specified by the user. - No make output (echo and progress) rules should be included. - No outputs or dependencies need be included. The native build tool will take care of them.
Diffstat (limited to 'Source/cmMakefileTargetGenerator.cxx')
-rw-r--r--Source/cmMakefileTargetGenerator.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/Source/cmMakefileTargetGenerator.cxx b/Source/cmMakefileTargetGenerator.cxx
index ea0d9b8..7d2450d 100644
--- a/Source/cmMakefileTargetGenerator.cxx
+++ b/Source/cmMakefileTargetGenerator.cxx
@@ -1116,6 +1116,10 @@ void cmMakefileTargetGenerator
->AppendEcho(commands, comment.c_str(),
cmLocalUnixMakefileGenerator3::EchoGenerate);
}
+ // Below we need to skip over the echo and progress commands.
+ unsigned int skip = static_cast<unsigned int>(commands.size());
+
+ // Now append the actual user-specified commands.
this->LocalGenerator->AppendCustomCommand(commands, cc);
// Collect the dependencies.
@@ -1144,7 +1148,9 @@ void cmMakefileTargetGenerator
// If the rule has changed make sure the output is rebuilt.
if(!symbolic)
{
- this->GlobalGenerator->AddRuleHash(cc.GetOutputs(), depends, commands);
+ this->GlobalGenerator->AddRuleHash(cc.GetOutputs(),
+ commands.begin()+skip,
+ commands.end());
}
}