ENH: Added FileIsFullPath test method.
This commit is contained in:
parent
ee592e9b98
commit
0815091e26
|
@ -1900,6 +1900,39 @@ cmSystemTools::GetFilenameWithoutLastExtension(const std::string& filename)
|
|||
}
|
||||
}
|
||||
|
||||
bool cmSystemTools::FileIsFullPath(const char* in_name)
|
||||
{
|
||||
std::string name = in_name;
|
||||
#if defined(_WIN32)
|
||||
// On Windows, the name must be at least two characters long.
|
||||
if(name.length() < 2)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if(name[1] == ':')
|
||||
{
|
||||
return true;
|
||||
}
|
||||
if(name[0] == '\\')
|
||||
{
|
||||
return true;
|
||||
}
|
||||
#else
|
||||
// On UNIX, the name must be at least one character long.
|
||||
if(name.length() < 1)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
// On UNIX, the name must begin in a '/'.
|
||||
// On Windows, if the name begins in a '/', then it is a full
|
||||
// network path.
|
||||
if(name[0] == '/')
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void cmSystemTools::Glob(const char *directory, const char *regexp,
|
||||
std::vector<std::string>& files)
|
||||
|
|
|
@ -258,6 +258,9 @@ public:
|
|||
///! return file name without its last (shortest) extension.
|
||||
static std::string GetFilenameWithoutLastExtension(const std::string&);
|
||||
|
||||
/** Return whether the path represents a full path (not relative). */
|
||||
static bool FileIsFullPath(const char*);
|
||||
|
||||
static long int ModifiedTime(const char* filename);
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue