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/build_settings.h" | 5 #include "tools/gn/build_settings.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/files/file_util.h" | 9 #include "base/files/file_util.h" |
10 #include "tools/gn/filesystem_utils.h" | 10 #include "tools/gn/filesystem_utils.h" |
11 | 11 |
12 BuildSettings::BuildSettings() | 12 BuildSettings::BuildSettings() { |
13 : check_for_bad_items_(true) { | |
14 } | 13 } |
15 | 14 |
16 BuildSettings::BuildSettings(const BuildSettings& other) | 15 BuildSettings::BuildSettings(const BuildSettings& other) |
17 : root_path_(other.root_path_), | 16 : root_path_(other.root_path_), |
18 root_path_utf8_(other.root_path_utf8_), | 17 root_path_utf8_(other.root_path_utf8_), |
19 secondary_source_path_(other.secondary_source_path_), | 18 secondary_source_path_(other.secondary_source_path_), |
20 python_path_(other.python_path_), | 19 python_path_(other.python_path_), |
21 build_config_file_(other.build_config_file_), | 20 build_config_file_(other.build_config_file_), |
22 build_dir_(other.build_dir_), | 21 build_dir_(other.build_dir_), |
23 build_args_(other.build_args_), | 22 build_args_(other.build_args_) { |
24 check_for_bad_items_(true) { | |
25 } | 23 } |
26 | 24 |
27 BuildSettings::~BuildSettings() { | 25 BuildSettings::~BuildSettings() { |
28 } | 26 } |
29 | 27 |
30 void BuildSettings::SetRootPath(const base::FilePath& r) { | 28 void BuildSettings::SetRootPath(const base::FilePath& r) { |
31 DCHECK(r.value()[r.value().size() - 1] != base::FilePath::kSeparators[0]); | 29 DCHECK(r.value()[r.value().size() - 1] != base::FilePath::kSeparators[0]); |
32 root_path_ = r.NormalizePathSeparatorsTo('/'); | 30 root_path_ = r.NormalizePathSeparatorsTo('/'); |
33 root_path_utf8_ = FilePathToUTF8(root_path_); | 31 root_path_utf8_ = FilePathToUTF8(root_path_); |
34 } | 32 } |
(...skipping 22 matching lines...) Expand all Loading... |
57 base::FilePath BuildSettings::GetFullPathSecondary( | 55 base::FilePath BuildSettings::GetFullPathSecondary( |
58 const SourceDir& dir) const { | 56 const SourceDir& dir) const { |
59 return dir.Resolve(secondary_source_path_).NormalizePathSeparatorsTo('/'); | 57 return dir.Resolve(secondary_source_path_).NormalizePathSeparatorsTo('/'); |
60 } | 58 } |
61 | 59 |
62 void BuildSettings::ItemDefined(std::unique_ptr<Item> item) const { | 60 void BuildSettings::ItemDefined(std::unique_ptr<Item> item) const { |
63 DCHECK(item); | 61 DCHECK(item); |
64 if (!item_defined_callback_.is_null()) | 62 if (!item_defined_callback_.is_null()) |
65 item_defined_callback_.Run(std::move(item)); | 63 item_defined_callback_.Run(std::move(item)); |
66 } | 64 } |
OLD | NEW |