COMP: fix build on Windows, where GetCurrentDirecty() is redefined to

GetCurrentDirectoryA()
-correct return value for md5sum

Alex
This commit is contained in:
Alexander Neundorf 2007-07-17 12:01:39 -04:00
parent a4429ad30a
commit b56815a4e9
2 changed files with 11 additions and 4 deletions

View File

@ -1063,6 +1063,7 @@ int cmake::ExecuteCMakeCommand(std::vector<std::string>& args)
else if (args[1] == "md5sum" && args.size() >= 3)
{
char md5out[32];
int retval = 0;
for (std::string::size_type cc = 2; cc < args.size(); cc ++)
{
const char *filename = args[cc].c_str();
@ -1070,18 +1071,20 @@ int cmake::ExecuteCMakeCommand(std::vector<std::string>& args)
if(cmSystemTools::FileIsDirectory(filename))
{
std::cerr << "Error: " << filename << " is a directory" << std::endl;
retval++;
}
else if(!cmSystemTools::ComputeFileMD5(filename, md5out))
{
// To mimic md5sum behavior in a shell:
std::cerr << filename << ": No such file or directory" << std::endl;
retval++;
}
else
{
std::cout << std::string(md5out,32) << " " << filename << std::endl;
}
}
return 1;
return retval;
}
// Command to change directory and run a program.

View File

@ -14,6 +14,13 @@
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
// include these first, otherwise there will be problems on Windows
// with GetCurrentDirectory() being redefined
#ifdef CMAKE_BUILD_WITH_CMAKE
#include "cmDynamicLoader.h"
#include "cmDocumentation.h"
#endif
#include "cmake.h"
#include "cmCacheManager.h"
#include "cmListFileCache.h"
@ -24,9 +31,6 @@
#include "cmMakefile.h"
#ifdef CMAKE_BUILD_WITH_CMAKE
#include "cmDynamicLoader.h"
#include "cmDocumentation.h"
//----------------------------------------------------------------------------
static const cmDocumentationEntry cmDocumentationName[] =
{