Exclude targets from the graphviz file based on a regex
This commit adds support for a GRAPHVIZ_TARGET_IGNORE_REGEX variable which can be set() in CMakeGraphVizOptions.cmake. Targets matching this regex will be skipped when generating the graphviz graphs. Alex
This commit is contained in:
parent
5ea1e4cb36
commit
78c86f4542
@ -117,6 +117,17 @@ void cmGraphVizWriter::ReadSettings(const char* settingsFileName,
|
|||||||
__set_bool_if_set(this->GenerateForSharedLibs, "GRAPHVIZ_SHARED_LIBS");
|
__set_bool_if_set(this->GenerateForSharedLibs, "GRAPHVIZ_SHARED_LIBS");
|
||||||
__set_bool_if_set(this->GenerateForModuleLibs , "GRAPHVIZ_MODULE_LIBS");
|
__set_bool_if_set(this->GenerateForModuleLibs , "GRAPHVIZ_MODULE_LIBS");
|
||||||
|
|
||||||
|
cmStdString tmpRegexString;
|
||||||
|
__set_if_set(tmpRegexString, "GRAPHVIZ_TARGET_IGNORE_REGEX");
|
||||||
|
if (tmpRegexString.size() > 0)
|
||||||
|
{
|
||||||
|
if (!this->TargetIgnoreRegex.compile(tmpRegexString.c_str()))
|
||||||
|
{
|
||||||
|
std::cerr << "Could not compile bad regex \"" << tmpRegexString << "\""
|
||||||
|
<< std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
this->TargetsToIgnore.clear();
|
this->TargetsToIgnore.clear();
|
||||||
const char* ignoreTargets = mf->GetDefinition("GRAPHVIZ_IGNORE_TARGETS");
|
const char* ignoreTargets = mf->GetDefinition("GRAPHVIZ_IGNORE_TARGETS");
|
||||||
if ( ignoreTargets )
|
if ( ignoreTargets )
|
||||||
@ -391,8 +402,15 @@ int cmGraphVizWriter::CollectAllExternalLibs(int cnt)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool cmGraphVizWriter::IgnoreThisTarget(const char* name) const
|
bool cmGraphVizWriter::IgnoreThisTarget(const char* name)
|
||||||
{
|
{
|
||||||
|
if (this->TargetIgnoreRegex.is_valid())
|
||||||
|
{
|
||||||
|
if (this->TargetIgnoreRegex.find(name))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
return (this->TargetsToIgnore.find(name) != this->TargetsToIgnore.end());
|
return (this->TargetsToIgnore.find(name) != this->TargetsToIgnore.end());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -54,7 +54,7 @@ protected:
|
|||||||
|
|
||||||
void WriteFooter(cmGeneratedFileStream& str) const;
|
void WriteFooter(cmGeneratedFileStream& str) const;
|
||||||
|
|
||||||
bool IgnoreThisTarget(const char* name) const;
|
bool IgnoreThisTarget(const char* name);
|
||||||
|
|
||||||
bool GenerateForTargetType(cmTarget::TargetType targetType) const;
|
bool GenerateForTargetType(cmTarget::TargetType targetType) const;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user