summaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2008-01-24 19:41:18 (GMT)
committerBrad King <brad.king@kitware.com>2008-01-24 19:41:18 (GMT)
commit1dec54489afdaf418175d3a86b6e0edca349fb3b (patch)
tree73de1b507896285ba103cbbda4e2dab8c705aab3 /Source
parent02b1767e429ed986a851a7238dbca0e306ff1c5f (diff)
downloadCMake-1dec54489afdaf418175d3a86b6e0edca349fb3b.zip
CMake-1dec54489afdaf418175d3a86b6e0edca349fb3b.tar.gz
CMake-1dec54489afdaf418175d3a86b6e0edca349fb3b.tar.bz2
ENH: Add cmSystemTools::ComputeStringMD5 method.
Diffstat (limited to 'Source')
-rw-r--r--Source/cmSystemTools.cxx11
-rw-r--r--Source/cmSystemTools.h3
2 files changed, 14 insertions, 0 deletions
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index b489c48..89961da 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -1129,6 +1129,17 @@ bool cmSystemTools::ComputeFileMD5(const char* source, char* md5out)
#endif
}
+std::string cmSystemTools::ComputeStringMD5(const char* input)
+{
+ char md5out[32];
+ cmsysMD5* md5 = cmsysMD5_New();
+ cmsysMD5_Initialize(md5);
+ cmsysMD5_Append(md5, reinterpret_cast<unsigned char const*>(input), -1);
+ cmsysMD5_FinalizeHex(md5, md5out);
+ cmsysMD5_Delete(md5);
+ return std::string(md5out, 32);
+}
+
void cmSystemTools::Glob(const char *directory, const char *regexp,
std::vector<std::string>& files)
{
diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h
index fcfbafd..3bf22f7 100644
--- a/Source/cmSystemTools.h
+++ b/Source/cmSystemTools.h
@@ -168,6 +168,9 @@ public:
///! Compute the md5sum of a file
static bool ComputeFileMD5(const char* source, char* md5out);
+ /** Compute the md5sum of a string. */
+ static std::string ComputeStringMD5(const char* input);
+
/**
* Run an executable command and put the stdout in output.
* A temporary file is created in the binaryDir for storing the