|
|
@@ -477,26 +477,17 @@ void cmFindBase::ExpandRegistryAndCleanPath(std::vector<std::string>& paths)
|
|
|
{
|
|
|
// We should view the registry as the target application would view
|
|
|
// it.
|
|
|
- cmSystemTools::KeyWOW64 view = cmSystemTools::KeyWOW64_Default;
|
|
|
- cmSystemTools::KeyWOW64 other_view = cmSystemTools::KeyWOW64_Default;
|
|
|
- {
|
|
|
+ cmSystemTools::KeyWOW64 view = cmSystemTools::KeyWOW64_32;
|
|
|
+ cmSystemTools::KeyWOW64 other_view = cmSystemTools::KeyWOW64_64;
|
|
|
if(const char* psize =
|
|
|
this->Makefile->GetDefinition("CMAKE_SIZEOF_VOID_P"))
|
|
|
{
|
|
|
- switch(atoi(psize))
|
|
|
+ if(atoi(psize) == 8)
|
|
|
{
|
|
|
- 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;
|
|
|
+ view = cmSystemTools::KeyWOW64_64;
|
|
|
+ other_view = cmSystemTools::KeyWOW64_32;
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
std::vector<std::string> finalPath;
|
|
|
std::vector<std::string>::iterator i;
|
|
|
// glob and expand registry stuff from paths and put
|
|
|
@@ -507,8 +498,7 @@ void cmFindBase::ExpandRegistryAndCleanPath(std::vector<std::string>& paths)
|
|
|
std::string expanded = *i;
|
|
|
cmSystemTools::ExpandRegistryValues(expanded, view);
|
|
|
cmSystemTools::GlobDirs(expanded.c_str(), finalPath);
|
|
|
- if(view != other_view && expanded != *i &&
|
|
|
- this->CMakePathName == "PROGRAM")
|
|
|
+ if(expanded != *i && this->CMakePathName == "PROGRAM")
|
|
|
{
|
|
|
// Executables can be either 32-bit or 64-bit.
|
|
|
expanded = *i;
|