graphviz: allow to disable per target graphs (#14746)
In CMakeGraphVizOptions.cmake, allow the options GRAPHVIZ_GENERATE_PER_TARGET and GRAPHVIZ_GENERATE_DEPENDERS to enable the generation of per target graphs and subgraphs respectively. Both options are TRUE per default to maintain current behavior.
This commit is contained in:
parent
6abdc6c16a
commit
18bef4cd66
|
@ -93,6 +93,20 @@
|
|||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : empty
|
||||
#
|
||||
# .. variable:: GRAPHVIZ_GENERATE_PER_TARGET
|
||||
#
|
||||
# Set this to FALSE to exclude per target graphs ``foo.dot.<target>``.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : TRUE
|
||||
#
|
||||
# .. variable:: GRAPHVIZ_GENERATE_DEPENDERS
|
||||
#
|
||||
# Set this to FALSE to exclude depender graphs ``foo.dot.<target>.dependers``.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : TRUE
|
||||
|
||||
#=============================================================================
|
||||
# Copyright 2007-2009 Kitware, Inc.
|
||||
|
|
|
@ -53,6 +53,8 @@ cmGraphVizWriter::cmGraphVizWriter(const std::vector<cmLocalGenerator*>&
|
|||
,GenerateForSharedLibs(true)
|
||||
,GenerateForModuleLibs(true)
|
||||
,GenerateForExternals(true)
|
||||
,GeneratePerTarget(true)
|
||||
,GenerateDependers(true)
|
||||
,LocalGenerators(localGenerators)
|
||||
,HaveTargetsAndLibs(false)
|
||||
{
|
||||
|
@ -116,6 +118,8 @@ void cmGraphVizWriter::ReadSettings(const char* settingsFileName,
|
|||
__set_bool_if_set(this->GenerateForSharedLibs, "GRAPHVIZ_SHARED_LIBS");
|
||||
__set_bool_if_set(this->GenerateForModuleLibs, "GRAPHVIZ_MODULE_LIBS");
|
||||
__set_bool_if_set(this->GenerateForExternals, "GRAPHVIZ_EXTERNAL_LIBS");
|
||||
__set_bool_if_set(this->GeneratePerTarget, "GRAPHVIZ_GENERATE_PER_TARGET");
|
||||
__set_bool_if_set(this->GenerateDependers, "GRAPHVIZ_GENERATE_DEPENDERS");
|
||||
|
||||
cmStdString ignoreTargetsRegexes;
|
||||
__set_if_set(ignoreTargetsRegexes, "GRAPHVIZ_IGNORE_TARGETS");
|
||||
|
@ -149,6 +153,11 @@ void cmGraphVizWriter::ReadSettings(const char* settingsFileName,
|
|||
// which other targets depend on it.
|
||||
void cmGraphVizWriter::WriteTargetDependersFiles(const char* fileName)
|
||||
{
|
||||
if(this->GenerateDependers == false)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
this->CollectTargetsAndLibs();
|
||||
|
||||
for(std::map<cmStdString, const cmTarget*>::const_iterator ptrIt =
|
||||
|
@ -195,6 +204,11 @@ void cmGraphVizWriter::WriteTargetDependersFiles(const char* fileName)
|
|||
// on which targets it depends.
|
||||
void cmGraphVizWriter::WritePerTargetFiles(const char* fileName)
|
||||
{
|
||||
if(this->GeneratePerTarget == false)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
this->CollectTargetsAndLibs();
|
||||
|
||||
for(std::map<cmStdString, const cmTarget*>::const_iterator ptrIt =
|
||||
|
|
|
@ -74,6 +74,8 @@ protected:
|
|||
bool GenerateForSharedLibs;
|
||||
bool GenerateForModuleLibs;
|
||||
bool GenerateForExternals;
|
||||
bool GeneratePerTarget;
|
||||
bool GenerateDependers;
|
||||
|
||||
std::vector<cmsys::RegularExpression> TargetsToIgnoreRegex;
|
||||
|
||||
|
|
Loading…
Reference in New Issue