summaryrefslogtreecommitdiff
path: root/Source/cmSystemTools.h
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2000-09-12 05:30:35 -0400
committerBill Hoffman <bill.hoffman@kitware.com>2000-09-12 05:30:35 -0400
commitaa3ca2b432ab346c28ea7c758cbbf57ca346e139 (patch)
treedec236eb51e746ae123edb3e9c01a5595381e12f /Source/cmSystemTools.h
parente2ad65d3c27177b8f3ee3c9b81382ea883a3bfbd (diff)
downloadcmake-aa3ca2b432ab346c28ea7c758cbbf57ca346e139.tar.gz
ENH: CMake and configure now use SUBDIRS in CMakeLists.txt to find all the directories of the system.
Diffstat (limited to 'Source/cmSystemTools.h')
-rw-r--r--Source/cmSystemTools.h39
1 files changed, 36 insertions, 3 deletions
diff --git a/Source/cmSystemTools.h b/Source/cmSystemTools.h
index a7b00f711b..d4745f48de 100644
--- a/Source/cmSystemTools.h
+++ b/Source/cmSystemTools.h
@@ -14,23 +14,56 @@
=========================================================================*/
/**
- * cmWindowsTools
+ * cmSystemTools - a collection of useful functions for CMake.
*/
-#ifndef cmWindowsTools_h
-#define cmWindowsTools_h
+#ifndef cmSystemTools_h
+#define cmSystemTools_h
#ifdef _MSC_VER
#pragma warning ( disable : 4786 )
#endif
#include <string>
+#include <vector>
+#include <fstream>
class cmSystemTools
{
public:
+ /**
+ * Make a new directory if it is not there. This function
+ * can make a full path even if none of the directories existed
+ * prior to calling this function.
+ */
static bool MakeDirectory(const char* path);
+ /**
+ * Replace replace all occurances of the string in in
+ * souce string.
+ */
static void ReplaceString(std::string& source,
const char* replace,
const char* with);
+ /**
+ * Remove extra spaces and the trailing \ from a string.
+ */
+ static std::string CleanUpName(const char* name);
+ /**
+ * Replace windows slashes with unix style slashes
+ */
+ static void ConvertToUnixSlashes(std::string& path);
+
+ /**
+ * Return true if a file exists
+ */
+ static bool FileExists(const char* filename);
+ /**
+ * Read a list from a file into the array of strings.
+ * This function assumes that the first line of the
+ * list has been read. For example: NAME = \ was already
+ * read in. The reading stops when there are no more
+ * continuation characters.
+ */
+ static void ReadList(std::vector<std::string>& stringList,
+ std::ifstream& fin);
};