mirror of
https://gitlab.kitware.com/cmake/cmake.git
synced 2026-01-26 19:09:06 +00:00
cmFind*Command: Simplify file validation code paths
This commit is contained in:
parent
fbd5d4e87f
commit
808ae84483
@ -422,18 +422,15 @@ bool cmFindLibraryHelper::CheckDirectoryForName(std::string const& path,
|
||||
if (name.TryRaw) {
|
||||
std::string testPath = cmStrCat(path, name.Raw);
|
||||
|
||||
const bool exists = cmSystemTools::FileExists(testPath, true);
|
||||
if (!exists) {
|
||||
this->DebugLibraryFailed(name.Raw, path);
|
||||
} else {
|
||||
if (cmSystemTools::FileExists(testPath, true)) {
|
||||
testPath = cmSystemTools::CollapseFullPath(testPath);
|
||||
if (this->Validate(testPath)) {
|
||||
this->DebugLibraryFound(name.Raw, path);
|
||||
this->BestPath = testPath;
|
||||
return true;
|
||||
}
|
||||
this->DebugLibraryFailed(name.Raw, path);
|
||||
}
|
||||
this->DebugLibraryFailed(name.Raw, path);
|
||||
}
|
||||
|
||||
// No library file has yet been found.
|
||||
|
||||
@ -88,17 +88,18 @@ struct cmFindProgramHelper
|
||||
std::string testNameExt = cmStrCat(name, ext);
|
||||
std::string testPath =
|
||||
cmSystemTools::CollapseFullPath(testNameExt, path);
|
||||
bool exists = this->FileIsValid(testPath);
|
||||
exists ? this->DebugSearches.FoundAt(testPath)
|
||||
: this->DebugSearches.FailedAt(testPath);
|
||||
if (exists) {
|
||||
this->BestPath = testPath;
|
||||
return true;
|
||||
if (this->FileIsExecutable(testPath)) {
|
||||
if (this->FindBase->Validate(testPath)) {
|
||||
this->BestPath = testPath;
|
||||
this->DebugSearches.FoundAt(testPath);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
this->DebugSearches.FailedAt(testPath);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
bool FileIsValid(std::string const& file) const
|
||||
bool FileIsExecutable(std::string const& file) const
|
||||
{
|
||||
if (!this->FileIsExecutableCMP0109(file)) {
|
||||
return false;
|
||||
@ -114,7 +115,7 @@ struct cmFindProgramHelper
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return this->FindBase->Validate(file);
|
||||
return true;
|
||||
}
|
||||
bool FileIsExecutableCMP0109(std::string const& file) const
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user