From c9cc368a9db33273ad6287ea94fc285e90c4901f Mon Sep 17 00:00:00 2001 From: Ken Martin Date: Mon, 13 Jun 2005 09:33:38 -0400 Subject: [PATCH] ENH: made configure file immediate by default for 2.2 or later --- Source/cmConfigureFileCommand.cxx | 12 ++++++++++++ Source/cmConfigureFileCommand.h | 8 +++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/Source/cmConfigureFileCommand.cxx b/Source/cmConfigureFileCommand.cxx index fa7d52d81..e4e1fcb43 100644 --- a/Source/cmConfigureFileCommand.cxx +++ b/Source/cmConfigureFileCommand.cxx @@ -30,7 +30,19 @@ bool cmConfigureFileCommand::InitialPass(std::vector const& args) m_OuputFile = args[1]; m_CopyOnly = false; m_EscapeQuotes = false; + + + // for CMake 2.0 and earlier CONFIGURE_FILE defaults to the FinalPass, + // after 2.0 it only does InitialPass m_Immediate = false; + const char* versionValue + = m_Makefile->GetRequiredDefinition("CMAKE_BACKWARDS_COMPATIBILITY"); + if (atof(versionValue) > 2.0) + { + m_Immediate = true; + } + + m_AtOnly = false; for(unsigned int i=2;i < args.size();++i) { diff --git a/Source/cmConfigureFileCommand.h b/Source/cmConfigureFileCommand.h index 2ae80401e..f857c8673 100644 --- a/Source/cmConfigureFileCommand.h +++ b/Source/cmConfigureFileCommand.h @@ -58,8 +58,7 @@ public: { return " CONFIGURE_FILE(InputFile OutputFile\n" - " [COPYONLY] [ESCAPE_QUOTES]\n" - " [IMMEDIATE] [@ONLY])\n" + " [COPYONLY] [ESCAPE_QUOTES] [@ONLY])\n" "The Input and Ouput files have to have full paths. " "This command replaces any variables in the input file referenced as " "${VAR} or @VAR@ with their values as determined by CMake. If a " @@ -67,9 +66,8 @@ public: "If COPYONLY is specified, then then no variable expansion will take " "place. If ESCAPE_QUOTES is specified in then any substitued quotes " "will be C-style escaped. " - "If IMMEDIATE is specified, then the file will be configured with " - "the current values of CMake variables instead of waiting until the " - "end of CMakeLists processing. If @ONLY is specified, only variables " + "The file will be configured with the current values of CMake " + "variables. If @ONLY is specified, only variables " "of the form @VAR@ will be replaces and ${VAR} will be ignored. " "This is useful for configuring tcl scripts that use ${VAR}."; }