From 6f1a0440184e040c7ed0d21cd8e5f46b6177df3e Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 23 Jul 2003 15:45:53 -0400 Subject: [PATCH] ENH: Added backwards compatability. --- Source/cmSourceGroupCommand.cxx | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Source/cmSourceGroupCommand.cxx b/Source/cmSourceGroupCommand.cxx index 621b56455..e8639464b 100644 --- a/Source/cmSourceGroupCommand.cxx +++ b/Source/cmSourceGroupCommand.cxx @@ -24,7 +24,7 @@ bool cmSourceGroupCommand::InitialPass(std::vector const& args) this->SetError("called with incorrect number of arguments"); return false; } - + // Get the source group with the given name. cmSourceGroup* sg = m_Makefile->GetSourceGroup(args[0].c_str()); if(!sg) @@ -33,6 +33,26 @@ bool cmSourceGroupCommand::InitialPass(std::vector const& args) sg = m_Makefile->GetSourceGroup(args[0].c_str()); } + // If only two arguments are given, the pre-1.8 version of the + // command is being invoked. + if(args.size() == 2 && args[1] != "FILES") + { + const char* versionValue = + m_Makefile->GetDefinition("CMAKE_BACKWARDS_COMPATIBILITY"); + if(atof(versionValue) > 1.6) + { + this->SetError("no longer accepts a two-argument form. Use the " + "REGULAR_EXPRESSION argument form instead, or set " + "CMAKE_BACKWARDS_COMPATIBILITY to 1.6 or less.\n"); + return false; + } + else + { + sg->SetGroupRegex(args[1].c_str()); + return true; + } + } + // Process arguments. bool doingFiles = false; for(unsigned int i=1; i < args.size(); ++i)