Browse Source

ENH: On VMS use _dir and _tmp, not .dir and .tmp

The VMS posix path emulation does not handle multiple '.' characters in
file names in all cases.  This avoids adding extra '.'s to file and
directory names for target directories and generated files.
Brad King 16 years ago
parent
commit
516add4d58

+ 4 - 0
Source/cmGeneratedFileStream.cxx

@@ -150,7 +150,11 @@ void cmGeneratedFileStreamBase::Open(const char* name)
 
   // Create the name of the temporary file.
   this->TempName = name;
+#if defined(__VMS)
+  this->TempName += "_tmp";
+#else
   this->TempName += ".tmp";
+#endif
 
   // Make sure the temporary file that will be used is not present.
   cmSystemTools::RemoveFile(this->TempName.c_str());

+ 4 - 0
Source/cmLocalUnixMakefileGenerator3.cxx

@@ -2158,7 +2158,11 @@ cmLocalUnixMakefileGenerator3
 {
   std::string dir = cmake::GetCMakeFilesDirectoryPostSlash();
   dir += target.GetName();
+#if defined(__VMS)
+  dir += "_dir";
+#else
   dir += ".dir";
+#endif
   return dir;
 }
 

+ 4 - 0
Source/cmTarget.cxx

@@ -930,7 +930,11 @@ std::string cmTarget::GetSupportDirectory() const
   dir += cmake::GetCMakeFilesDirectory();
   dir += "/";
   dir += this->Name;
+#if defined(__VMS)
+  dir += "_dir";
+#else
   dir += ".dir";
+#endif
   return dir;
 }