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

Function HandlePopulateCommand

Source/cmCMakePkgConfigCommand.cxx:970–993  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

968}
969
970bool HandlePopulateCommand(std::vector<std::string> const& args,
971 cmExecutionStatus& status)
972{
973 std::vector<std::string> unparsed;
974 auto parsedArgs = PopulateParser.Parse(args, &unparsed);
975
976 std::string prefix =
977 parsedArgs.Prefix ? cmStrCat(*parsedArgs.Prefix, "_"_s) : "";
978
979 auto foreign_name =
980 cmStrCat("@foreign_pkgcfg::", prefix, *parsedArgs.Package);
981 auto found_var = cmStrCat("PKGCONFIG_", *parsedArgs.Package, "_FOUND");
982
983 auto& mf = status.GetMakefile();
984
985 if (mf.FindTargetToUse(foreign_name, cmStateEnums::TargetDomain::FOREIGN)) {
986 mf.AddDefinition(found_var, "TRUE");
987 return true;
988 }
989
990 auto result = PopulatePCTarget(parsedArgs, status);
991 mf.AddDefinition(found_var, result.second ? "TRUE" : "FALSE");
992 return result.first;
993}
994
995struct ImportArguments : PopulateArguments
996{

Callers

nothing calls this directly

Calls 6

PopulatePCTargetFunction · 0.85
FindTargetToUseMethod · 0.80
cmStrCatFunction · 0.70
ParseMethod · 0.45
GetMakefileMethod · 0.45
AddDefinitionMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…