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.
This commit is contained in:
Brad King 2009-06-10 13:03:11 -04:00
parent fc537f05ba
commit 516add4d58
3 changed files with 12 additions and 0 deletions

View File

@ -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());

View File

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

View File

@ -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;
}