From 590460aaaeec05751bf21c2f79250fcdffd2cfad Mon Sep 17 00:00:00 2001 From: Ken Martin Date: Thu, 19 Jun 2003 14:27:01 -0400 Subject: [PATCH] new function --- Source/cmSystemTools.cxx | 22 ++++++++++++++++++++++ Source/cmSystemTools.h | 5 +++++ 2 files changed, 27 insertions(+) diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 0ef39fd2c..b729333d1 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -1703,6 +1703,28 @@ bool cmSystemTools::FileIsDirectory(const char* name) } } +bool cmSystemTools::DoesFileExistWithExtensions( + const char* name, + const std::vector& headerExts) +{ + std::string hname; + + for( std::vector::const_iterator ext = headerExts.begin(); + ext != headerExts.end(); ++ext ) + { + hname = name; + hname += "."; + hname += *ext; + if(cmSystemTools::FileExists(hname.c_str())) + { + return true; + } + } + return false; +} + + + int cmSystemTools::ChangeDirectory(const char *dir) { return Chdir(dir); diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h index 8317e646d..51d9c41b9 100644 --- a/Source/cmSystemTools.h +++ b/Source/cmSystemTools.h @@ -244,6 +244,11 @@ public: ///! return true if the file is a directory. static bool FileIsDirectory(const char* name); + + static bool DoesFileExistWithExtensions( + const char *name, + const std::vector& sourceExts); + static void Glob(const char *directory, const char *regexp, std::vector& files); static void GlobDirs(const char *fullPath, std::vector& files);