69 void ResetMarkers(
void);
78 CString OneLineReport(
const size_t Index,
const bool Deps,
const bool XRefs);
79 size_t RecordsCount(
void)
const;
80 CString Name(
const size_t Index)
const;
81 size_t DirectDependenciesCount(
const size_t Index)
const;
82 size_t IndirectDependenciesCount(
const size_t Index);
83 size_t AllDependenciesCount(
const size_t Index);
84 CStringList DirectDependencies(
const size_t Index)
const;
85 CStringList IndirectDependencies(
const size_t Index);
87 size_t DirectCrossReferencesCount(
const size_t Index)
const;
88 size_t IndirectCrossReferencesCount(
const size_t Index);
89 size_t AllCrossReferencesCount(
const size_t Index);
90 CStringList DirectCrossReferences(
const size_t Index)
const;
91 CStringList IndirectCrossReferences(
const size_t Index);
93 bool AreDependenciesComplete(
const size_t Index);
94 bool AreCrossReferencesComplete(
const size_t Index);
95 void SetDependenciesComplete(
const size_t Index,
const bool State =
true);
96 void SetCrossReferencesComplete(
const size_t Index,
const bool State =
true);
97 int FindRecord(
const CString& Name);
98 size_t AddRecord(
const CString& Name);
101 void MakeRules(
CMakefile& Makefile,
const int Section,
const bool Multiline);
113 virtual void Clear(
void);
114 virtual void Show(
void);
118 void AddIncludeDirectory(
const CString& Path);
119 void AddIncludeDirectories(
const CStringList& Paths);
120 void AddMacroDefiniton(
const CString& Macro);
121 void AddMacroDefinitons(
const CStringList& Macros);
CDependencyRecord * Dependency(const size_t Index) const
Returns dependency record with number Index.
Definition: depsearch.cpp:90
std::vector< CDependencyRecord * > m_CrossReferences
List of units that depend on this unit.
Definition: depsearch.h:39
hash_t Hash(void) const
Returns string hash for the file name.
Definition: depsearch.h:46
Gathers build unit dependencies from C/C++ source files withing project into build unit dependency da...
Definition: depsearch.h:129
Dependency information for build units in a project.
Definition: depsearch.h:63
void Show(void)
Prints the build unit dependecy record contents to the standard output.
Definition: depsearch.cpp:54
std::vector< CDependencyRecord * > m_Dependencies
List of units that this unit depends on.
Definition: depsearch.h:38
bool m_CrossReferencesComplete
Indicates that the list of cross-references is fully gathered.
Definition: depsearch.h:41
CPlatform & Platform(void)
Platform/OS type, generally used for creating compatible file paths.
Definition: depsearch.h:75
Definition: stlstrings.h:98
void SetName(const CString &Name)
Changes the file name of the build unit.
Definition: depsearch.cpp:37
bool m_DependenciesComplete
Indicates that the list of dependencies is fully gathered.
Definition: depsearch.h:40
int & Marker(void)
Indicates that this unit was already walked through by a dependency unwinding process to avoid infini...
Definition: depsearch.h:55
size_t DependenciesCount(void) const
Returns the number of unit denpendencies.
Definition: depsearch.cpp:85
CStringList m_IncludeDirectories
a list of directories to look for build units.
Definition: depsearch.h:110
uint32_t hash_t
Type of hash function result.
Definition: stringhash.h:13
size_t CrossReferencesCount(void) const
Returns the number of cross references to this unit.
Definition: depsearch.cpp:108
Dependency record for a single build unit.
Definition: depsearch.h:33
Definition: stlstrings.h:32
CString GetName(void) const
Returns the file name of the build unit.
Definition: depsearch.h:44
CString m_Name
File name of the build unit.
Definition: depsearch.h:36
~CDependencyRecord(void)
Destroys dependency record.
Definition: depsearch.cpp:32
Non-cryptographic string hash functions.
Makefile definition.
Definition: makefile.h:99
void AddCrossReference(const CDependencyRecord *Record)
Adds new cross reference for this build unit.
Definition: depsearch.cpp:122
CStringList m_DefinedMacros
a list of preprocessor's macro defnitions.
Definition: depsearch.h:111
std::vector< CDependencyRecord * > m_Records
Database of build unit dependencies.
Definition: depsearch.h:67
void AddDependency(const CDependencyRecord *Record)
Adds new dependency for this build unit.
Definition: depsearch.cpp:99
bool & CrossReferencesComplete(void)
Indicates that the list of cross-references is fully gathered.
Definition: depsearch.h:54
CPlatform m_Platform
Platform/OS type, generally used for creating compatible file paths.
Definition: depsearch.h:66
Declares interface for gathering build unit dependencies from project files into build unit dependenc...
Definition: depsearch.h:107
CDependencyRecord * CrossReference(const size_t Index) const
Returns cross reference with number Index.
Definition: depsearch.cpp:113
bool & DependenciesComplete(void)
Indicates that the list of dependencies is fully gathered.
Definition: depsearch.h:53
hash_t m_Hash
String hash of the unit name CDependencyRecord::m_Name.
Definition: depsearch.h:37
CDependencyRecord(void)
Creates dependency record.
Definition: depsearch.cpp:27
int m_Marker
Indicates that this unit was already walked through by a dependency unwinding process to avoid infini...
Definition: depsearch.h:42
Object-based makefile generation.
void Clear(void)
Resets a dependency record to the initial state.
Definition: depsearch.cpp:43