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

Method GetSupportDirectory

Source/cmGeneratorTarget.cxx:5573–5598  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5571}
5572
5573std::string cmGeneratorTarget::GetSupportDirectory(
5574 cmStateEnums::IntermediateDirKind kind) const
5575{
5576 cmLocalGenerator* lg = this->GetLocalGenerator();
5577 auto targetDir = cmStrCat(lg->GetObjectOutputRoot(kind), '/',
5578 lg->GetTargetDirectory(this, kind));
5579
5580#ifndef CMAKE_BOOTSTRAP
5581 auto& tdr =
5582 this->GetGlobalGenerator()->RegisterTargetDirectory(this, targetDir);
5583 if (tdr.CollidesWith && !tdr.Warned) {
5584 this->Makefile->IssueMessage(
5585 MessageType::WARNING,
5586 cmStrCat("The '", tdr.CollidesWith->GetName(), "' and '",
5587 this->GetName(),
5588 "' targets share an intermediate directory\n ", targetDir,
5589 "\nwhich may cause problems with the build graph. This project "
5590 "is not compatible with the `SHORT` target intermediate "
5591 "directory strategy. Possible remedies include: moving the "
5592 "target into different directories or renaming a target."));
5593 tdr.Warned = true;
5594 }
5595#endif
5596
5597 return targetDir;
5598}
5599
5600std::string cmGeneratorTarget::GetCMFSupportDirectory(
5601 cmStateEnums::IntermediateDirKind kind) const

Callers 15

GetSourceVariablesMethod · 0.95
GetPchFileMethod · 0.95
ComputePDBOutputDirMethod · 0.95
BuildDatabasePathMethod · 0.95
WriteExecutableRuleMethod · 0.80
CreateRuleFileMethod · 0.80
WriteObjectRuleFilesMethod · 0.80
GetLocalObjectFilesMethod · 0.80
GetLinkDependencyFileMethod · 0.80

Calls 7

GetLocalGeneratorMethod · 0.95
GetGlobalGeneratorMethod · 0.95
cmStrCatFunction · 0.70
GetObjectOutputRootMethod · 0.45
GetTargetDirectoryMethod · 0.45
IssueMessageMethod · 0.45
GetNameMethod · 0.45

Tested by

no test coverage detected