summaryrefslogtreecommitdiffstats
path: root/Source/cmMakeDepend.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmMakeDepend.h')
-rw-r--r--Source/cmMakeDepend.h84
1 files changed, 59 insertions, 25 deletions
diff --git a/Source/cmMakeDepend.h b/Source/cmMakeDepend.h
index e383910..041fc18 100644
--- a/Source/cmMakeDepend.h
+++ b/Source/cmMakeDepend.h
@@ -13,9 +13,6 @@
See COPYRIGHT.txt for copyright details.
=========================================================================*/
-/**
- * cmMakeDepend
- */
#ifndef cmMakeDepend_h
#define cmMakeDepend_h
@@ -24,39 +21,59 @@
#include "cmRegularExpression.h"
#include "cmStandardIncludes.h"
-
-// This structure stores the depend information
-// for a single source file
+/** \class cmDependInformation
+ * \brief Store dependency information for a single source file.
+ *
+ * This structure stores the depend information for a single source file.
+ */
struct cmDependInformation
{
+ /**
+ * Construct with dependency generation marked not done; instance
+ * not placed in cmMakefile's list.
+ */
cmDependInformation()
{
- m_DependDone = false;
- m_ClassFileIndex = -1;
+ m_DependDone = false;
+ m_ClassFileIndex = -1;
}
-// index into m_DependInformation array of cmMakeDepend
-// class, represents the files that this file depends on
+
+ /**
+ * A list of indices into the m_DependInformation array of cmMakeDepend.
+ * The index represents the files that this file depends on.
+ */
std::vector<int> m_Indices;
-// full path to file
+ /**
+ * Full path to this file.
+ */
std::string m_FullPath;
-// name as include directive uses
+ /**
+ * Name that the include directive uses.
+ */
std::string m_IncludeName;
-// refers back to the index of the cmMakefile's array
-// of cmClassFile objects which this class class describes,
-// -1 for files not in the array
+ /**
+ * The index into the cmMakefile::m_Classes list.
+ * The index value of -1 indicates that it is not in the list.
+ */
int m_ClassFileIndex;
-// flag to determine if depends have
-// been done for this file
+ /**
+ * This flag indicates whether dependency checking has been
+ * performed for this file.
+ */
bool m_DependDone;
-// function to add the depends of another file to this one
+ /**
+ * This method adds the dependencies of another file to this one.
+ */
void MergeInfo(cmDependInformation*);
-// remove duplicate depends from the index list
+ /**
+ * This method removes duplicate depends from the index list.
+ */
void RemoveDuplicateIndices();
};
@@ -66,43 +83,60 @@ struct cmDependInformation
class cmMakeDepend
{
public:
+ /**
+ * Construct the object with verbose turned off.
+ */
cmMakeDepend();
+
+ /**
+ * Destructor.
+ */
~cmMakeDepend();
/**
* Set the makefile that is used as a source of classes.
*/
void SetMakefile(cmMakefile* makefile);
+
/**
* Generate the depend information
*/
void DoDepends();
+
/**
* Set a regular expression that include files must match
- * in order to be considered as part of the depend information
+ * in order to be considered as part of the depend information.
*/
void SetIncludeRegularExpression(const char* regex);
+
/**
- * Add a directory to the search path for include files
+ * Add a directory to the search path for include files.
*/
void AddSearchPath(const char*);
+
private:
+ /**
+ * Add a source file to the search path.
+ */
void AddFileToSearchPath(const char* filepath);
+
/**
* Find the index into the m_DependInformation array
- * that matches the given m_IncludeName
+ * that matches the given m_IncludeName.
*/
int FindInformation(const char* includeName);
+
/**
- * Compute the depend information for this class
+ * Compute the depend information for this class.
*/
void Depend(cmDependInformation* info);
+
/**
* Find the full path name for the given file name.
- * This uses the include directories
+ * This uses the include directories.
*/
std::string FullPath(const char*);
-private:
+
cmMakefile* m_Makefile;
bool m_Verbose;
cmRegularExpression m_IncludeFileRegularExpression;