[Cmake-commits] [cmake-commits] hoffman committed cmLocalVisualStudio7Generator.cxx 1.217.2.7 1.217.2.8 cmMakefile.cxx 1.463.2.5 1.463.2.6 cmMakefile.h 1.230.2.2 1.230.2.3

cmake-commits at cmake.org cmake-commits at cmake.org
Mon Jun 30 16:10:49 EDT 2008


Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv12797/Source

Modified Files:
      Tag: CMake-2-6
	cmLocalVisualStudio7Generator.cxx cmMakefile.cxx cmMakefile.h 
Log Message:
ENH: check in RC 6 merges from trunk


Index: cmLocalVisualStudio7Generator.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmLocalVisualStudio7Generator.cxx,v
retrieving revision 1.217.2.7
retrieving revision 1.217.2.8
diff -C 2 -d -r1.217.2.7 -r1.217.2.8
*** cmLocalVisualStudio7Generator.cxx	25 Jun 2008 13:51:32 -0000	1.217.2.7
--- cmLocalVisualStudio7Generator.cxx	30 Jun 2008 20:10:32 -0000	1.217.2.8
***************
*** 2174,2179 ****
    this->FlagString += " ";
    this->FlagString +=
!     cmSystemTools::EscapeWindowsShellArgument(flag,
!                                               cmsysSystem_Shell_Flag_VSIDE);
  }
  
--- 2174,2181 ----
    this->FlagString += " ";
    this->FlagString +=
!     cmSystemTools::EscapeWindowsShellArgument(
!       flag,
!       cmsysSystem_Shell_Flag_AllowMakeVariables |
!       cmsysSystem_Shell_Flag_VSIDE);
  }
  

Index: cmMakefile.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmMakefile.h,v
retrieving revision 1.230.2.2
retrieving revision 1.230.2.3
diff -C 2 -d -r1.230.2.2 -r1.230.2.3
*** cmMakefile.h	1 May 2008 16:35:40 -0000	1.230.2.2
--- cmMakefile.h	30 Jun 2008 20:10:36 -0000	1.230.2.3
***************
*** 830,833 ****
--- 830,838 ----
    std::string DefineFlags;
  
+   // Track the value of the computed DEFINITIONS property.
+   void AddDefineFlag(const char*, std::string&);
+   void RemoveDefineFlag(const char*, std::string::size_type, std::string&);
+   std::string DefineFlagsOrig;
+ 
  #if defined(CMAKE_BUILD_WITH_CMAKE)
    std::vector<cmSourceGroup> SourceGroups;

Index: cmMakefile.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmMakefile.cxx,v
retrieving revision 1.463.2.5
retrieving revision 1.463.2.6
diff -C 2 -d -r1.463.2.5 -r1.463.2.6
*** cmMakefile.cxx	13 Jun 2008 12:55:17 -0000	1.463.2.5
--- cmMakefile.cxx	30 Jun 2008 20:10:35 -0000	1.463.2.6
***************
*** 1019,1022 ****
--- 1019,1025 ----
      }
  
+   // Update the string used for the old DEFINITIONS property.
+   this->AddDefineFlag(flag, this->DefineFlagsOrig);
+ 
    // If this is really a definition, update COMPILE_DEFINITIONS.
    if(this->ParseDefineFlag(flag, false))
***************
*** 1025,1028 ****
--- 1028,1037 ----
      }
  
+   // Add this flag that does not look like a definition.
+   this->AddDefineFlag(flag, this->DefineFlags);
+ }
+ 
+ void cmMakefile::AddDefineFlag(const char* flag, std::string& dflags)
+ {
    // remove any \n\r
    std::string ret = flag;
***************
*** 1040,1045 ****
      }
  
!   this->DefineFlags += " ";
!   this->DefineFlags += ret;
  }
  
--- 1049,1054 ----
      }
  
!   dflags += " ";
!   dflags += ret;
  }
  
***************
*** 1054,1057 ****
--- 1063,1069 ----
      }
  
+   // Update the string used for the old DEFINITIONS property.
+   this->RemoveDefineFlag(flag, len, this->DefineFlagsOrig);
+ 
    // If this is really a definition, update COMPILE_DEFINITIONS.
    if(this->ParseDefineFlag(flag, true))
***************
*** 1060,1073 ****
      }
  
    // Remove all instances of the flag that are surrounded by
    // whitespace or the beginning/end of the string.
!   for(std::string::size_type lpos = this->DefineFlags.find(flag, 0);
!       lpos != std::string::npos; lpos = this->DefineFlags.find(flag, lpos))
      {
      std::string::size_type rpos = lpos + len;
!     if((lpos <= 0 || isspace(this->DefineFlags[lpos-1])) &&
!        (rpos >= this->DefineFlags.size() || isspace(this->DefineFlags[rpos])))
        {
!       this->DefineFlags.erase(lpos, len);
        }
      else
--- 1072,1093 ----
      }
  
