|
@@ -1016,6 +1016,9 @@ bool cmFindPackageCommand::HandlePackageMode()
|
|
|
|
|
|
|
|
std::string foundVar = this->Name;
|
|
std::string foundVar = this->Name;
|
|
|
foundVar += "_FOUND";
|
|
foundVar += "_FOUND";
|
|
|
|
|
+ std::string notFoundMessageVar = this->Name;
|
|
|
|
|
+ notFoundMessageVar += "_NOT_FOUND_MESSAGE";
|
|
|
|
|
+ std::string notFoundMessage;
|
|
|
|
|
|
|
|
// If the directory for the config file was found, try to read the file.
|
|
// If the directory for the config file was found, try to read the file.
|
|
|
bool result = true;
|
|
bool result = true;
|
|
@@ -1033,6 +1036,7 @@ bool cmFindPackageCommand::HandlePackageMode()
|
|
|
// has set Foo_FOUND to FALSE itself:
|
|
// has set Foo_FOUND to FALSE itself:
|
|
|
this->Makefile->RemoveDefinition(foundVar.c_str());
|
|
this->Makefile->RemoveDefinition(foundVar.c_str());
|
|
|
}
|
|
}
|
|
|
|
|
+ this->Makefile->RemoveDefinition(notFoundMessageVar.c_str());
|
|
|
|
|
|
|
|
// Set the version variables before loading the config file.
|
|
// Set the version variables before loading the config file.
|
|
|
// It may override them.
|
|
// It may override them.
|
|
@@ -1051,6 +1055,8 @@ bool cmFindPackageCommand::HandlePackageMode()
|
|
|
// we get here if the Config file has set Foo_FOUND actively to FALSE
|
|
// we get here if the Config file has set Foo_FOUND actively to FALSE
|
|
|
found = false;
|
|
found = false;
|
|
|
configFileSetFOUNDFalse = true;
|
|
configFileSetFOUNDFalse = true;
|
|
|
|
|
+ notFoundMessage = this->Makefile->GetSafeDefinition(
|
|
|
|
|
+ notFoundMessageVar.c_str());
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
else
|
|
else
|
|
@@ -1071,6 +1077,10 @@ bool cmFindPackageCommand::HandlePackageMode()
|
|
|
" " << this->FileFound << "\n"
|
|
" " << this->FileFound << "\n"
|
|
|
"but it set " << foundVar << " to FALSE so package \"" <<
|
|
"but it set " << foundVar << " to FALSE so package \"" <<
|
|
|
this->Name << "\" is considered to be NOT FOUND.";
|
|
this->Name << "\" is considered to be NOT FOUND.";
|
|
|
|
|
+ if (!notFoundMessage.empty())
|
|
|
|
|
+ {
|
|
|
|
|
+ e << " Reason given by package: \n" << notFoundMessage << "\n";
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
// If there are files in ConsideredConfigs, it means that FooConfig.cmake
|
|
// If there are files in ConsideredConfigs, it means that FooConfig.cmake
|
|
|
// have been found, but they didn't have appropriate versions.
|
|
// have been found, but they didn't have appropriate versions.
|