summaryrefslogtreecommitdiffstats
path: root/Source/cmFindPackageCommand.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-08-05 12:52:57 (GMT)
committerKitware Robot <kwrobot@kitware.com>2022-08-05 12:53:09 (GMT)
commit9274bdff27fa620663da73dbd03e6a16dc42546f (patch)
treefb9ac0093d916bc0f72392433917ab899bdabc80 /Source/cmFindPackageCommand.cxx
parentba2a9fb7651f374a2a335e22daabc940fb4bf24a (diff)
parent19366408fe4fedaec19e7e964adb02d090e8c0b7 (diff)
downloadCMake-9274bdff27fa620663da73dbd03e6a16dc42546f.zip
CMake-9274bdff27fa620663da73dbd03e6a16dc42546f.tar.gz
CMake-9274bdff27fa620663da73dbd03e6a16dc42546f.tar.bz2
Merge topic 'find_package-one-more-path'
19366408fe cmFindPackageCommand: Protect overrides of `cmDirectoryListGenerator` e55c154c5b cmFindPackageCommand: Add one more search path Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !7542
Diffstat (limited to 'Source/cmFindPackageCommand.cxx')
-rw-r--r--Source/cmFindPackageCommand.cxx16
1 files changed, 12 insertions, 4 deletions
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index f260ec7..3f8378b 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -291,6 +291,7 @@ public:
{
}
+protected:
void OnMatchesLoaded() override
{
// check if there is a specific sorting order to perform
@@ -316,6 +317,7 @@ public:
{
}
+protected:
std::string TransformNameBeforeCmp(std::string name) override
{
return cmStrCat(name, this->Extension);
@@ -2524,6 +2526,16 @@ bool cmFindPackageCommand::SearchPrefix(std::string const& prefix_in)
return true;
}
+ auto secondPkgDirGen =
+ cmProjectDirectoryListGenerator{ this->Names, this->SortOrder,
+ this->SortDirection };
+
+ // PREFIX/(Foo|foo|FOO).*/(cmake|CMake)/(Foo|foo|FOO).*/
+ if (TryGeneratedPaths(searchFn, prefix, firstPkgDirGen, iCMakeGen,
+ secondPkgDirGen)) {
+ return true;
+ }
+
// Construct list of common install locations (lib and share).
std::vector<cm::string_view> common;
std::string libArch;
@@ -2561,10 +2573,6 @@ bool cmFindPackageCommand::SearchPrefix(std::string const& prefix_in)
return true;
}
- auto secondPkgDirGen =
- cmProjectDirectoryListGenerator{ this->Names, this->SortOrder,
- this->SortDirection };
-
// PREFIX/(Foo|foo|FOO).*/(lib/ARCH|lib*|share)/cmake/(Foo|foo|FOO).*/
if (TryGeneratedPaths(searchFn, prefix, firstPkgDirGen, cmnGen, cmakeGen,
secondPkgDirGen)) {