From 5d64c0e2f39730bb5decd86a483a5b0823a67958 Mon Sep 17 00:00:00 2001 From: Adrian Negreanu Date: Thu, 6 Mar 2014 22:22:31 +0200 Subject: config.l: dependency checks for booleans Disable the boolean option that has its dependency disabled. This fixes the case where GENERATE_TREE_VIEW is set to TRUE even when its dependency GENERATE_HTML is FALSE. Signed-off-by: Adrian Negreanu --- src/config.l | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/config.l b/src/config.l index 377d6e4..5d51acb 100644 --- a/src/config.l +++ b/src/config.l @@ -1590,6 +1590,25 @@ void Config::check() } checkFileName("GENERATE_TAGFILE"); + + // sanity check if all depends relations are valid + QListIterator it = iterator(); + ConfigOption *option; + for (it.toFirst();(option=it.current());++it) + { + QCString depName = option->dependsOn(); + if (!depName.isEmpty()) + { + ConfigOption * dep = Config::instance()->get(depName); + if (dep->kind()==ConfigOption::O_Bool + && Config_getBool(depName)==FALSE) + { + msg("disabling %s since its dependency(%s) is also disabled\n",option->name().data(),depName.data()); + if (option->kind()==ConfigOption::O_Bool) + Config_getBool(option->name())=FALSE; + } + } + } } void Config::init() -- cgit v0.12