[Cmake-commits] [cmake-commits] king committed cmSystemTools.cxx 1.378 1.379 cmSystemTools.h 1.153 1.154

cmake-commits at cmake.org cmake-commits at cmake.org
Tue May 27 14:47:02 EDT 2008


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

Modified Files:
	cmSystemTools.cxx cmSystemTools.h 
Log Message:
ENH: Added WOW64 key view support to KWSys SystemTools' windows registry API.

  - Add an argument to registry read/write/delete methods to specify
    a 32-bit or 64-bit view.
  - Default is the bit-ness of the running program.
  - See issue #7095.


Index: cmSystemTools.h
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmSystemTools.h,v
retrieving revision 1.153
retrieving revision 1.154
diff -C 2 -d -r1.153 -r1.154
*** cmSystemTools.h	27 May 2008 14:22:03 -0000	1.153
--- cmSystemTools.h	27 May 2008 18:47:00 -0000	1.154
***************
*** 49,53 ****
     * Look for and replace registry values in a string
     */
!   static void ExpandRegistryValues(std::string& source);
  
    /**
--- 49,54 ----
     * Look for and replace registry values in a string
     */
!   static void ExpandRegistryValues(std::string& source,
!                                    KeyWOW64 view = KeyWOW64_Default);
  
    /**

Index: cmSystemTools.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmSystemTools.cxx,v
retrieving revision 1.378
retrieving revision 1.379
diff -C 2 -d -r1.378 -r1.379
*** cmSystemTools.cxx	27 May 2008 14:22:02 -0000	1.378
--- cmSystemTools.cxx	27 May 2008 18:46:59 -0000	1.379
***************
*** 131,135 ****
  // write the result into source.
  #if defined(_WIN32) && !defined(__CYGWIN__)
! void cmSystemTools::ExpandRegistryValues(std::string& source)
  {
    // Regular expression to match anything inside [...] that begins in HKEY.
--- 131,135 ----
  // write the result into source.
  #if defined(_WIN32) && !defined(__CYGWIN__)
! void cmSystemTools::ExpandRegistryValues(std::string& source, KeyWOW64 view)
  {
    // Regular expression to match anything inside [...] that begins in HKEY.
***************
*** 147,151 ****
      std::string key = regEntry.match(1);
      std::string val;
!     if (ReadRegistryValue(key.c_str(), val))
        {
        std::string reg = "[";
--- 147,151 ----
      std::string key = regEntry.match(1);
      std::string val;
!     if (ReadRegistryValue(key.c_str(), val, view))
        {
        std::string reg = "[";
***************
*** 162,166 ****
  }
  #else
! void cmSystemTools::ExpandRegistryValues(std::string& source)
  {
    cmsys::RegularExpression regEntry("\\[(HKEY[^]]*)\\]");
--- 162,166 ----
  }
  #else
! void cmSystemTools::ExpandRegistryValues(std::string& source, KeyWOW64)
  {
    cmsys::RegularExpression regEntry("\\[(HKEY[^]]*)\\]");



More information about the Cmake-commits mailing list