From 7a409fd573721ae4346bee682d80fb285ab98497 Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 11 Sep 2009 10:03:59 -0400 Subject: Fix option() interpretation of non-boolean values The commit "Remove barely-used cmMakefile::AddCacheDefinition" broke option() calls that pass a non-boolean default value. We restore the old behavior by always coercing the value to 'ON' or 'OFF'. --- Source/cmOptionCommand.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/cmOptionCommand.cxx b/Source/cmOptionCommand.cxx index 5bd66a5..b4e57a1 100644 --- a/Source/cmOptionCommand.cxx +++ b/Source/cmOptionCommand.cxx @@ -70,7 +70,8 @@ bool cmOptionCommand { initialValue = args[2]; } - this->Makefile->AddCacheDefinition(args[0].c_str(), initialValue.c_str(), + bool init = cmSystemTools::IsOn(initialValue.c_str()); + this->Makefile->AddCacheDefinition(args[0].c_str(), init? "ON":"OFF", args[1].c_str(), cmCacheManager::BOOL); return true; } -- cgit v0.12