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