OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "tools/gn/commands.h" | 5 #include "tools/gn/commands.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "tools/gn/builder.h" | 8 #include "tools/gn/builder.h" |
9 #include "tools/gn/filesystem_utils.h" | 9 #include "tools/gn/filesystem_utils.h" |
10 #include "tools/gn/item.h" | 10 #include "tools/gn/item.h" |
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
316 | 316 |
317 void PrintTargetsAsOutputs(bool indent, | 317 void PrintTargetsAsOutputs(bool indent, |
318 const std::vector<const Target*>& targets) { | 318 const std::vector<const Target*>& targets) { |
319 if (targets.empty()) | 319 if (targets.empty()) |
320 return; | 320 return; |
321 | 321 |
322 // Grab the build settings from a random target. | 322 // Grab the build settings from a random target. |
323 const BuildSettings* build_settings = | 323 const BuildSettings* build_settings = |
324 targets[0]->settings()->build_settings(); | 324 targets[0]->settings()->build_settings(); |
325 | 325 |
326 SourceDir current_dir = SourceDirForCurrentDirectory( | |
327 build_settings->root_path()); | |
328 for (const Target* target : targets) { | 326 for (const Target* target : targets) { |
329 // Use the link output file if there is one, otherwise fall back to the | 327 // Use the link output file if there is one, otherwise fall back to the |
330 // dependency output file (for actions, for example). | 328 // dependency output file (for actions, for example). |
331 OutputFile output_file = target->link_output_file(); | 329 OutputFile output_file = target->link_output_file(); |
332 if (output_file.value().empty()) | 330 if (output_file.value().empty()) |
333 output_file = target->dependency_output_file(); | 331 output_file = target->dependency_output_file(); |
334 | 332 |
335 SourceFile output_as_source = | 333 SourceFile output_as_source = |
336 output_file.AsSourceFile(build_settings); | 334 output_file.AsSourceFile(build_settings); |
337 std::string result = RebasePath(output_as_source.value(), current_dir, | 335 std::string result = RebasePath(output_as_source.value(), |
| 336 build_settings->build_dir(), |
338 build_settings->root_path_utf8()); | 337 build_settings->root_path_utf8()); |
339 if (indent) | 338 if (indent) |
340 OutputString(" "); | 339 OutputString(" "); |
341 OutputString(result); | 340 OutputString(result); |
342 OutputString("\n"); | 341 OutputString("\n"); |
343 } | 342 } |
344 } | 343 } |
345 | 344 |
346 } // namespace | 345 } // namespace |
347 | 346 |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
494 } | 493 } |
495 } | 494 } |
496 | 495 |
497 void FilterAndPrintTargetSet(bool indent, | 496 void FilterAndPrintTargetSet(bool indent, |
498 const std::set<const Target*>& targets) { | 497 const std::set<const Target*>& targets) { |
499 std::vector<const Target*> target_vector(targets.begin(), targets.end()); | 498 std::vector<const Target*> target_vector(targets.begin(), targets.end()); |
500 FilterAndPrintTargets(indent, &target_vector); | 499 FilterAndPrintTargets(indent, &target_vector); |
501 } | 500 } |
502 | 501 |
503 } // namespace commands | 502 } // namespace commands |
OLD | NEW |