From 5698ad2047002529ff095fb9be2eb5c1d2f7a485 Mon Sep 17 00:00:00 2001 From: Alex Neundorf Date: Sat, 5 Feb 2011 18:43:34 +0100 Subject: Make it possible to exlude external libs from dot files Patch from Christian Ehrlicher. By setting GRAPHVIZ_EXTERNAL_LIBS to TRUE in CMakeGraphVizOptions.cmake you can now exclude external libraries from the produced dot file. I.e. then you see only the dependencies within your project. Alex --- Source/cmGraphVizWriter.cxx | 9 +++++++-- Source/cmGraphVizWriter.h | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Source/cmGraphVizWriter.cxx b/Source/cmGraphVizWriter.cxx index de95aa5..5a08ca6 100644 --- a/Source/cmGraphVizWriter.cxx +++ b/Source/cmGraphVizWriter.cxx @@ -54,6 +54,7 @@ cmGraphVizWriter::cmGraphVizWriter(const std::vector& ,GenerateForStaticLibs(true) ,GenerateForSharedLibs(true) ,GenerateForModuleLibs(true) +,GenerateForExternals(true) ,LocalGenerators(localGenerators) ,HaveTargetsAndLibs(false) { @@ -115,7 +116,8 @@ void cmGraphVizWriter::ReadSettings(const char* settingsFileName, __set_bool_if_set(this->GenerateForExecutables, "GRAPHVIZ_EXECUTABLES"); __set_bool_if_set(this->GenerateForStaticLibs, "GRAPHVIZ_STATIC_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"); + __set_bool_if_set(this->GenerateForExternals, "GRAPHVIZ_EXTERNAL_LIBS"); cmStdString tmpRegexString; __set_if_set(tmpRegexString, "GRAPHVIZ_TARGET_IGNORE_REGEX"); @@ -321,7 +323,10 @@ void cmGraphVizWriter::CollectTargetsAndLibs() { this->HaveTargetsAndLibs = true; int cnt = this->CollectAllTargets(); - this->CollectAllExternalLibs(cnt); + if (this->GenerateForExternals) + { + this->CollectAllExternalLibs(cnt); + } } } diff --git a/Source/cmGraphVizWriter.h b/Source/cmGraphVizWriter.h index 105eb96..cfe4e36 100644 --- a/Source/cmGraphVizWriter.h +++ b/Source/cmGraphVizWriter.h @@ -67,6 +67,7 @@ protected: bool GenerateForStaticLibs; bool GenerateForSharedLibs; bool GenerateForModuleLibs; + bool GenerateForExternals; cmsys::RegularExpression TargetIgnoreRegex; -- cgit v0.12