summaryrefslogtreecommitdiffstats
path: root/Source/cmGlobalGenerator.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/cmGlobalGenerator.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/cmGlobalGenerator.cxx')
-rw-r--r--Source/cmGlobalGenerator.cxx21
1 files changed, 3 insertions, 18 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index b971298..f34888f 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -1943,8 +1943,8 @@ cmGlobalGenerator::GetDirectoryContent(std::string const& dir, bool needDisk)
//----------------------------------------------------------------------------
void
cmGlobalGenerator::AddRuleHash(const std::vector<std::string>& outputs,
- const std::vector<std::string>& depends,
- const std::vector<std::string>& commands)
+ std::vector<std::string>::const_iterator first,
+ std::vector<std::string>::const_iterator last)
{
#if defined(CMAKE_BUILD_WITH_CMAKE)
// Ignore if there are no outputs.
@@ -1960,22 +1960,7 @@ cmGlobalGenerator::AddRuleHash(const std::vector<std::string>& outputs,
int length;
cmsysMD5* sum = cmsysMD5_New();
cmsysMD5_Initialize(sum);
- for(std::vector<std::string>::const_iterator i = outputs.begin();
- i != outputs.end(); ++i)
- {
- data = reinterpret_cast<unsigned char const*>(i->c_str());
- length = static_cast<int>(i->length());
- cmsysMD5_Append(sum, data, length);
- }
- for(std::vector<std::string>::const_iterator i = depends.begin();
- i != depends.end(); ++i)
- {
- data = reinterpret_cast<unsigned char const*>(i->c_str());
- length = static_cast<int>(i->length());
- cmsysMD5_Append(sum, data, length);
- }
- for(std::vector<std::string>::const_iterator i = commands.begin();
- i != commands.end(); ++i)
+ for(std::vector<std::string>::const_iterator i = first; i != last; ++i)
{
data = reinterpret_cast<unsigned char const*>(i->c_str());
length = static_cast<int>(i->length());