mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-22 07:48:32 -05:00
Makefiles: provide, but do not consume, "forward linked" target dirs
Makefiles do not have a per-object sense of where they come from, so forwarding any module information here would end up with incorrect module file path construction by consuming targets. Leave a TODO item in its place.
This commit is contained in:
@@ -258,6 +258,12 @@ bool cmDependsFortran::LocateModules()
|
|||||||
}
|
}
|
||||||
this->MatchRemoteModules(fin, targetDir);
|
this->MatchRemoteModules(fin, targetDir);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: Use `CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES` to handle cases
|
||||||
|
// described in #25425. Note that because Makefiles generators do not
|
||||||
|
// implement relaxed object compilation as described in #15555, the issues
|
||||||
|
// never actually cause build failures; only incremental build incorrectness.
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1446,6 +1446,17 @@ void cmMakefileTargetGenerator::WriteTargetDependRules()
|
|||||||
*this->InfoFileStream << " \"" << d << "/DependInfo.cmake\"\n";
|
*this->InfoFileStream << " \"" << d << "/DependInfo.cmake\"\n";
|
||||||
}
|
}
|
||||||
*this->InfoFileStream << " )\n";
|
*this->InfoFileStream << " )\n";
|
||||||
|
|
||||||
|
/* clang-format off */
|
||||||
|
*this->InfoFileStream
|
||||||
|
<< "\n"
|
||||||
|
"# Targets to which this target links which contain Fortran sources.\n"
|
||||||
|
"set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES\n";
|
||||||
|
/* clang-format on */
|
||||||
|
for (std::string const& d : dirs.Forward) {
|
||||||
|
*this->InfoFileStream << " \"" << d << "/DependInfo.cmake\"\n";
|
||||||
|
}
|
||||||
|
*this->InfoFileStream << " )\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string const& working_dir =
|
std::string const& working_dir =
|
||||||
|
|||||||
Reference in New Issue
Block a user