|  | @@ -817,36 +817,56 @@ bool cmFindPackageCommand::HandlePackageMode()
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  |      // The variable is not set.
 | 
	
		
			
				|  |  |      cmOStringStream e;
 | 
	
		
			
				|  |  | -    e << "Could not find ";
 | 
	
		
			
				|  |  | -    if(!this->NoModule)
 | 
	
		
			
				|  |  | -      {
 | 
	
		
			
				|  |  | -      e << "module Find" << this->Name << ".cmake or ";
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    e << "a configuration file for package " << this->Name << ".\n";
 | 
	
		
			
				|  |  | -    if(!this->NoModule)
 | 
	
		
			
				|  |  | -      {
 | 
	
		
			
				|  |  | -      e << "Adjust CMAKE_MODULE_PATH to find Find"
 | 
	
		
			
				|  |  | -        << this->Name << ".cmake or set ";
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    else
 | 
	
		
			
				|  |  | -      {
 | 
	
		
			
				|  |  | -      e << "Set ";
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    e << this->Variable << " to the directory containing a CMake "
 | 
	
		
			
				|  |  | -      << "configuration file for " << this->Name << ".  ";
 | 
	
		
			
				|  |  | -    if(this->Configs.size() == 1)
 | 
	
		
			
				|  |  | -      {
 | 
	
		
			
				|  |  | -      e << "The file will be called " << this->Configs[0];
 | 
	
		
			
				|  |  | +    // If there are files in ConsideredConfigs, it means that FooConfig.cmake
 | 
	
		
			
				|  |  | +    // have been found, but they didn't have appropriate versions.
 | 
	
		
			
				|  |  | +    if (this->ConsideredConfigFiles.size() > 0)
 | 
	
		
			
				|  |  | +      {
 | 
	
		
			
				|  |  | +      e << "Could not find configuration file for package " << this->Name
 | 
	
		
			
				|  |  | +        << " with " << (this->VersionExact ? "exact " : "at least ")
 | 
	
		
			
				|  |  | +        << "version " << this->Version << " .\n"
 | 
	
		
			
				|  |  | +        << "Found the following files:\n";
 | 
	
		
			
				|  |  | +      for(std::vector<std::string>::size_type i=0;
 | 
	
		
			
				|  |  | +          i<this->ConsideredConfigFiles.size(); i++)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +        e << "  " << this->ConsideredConfigFiles[i]
 | 
	
		
			
				|  |  | +          << ", version: " << this->ConsideredVersions[i] << "\n";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      else
 | 
	
		
			
				|  |  |        {
 | 
	
		
			
				|  |  | -      e << "The file will have one of the following names:\n";
 | 
	
		
			
				|  |  | -      for(std::vector<std::string>::const_iterator ci = this->Configs.begin();
 | 
	
		
			
				|  |  | -          ci != this->Configs.end(); ++ci)
 | 
	
		
			
				|  |  | +      e << "Could not find ";
 | 
	
		
			
				|  |  | +      if(!this->NoModule)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +        e << "module Find" << this->Name << ".cmake or ";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      e << "a configuration file for package " << this->Name << ".\n";
 | 
	
		
			
				|  |  | +      if(!this->NoModule)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +        e << "Adjust CMAKE_MODULE_PATH to find Find"
 | 
	
		
			
				|  |  | +          << this->Name << ".cmake or set ";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      else
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +        e << "Set ";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      e << this->Variable << " to the directory containing a CMake "
 | 
	
		
			
				|  |  | +        << "configuration file for " << this->Name << ".  ";
 | 
	
		
			
				|  |  | +      if(this->Configs.size() == 1)
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +        e << "The file will be called " << this->Configs[0];
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      else
 | 
	
		
			
				|  |  |          {
 | 
	
		
			
				|  |  | -        e << "  " << *ci << "\n";
 | 
	
		
			
				|  |  | +        e << "The file will have one of the following names:\n";
 | 
	
		
			
				|  |  | +        for(std::vector<std::string>::const_iterator ci=this->Configs.begin();
 | 
	
		
			
				|  |  | +            ci != this->Configs.end(); ++ci)
 | 
	
		
			
				|  |  | +          {
 | 
	
		
			
				|  |  | +          e << "  " << *ci << "\n";
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      this->Makefile->IssueMessage(
 | 
	
		
			
				|  |  |        this->Required? cmake::FATAL_ERROR : cmake::WARNING, e.str());
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -911,20 +931,14 @@ bool cmFindPackageCommand::HandlePackageMode()
 | 
	
		
			
				|  |  |    consideredVersionsVar += "_CONSIDERED_VERSIONS";
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    std::string consideredConfigFiles;
 | 
	
		
			
				|  |  | -  for(std::vector<std::string>::const_iterator
 | 
	
		
			
				|  |  | -      it = this->ConsideredConfigFiles.begin();
 | 
	
		
			
				|  |  | -      it != this->ConsideredConfigFiles.end(); ++it)
 | 
	
		
			
				|  |  | -    {
 | 
	
		
			
				|  |  | -    consideredConfigFiles += *it;
 | 
	
		
			
				|  |  | -    consideredConfigFiles += ";";
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |    std::string consideredVersions;
 | 
	
		
			
				|  |  | -  for(std::vector<std::string>::const_iterator
 | 
	
		
			
				|  |  | -      it = this->ConsideredVersions.begin();
 | 
	
		
			
				|  |  | -      it != this->ConsideredVersions.end(); ++it)
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  for(std::vector<std::string>::size_type i=0;
 | 
	
		
			
				|  |  | +      i<this->ConsideredConfigFiles.size(); i++)
 | 
	
		
			
				|  |  |      {
 | 
	
		
			
				|  |  | -    consideredVersions += *it;
 | 
	
		
			
				|  |  | +    consideredConfigFiles += this->ConsideredConfigFiles[i];
 | 
	
		
			
				|  |  | +    consideredConfigFiles += ";";
 | 
	
		
			
				|  |  | +    consideredVersions += this->ConsideredVersions[i];
 | 
	
		
			
				|  |  |      consideredVersions += ";";
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 |