+   // Remove this flag that does not look like a definition.
+   this->RemoveDefineFlag(flag, len, this->DefineFlags);
+ }
+ 
+ void cmMakefile::RemoveDefineFlag(const char* flag,
+                                   std::string::size_type len,
+                                   std::string& dflags)
+ {
    // Remove all instances of the flag that are surrounded by
    // whitespace or the beginning/end of the string.
!   for(std::string::size_type lpos = dflags.find(flag, 0);
!       lpos != std::string::npos; lpos = dflags.find(flag, lpos))
      {
      std::string::size_type rpos = lpos + len;
!     if((lpos <= 0 || isspace(dflags[lpos-1])) &&
!        (rpos >= dflags.size() || isspace(dflags[rpos])))
        {
!       dflags.erase(lpos, len);
        }
      else
***************
*** 2909,2914 ****
    if (!strcmp("PARENT_DIRECTORY",prop))
      {
!     output = this->LocalGenerator->GetParent()
!       ->GetMakefile()->GetStartDirectory();
      return output.c_str();
      }
--- 2929,2936 ----
    if (!strcmp("PARENT_DIRECTORY",prop))
      {
!     if(cmLocalGenerator* plg = this->LocalGenerator->GetParent())
!       {
!       output = plg->GetMakefile()->GetStartDirectory();
!       }
      return output.c_str();
      }
***************
*** 2955,2960 ****
      }
    else if (!strcmp("DEFINITIONS",prop))
!     {
!     output = this->GetDefineFlags();
      return output.c_str();
      }
--- 2977,2982 ----
      }
    else if (!strcmp("DEFINITIONS",prop))
!     { 
!     output += this->DefineFlagsOrig;
      return output.c_str();
      }
***************
*** 3177,3181 ****
       "are currently being processed, in order. So if one listfile "
       "does an INCLUDE command then that is effectively pushing "
!      "the included listfile onto the stack.");
  
    cm->DefineProperty
--- 3199,3203 ----
       "are currently being processed, in order. So if one listfile "
       "does an INCLUDE command then that is effectively pushing "
!      "the included listfile onto the stack.", false);
  
    cm->DefineProperty
***************
*** 3246,3249 ****
--- 3268,3329 ----
       "The same concept applies to the default build of other generators.",
       false);
+ 
+   cm->DefineProperty
+     ("PARENT_DIRECTORY", cmProperty::DIRECTORY,
+      "Source directory that added current subdirectory.",
+      "This read-only property specifies the source directory that "
+      "added the current source directory as a subdirectory of the build.  "
+      "In the top-level directory the value is the empty-string.", false);
+ 
+   cm->DefineProperty
+     ("INCLUDE_REGULAR_EXPRESSION", cmProperty::DIRECTORY,
+      "Include file scanning regular expression.",
+      "This read-only property specifies the regular expression used "
+      "during dependency scanning to match include files that should "
+      "be followed.  See the include_regular_expression command.", false);
+ 
+   cm->DefineProperty
+     ("VARIABLES", cmProperty::DIRECTORY,
+      "List of variables defined in the current directory.",
+      "This read-only property specifies the list of CMake variables "
+      "currently defined.  "
+      "It is intended for debugging purposes.", false);
+ 
+   cm->DefineProperty
+     ("CACHE_VARIABLES", cmProperty::DIRECTORY,
+      "List of cache variables available in the current directory.",
+      "This read-only property specifies the list of CMake cache "
+      "variables currently defined.  "
+      "It is intended for debugging purposes.", false);
+ 
+   cm->DefineProperty
+     ("MACROS", cmProperty::DIRECTORY,
+      "List of macro commands available in the current directory.",
+      "This read-only property specifies the list of CMake macros "
+      "currently defined.  "
+      "It is intended for debugging purposes.  "
+      "See the macro command.", false);
+ 
+   cm->DefineProperty
+     ("DEFINITIONS", cmProperty::DIRECTORY,
+      "For CMake 2.4 compatibility only.  Use COMPILE_DEFINITIONS instead.",
+      "This read-only property specifies the list of flags given so far "
+      "to the add_definitions command.  "
+      "It is intended for debugging purposes.  "
+      "Use the COMPILE_DEFINITIONS instead.", false);
+ 
+   cm->DefineProperty
+     ("INCLUDE_DIRECTORIES", cmProperty::DIRECTORY,
+      "List of preprocessor include file search directories.",
+      "This read-only property specifies the list of directories given "
+      "so far to the include_directories command.  "
+      "It is intended for debugging purposes.", false);
+ 
+   cm->DefineProperty
+     ("LINK_DIRECTORIES", cmProperty::DIRECTORY,
+      "List of linker search directories.",
+      "This read-only property specifies the list of directories given "
+      "so far to the link_directories command.  "
+      "It is intended for debugging purposes.", false);
  }
  



More information about the Cmake-commits mailing list