Browse Source

Ninja: Simplify computation of GLOBAL_TARGET outputs

In cmGlobalNinjaGenerator::AppendTargetOutputs we previously
handled GLOBAL_TARGET outputs specially in order to avoid adding
directory components to the output.  However, this is not necessary
because cmNinjaTargetGenerator::New already filters out copies of
these targets that are not at the top level.  Instead we can simply
follow the same output computation code path as UTILITY targets.
Brad King 9 năm trước cách đây
mục cha
commit
a88c99f1bc
1 tập tin đã thay đổi với 1 bổ sung6 xóa
  1. 1 6
      Source/cmGlobalNinjaGenerator.cxx

+ 1 - 6
Source/cmGlobalNinjaGenerator.cxx

@@ -867,6 +867,7 @@ void cmGlobalNinjaGenerator::AppendTargetOutputs(
       break;
     }
     case cmState::OBJECT_LIBRARY:
+    case cmState::GLOBAL_TARGET:
     case cmState::UTILITY: {
       std::string path =
         target->GetLocalGenerator()->GetCurrentBinaryDirectory() +
@@ -875,12 +876,6 @@ void cmGlobalNinjaGenerator::AppendTargetOutputs(
       break;
     }
 
-    case cmState::GLOBAL_TARGET:
-      // Always use the target in HOME instead of an unused duplicate in a
-      // subdirectory.
-      outputs.push_back(this->NinjaOutputPath(target->GetName()));
-      break;
-
     default:
       return;
   }