MCPcopy Create free account
hub / github.com/Kitware/CMake / SearchFrameworkPrefix

Method SearchFrameworkPrefix

Source/cmFindPackageCommand.cxx:3452–3501  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3450}
3451
3452bool cmFindPackageCommand::SearchFrameworkPrefix(std::string const& prefix)
3453{
3454 assert(!prefix.empty() && prefix.back() == '/');
3455
3456 auto searchFn = [this](std::string const& fullPath,
3457 PackageDescriptionType type) -> bool {
3458 return this->SearchDirectory(fullPath, type);
3459 };
3460
3461 auto iCMakeGen = cmCaseInsensitiveDirectoryListGenerator{ "cmake"_s };
3462 auto iCpsGen = cmCaseInsensitiveDirectoryListGenerator{ "cps"_s };
3463 auto fwGen =
3464 cmMacProjectDirectoryListGenerator{ &this->Names, ".framework"_s };
3465 auto rGen = cmAppendPathSegmentGenerator{ "Resources"_s };
3466 auto vGen = cmAppendPathSegmentGenerator{ "Versions"_s };
3467 auto anyGen =
3468 cmAnyDirectoryListGenerator{ this->SortOrder, this->SortDirection };
3469
3470 // <prefix>/Foo.framework/Versions/*/Resources/CPS/
3471 if (TryGeneratedPaths(searchFn, pdt::Cps, prefix, fwGen, vGen, anyGen, rGen,
3472 iCpsGen)) {
3473 return true;
3474 }
3475
3476 // <prefix>/Foo.framework/Resources/CPS/
3477 if (TryGeneratedPaths(searchFn, pdt::Cps, prefix, fwGen, rGen, iCpsGen)) {
3478 return true;
3479 }
3480
3481 // <prefix>/Foo.framework/Resources/
3482 if (TryGeneratedPaths(searchFn, pdt::CMake, prefix, fwGen, rGen)) {
3483 return true;
3484 }
3485
3486 // <prefix>/Foo.framework/Resources/CMake/
3487 if (TryGeneratedPaths(searchFn, pdt::CMake, prefix, fwGen, rGen,
3488 iCMakeGen)) {
3489 return true;
3490 }
3491
3492 // <prefix>/Foo.framework/Versions/*/Resources/
3493 if (TryGeneratedPaths(searchFn, pdt::CMake, prefix, fwGen, vGen, anyGen,
3494 rGen)) {
3495 return true;
3496 }
3497
3498 // <prefix>/Foo.framework/Versions/*/Resources/CMake/
3499 return TryGeneratedPaths(searchFn, pdt::CMake, prefix, fwGen, vGen, anyGen,
3500 rGen, iCMakeGen);
3501}
3502
3503bool cmFindPackageCommand::SearchAppBundlePrefix(std::string const& prefix)
3504{

Callers 1

FindFrameworkConfigMethod · 0.95

Calls 4

SearchDirectoryMethod · 0.95
TryGeneratedPathsFunction · 0.85
emptyMethod · 0.45
backMethod · 0.45

Tested by

no test coverage detected