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

Method BuildFileSetInfoCache

Source/cmGeneratorTarget.cxx:6431–6473  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6429}
6430
6431void cmGeneratorTarget::BuildFileSetInfoCache(std::string const& config) const
6432{
6433 auto& per_config = this->Configs[config];
6434
6435 if (per_config.BuiltFileSetCache) {
6436 return;
6437 }
6438
6439 auto const* tgt = this->Target;
6440
6441 for (auto const& name : tgt->GetAllFileSetNames()) {
6442 auto const* file_set = tgt->GetFileSet(name);
6443 if (!file_set) {
6444 tgt->GetMakefile()->IssueMessage(
6445 MessageType::INTERNAL_ERROR,
6446 cmStrCat("Target \"", tgt->GetName(),
6447 "\" is tracked to have file set \"", name,
6448 "\", but it was not found."));
6449 continue;
6450 }
6451
6452 cm::GenEx::Context context(this->LocalGenerator, config);
6453
6454 auto fileEntries = file_set->CompileFileEntries();
6455 auto directoryEntries = file_set->CompileDirectoryEntries();
6456 auto directories =
6457 file_set->EvaluateDirectoryEntries(directoryEntries, context, this);
6458
6459 std::map<std::string, std::vector<std::string>> files;
6460 for (auto const& entry : fileEntries) {
6461 file_set->EvaluateFileEntry(directories, files, entry, context, this);
6462 }
6463
6464 for (auto const& it : files) {
6465 for (auto const& filename : it.second) {
6466 auto collapsedFile = cmSystemTools::CollapseFullPath(filename);
6467 per_config.FileSetCache[collapsedFile] = file_set;
6468 }
6469 }
6470 }
6471
6472 per_config.BuiltFileSetCache = true;
6473}
6474
6475std::string cmGeneratorTarget::GetSwiftModuleName() const
6476{

Callers 1

GetFileSetForSourceMethod · 0.95

Calls 10

GetAllFileSetNamesMethod · 0.80
CompileFileEntriesMethod · 0.80
EvaluateFileEntryMethod · 0.80
cmStrCatFunction · 0.70
GetFileSetMethod · 0.45
IssueMessageMethod · 0.45
GetMakefileMethod · 0.45
GetNameMethod · 0.45

Tested by

no test coverage detected