diff --git a/Source/cmFastbuildNormalTargetGenerator.cxx b/Source/cmFastbuildNormalTargetGenerator.cxx index 23c9374b38..7dd8d09c57 100644 --- a/Source/cmFastbuildNormalTargetGenerator.cxx +++ b/Source/cmFastbuildNormalTargetGenerator.cxx @@ -925,6 +925,18 @@ void cmFastbuildNormalTargetGenerator::Generate() AdditionalCleanFiles(); + if (!fastbuildTarget.DependenciesAlias.PreBuildDependencies.empty()) { + for (FastbuildObjectListNode& objListNode : + fastbuildTarget.ObjectListNodes) { + objListNode.PreBuildDependencies.emplace( + fastbuildTarget.DependenciesAlias.Name); + } + for (auto& linkerNode : fastbuildTarget.LinkerNode) { + linkerNode.PreBuildDependencies.emplace( + fastbuildTarget.DependenciesAlias.Name); + } + } + this->GetGlobalGenerator()->AddTarget(std::move(fastbuildTarget)); } diff --git a/Source/cmFastbuildTargetGenerator.cxx b/Source/cmFastbuildTargetGenerator.cxx index a153d95c6a..d05bc17ced 100644 --- a/Source/cmFastbuildTargetGenerator.cxx +++ b/Source/cmFastbuildTargetGenerator.cxx @@ -795,8 +795,6 @@ void cmFastbuildTargetGenerator::AddObjectDependencies( }; for (FastbuildObjectListNode& objList : fastbuildTarget.ObjectListNodes) { - objList.PreBuildDependencies.emplace( - fastbuildTarget.Name + FASTBUILD_DEPS_ARTIFACTS_ALIAS_POSTFIX); for (auto const& objDep : objList.ObjectDepends) { // Check if there is another object list which outputs (OBJECT_OUTPUTS) // something that this object list needs (OBJECT_DEPENDS). @@ -820,9 +818,6 @@ void cmFastbuildTargetGenerator::AddLinkerNodeDependnecies( FastbuildTarget& fastbuildTarget) { for (auto& linkerNode : fastbuildTarget.LinkerNode) { - linkerNode.PreBuildDependencies.emplace( - fastbuildTarget.Name + FASTBUILD_DEPS_ARTIFACTS_ALIAS_POSTFIX); - if (!fastbuildTarget.PreLinkExecNodes.Nodes.empty()) { linkerNode.PreBuildDependencies.emplace( fastbuildTarget.Name + FASTBUILD_PRE_LINK_ALIAS_POSTFIX);