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

View File

@ -14,6 +14,13 @@
PURPOSE. See the above copyright notices for more information. 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 "cmake.h"
#include "cmCacheManager.h" #include "cmCacheManager.h"
#include "cmListFileCache.h" #include "cmListFileCache.h"
@ -24,9 +31,6 @@
#include "cmMakefile.h" #include "cmMakefile.h"
#ifdef CMAKE_BUILD_WITH_CMAKE #ifdef CMAKE_BUILD_WITH_CMAKE
#include "cmDynamicLoader.h"
#include "cmDocumentation.h"
//---------------------------------------------------------------------------- //----------------------------------------------------------------------------
static const cmDocumentationEntry cmDocumentationName[] = static const cmDocumentationEntry cmDocumentationName[] =
{ {