[Cmake-commits] [cmake-commits] king committed cmFindBase.cxx 1.39 1.40
cmake-commits at cmake.org
cmake-commits at cmake.org
Tue May 27 16:50:11 EDT 2008
Update of /cvsroot/CMake/CMake/Source
In directory public:/mounts/ram/cvs-serv1062/Source
Modified Files:
cmFindBase.cxx
Log Message:
BUG: Fix previous registry lookup change for executables.
- The target platform does not matter for finding executables
so find_program should expand to both 32-bit and 64-bit registry
values.
- See issue #7095.
Index: cmFindBase.cxx
===================================================================
RCS file: /cvsroot/CMake/CMake/Source/cmFindBase.cxx,v
retrieving revision 1.39
retrieving revision 1.40
diff -C 2 -d -r1.39 -r1.40
*** cmFindBase.cxx 27 May 2008 18:47:46 -0000 1.39
--- cmFindBase.cxx 27 May 2008 20:50:04 -0000 1.40
***************
*** 479,482 ****
--- 479,483 ----
// it.
cmSystemTools::KeyWOW64 view = cmSystemTools::KeyWOW64_Default;
+ cmSystemTools::KeyWOW64 other_view = cmSystemTools::KeyWOW64_Default;
{
if(const char* psize =
***************
*** 485,490 ****
switch(atoi(psize))
{
! case 4: view = cmSystemTools::KeyWOW64_32; break;
! case 8: view = cmSystemTools::KeyWOW64_64; break;
default: break;
}
--- 486,497 ----
switch(atoi(psize))
{
! case 4:
! view = cmSystemTools::KeyWOW64_32;
! other_view = cmSystemTools::KeyWOW64_64;
! break;
! case 8:
! view = cmSystemTools::KeyWOW64_64;
! other_view = cmSystemTools::KeyWOW64_32;
! break;
default: break;
}
***************
*** 498,503 ****
i != paths.end(); ++i)
{
! cmSystemTools::ExpandRegistryValues(*i, view);
! cmSystemTools::GlobDirs(i->c_str(), finalPath);
}
// clear the path
--- 505,519 ----
i != paths.end(); ++i)
{
! std::string expanded = *i;
! cmSystemTools::ExpandRegistryValues(expanded, view);
! cmSystemTools::GlobDirs(expanded.c_str(), finalPath);
! if(view != other_view && expanded != *i &&
! this->CMakePathName == "PROGRAM")
! {
! // Executables can be either 32-bit or 64-bit.
! expanded = *i;
! cmSystemTools::ExpandRegistryValues(expanded, other_view);
! cmSystemTools::GlobDirs(expanded.c_str(), finalPath);
! }
}
// clear the path
More information about the Cmake-commits
mailing list