From ab10b43ec5405452e149c70c1685066f205941e8 Mon Sep 17 00:00:00 2001 From: Alexander Neundorf Date: Wed, 11 Jul 2007 15:50:32 -0400 Subject: [PATCH] ENH: change the way #cmakedefine is changed to #undef, so it is similar to what autoconf does. This makes porting software from autoconf to cmake easier, since it's easier to diff the resulting config headers. Now the following #cmakedefine HAVE_STRING_H 1 #cmakedefine HAVE_STRLCAT 1 produce: #define HAVE_STRING_H 1 /* #undef HAVE_STRLCAT */ whereas before they produced: #define HAVE_STRING_H 1 /* #undef HAVE_STRLCAT 1 */ Since it's commented out anyway, it's now change in behaviour. Alex --- Source/cmMakefile.cxx | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index fae8ad914..86d0e2eee 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -2379,9 +2379,8 @@ void cmMakefile::ConfigureString(const std::string& input, } else { - cmSystemTools::ReplaceString(line, "#cmakedefine", "#undef"); - output += "/* "; - output += line; + output += "/* #undef "; + output += this->cmDefineRegex.match(1); output += " */"; } }