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

Method WriteDirectoryRules2

Source/cmGlobalUnixMakefileGenerator3.cxx:424–460  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

422}
423
424void cmGlobalUnixMakefileGenerator3::WriteDirectoryRules2(
425 std::ostream& ruleFileStream, cmLocalUnixMakefileGenerator3& rootLG,
426 DirectoryTarget const& dt)
427{
428 auto* lg = static_cast<cmLocalUnixMakefileGenerator3*>(dt.LG);
429 // Begin the directory-level rules section.
430 {
431 std::string dir = cmSystemTools::ConvertToOutputPath(
432 rootLG.MaybeRelativeToTopBinDir(lg->GetCurrentBinaryDirectory()));
433 rootLG.WriteDivider(ruleFileStream);
434 if (lg->IsRootMakefile()) {
435 ruleFileStream << "# Directory level rules for the build root directory";
436 } else {
437 ruleFileStream << "# Directory level rules for directory " << dir;
438 }
439 ruleFileStream << "\n\n";
440 }
441
442 // Write directory-level rules for "all".
443 this->WriteDirectoryRule2(ruleFileStream, rootLG, dt, "all", true, false);
444
445 // Write directory-level rules for "codegen".
446 this->WriteDirectoryRule2(ruleFileStream, rootLG, dt, "codegen", true,
447 false);
448
449 // Write directory-level rules for "preinstall".
450 this->WriteDirectoryRule2(ruleFileStream, rootLG, dt, "preinstall", true,
451 true);
452
453 // Write directory-level rules for "clean".
454 {
455 std::vector<std::string> cmds;
456 lg->AppendDirectoryCleanCommand(cmds);
457 this->WriteDirectoryRule2(ruleFileStream, rootLG, dt, "clean", false,
458 false, cmds);
459 }
460}
461
462namespace {
463std::string ConvertToMakefilePathForUnix(std::string const& path)

Callers 1

WriteMainMakefile2Method · 0.95

Calls 5

WriteDirectoryRule2Method · 0.95
WriteDividerMethod · 0.45
IsRootMakefileMethod · 0.45

Tested by

no test coverage detected