Bläddra i källkod

ENH: made configure file immediate by default for 2.2 or later

Ken Martin 20 år sedan
förälder
incheckning
c9cc368a9d
2 ändrade filer med 15 tillägg och 5 borttagningar
  1. 12 0
      Source/cmConfigureFileCommand.cxx
  2. 3 5
      Source/cmConfigureFileCommand.h

+ 12 - 0
Source/cmConfigureFileCommand.cxx

@@ -30,7 +30,19 @@ bool cmConfigureFileCommand::InitialPass(std::vector<std::string> 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)
     {

+ 3 - 5
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}.";
     }