diff options
Diffstat (limited to 'Source/cmMakeDepend.h')
-rw-r--r-- | Source/cmMakeDepend.h | 84 |
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; |