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

Method GetClangTidyReplacementsFilePath

Source/cmMakefileTargetGenerator.cxx:1421–1442  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1419 cmDependencyScannerKind::Compiler);
1420}
1421std::string cmMakefileTargetGenerator::GetClangTidyReplacementsFilePath(
1422 std::string const& directory, cmSourceFile const& source,
1423 std::string const& config) const
1424{
1425 (void)config;
1426 auto const& objectName = this->GeneratorTarget->GetObjectName(&source);
1427 // NOTE: This may be better to use `this->TargetBuildDirectory` instead of
1428 // `MaybeRelativeToTopBinDir(this->TargetBuildDirectoryFull)` here. The main
1429 // difference is that the current behavior looks odd to relative
1430 // `<LANG>_CLANG_TIDY_EXPORT_FIXES_DIR` settings. Each subdirectory has its
1431 // own export fixes directory *and* adds its relative-from-root path
1432 // underneath it. However, when using an absolute export fixes directory, the
1433 // source directory structure is preserved. The main benefit of the former is
1434 // shorter paths everywhere versus the status quo of the existing code.
1435 cmLocalGenerator* lg = this->GeneratorTarget->GetLocalGenerator();
1436 auto fixesFile = cmSystemTools::CollapseFullPath(
1437 cmStrCat(directory, '/',
1438 lg->CreateSafeObjectFileName(
1439 lg->MaybeRelativeToTopBinDir(this->TargetBuildDirectoryFull)),
1440 '/', objectName, ".yaml"));
1441 return fixesFile;
1442}
1443
1444void cmMakefileTargetGenerator::WriteTargetDependRules()
1445{

Callers

nothing calls this directly

Calls 4

cmStrCatFunction · 0.70
GetLocalGeneratorMethod · 0.45

Tested by

no test coverage detected