summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmOptionCommand.cxx7
1 files changed, 4 insertions, 3 deletions
diff --git a/Source/cmOptionCommand.cxx b/Source/cmOptionCommand.cxx
index db3c007..3e167de 100644
--- a/Source/cmOptionCommand.cxx
+++ b/Source/cmOptionCommand.cxx
@@ -55,13 +55,14 @@ bool cmOptionCommand::InitialPass(std::vector<std::string>& args)
= m_Makefile->GetDefinition(args[0].c_str());
if(!cacheValue)
{
- const char* initialValue = "Off";
+ std::string initialValue = "Off";
if(args.size() == 3)
{
- initialValue = args[2].c_str();
+ initialValue = args[2];
+ m_Makefile->ExpandVariablesInString(initialValue);
}
m_Makefile->AddCacheDefinition(args[0].c_str(),
- cmSystemTools::IsOn(initialValue),
+ cmSystemTools::IsOn(initialValue.c_str()),
args[1].c_str());
}
else