Removing uses of X11 native key events.
[chromium-blink-merge.git] / tools / gn / build_settings.cc
blob37d50f55ecb660142083abcaba2d5c36cb6017c8
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
3 // found in the LICENSE file.
5 #include "tools/gn/build_settings.h"
7 #include "base/files/file_util.h"
8 #include "tools/gn/filesystem_utils.h"
10 BuildSettings::BuildSettings() {
13 BuildSettings::BuildSettings(const BuildSettings& other)
14 : root_path_(other.root_path_),
15 root_path_utf8_(other.root_path_utf8_),
16 secondary_source_path_(other.secondary_source_path_),
17 python_path_(other.python_path_),
18 build_config_file_(other.build_config_file_),
19 build_dir_(other.build_dir_),
20 build_to_source_dir_string_(other.build_to_source_dir_string_),
21 build_args_(other.build_args_) {
24 BuildSettings::~BuildSettings() {
27 void BuildSettings::SetRootPath(const base::FilePath& r) {
28 DCHECK(r.value()[r.value().size() - 1] != base::FilePath::kSeparators[0]);
29 root_path_ = r.NormalizePathSeparatorsTo('/');
30 root_path_utf8_ = FilePathToUTF8(root_path_);
33 void BuildSettings::SetSecondarySourcePath(const SourceDir& d) {
34 secondary_source_path_ = GetFullPath(d).NormalizePathSeparatorsTo('/');
37 void BuildSettings::SetBuildDir(const SourceDir& d) {
38 build_dir_ = d;
39 build_to_source_dir_string_ = InvertDir(d);
42 base::FilePath BuildSettings::GetFullPath(const SourceFile& file) const {
43 return file.Resolve(root_path_).NormalizePathSeparatorsTo('/');
46 base::FilePath BuildSettings::GetFullPath(const SourceDir& dir) const {
47 return dir.Resolve(root_path_).NormalizePathSeparatorsTo('/');
50 base::FilePath BuildSettings::GetFullPathSecondary(
51 const SourceFile& file) const {
52 return file.Resolve(secondary_source_path_).NormalizePathSeparatorsTo('/');
55 base::FilePath BuildSettings::GetFullPathSecondary(
56 const SourceDir& dir) const {
57 return dir.Resolve(secondary_source_path_).NormalizePathSeparatorsTo('/');
60 void BuildSettings::ItemDefined(scoped_ptr<Item> item) const {
61 DCHECK(item);
62 if (!item_defined_callback_.is_null())
63 item_defined_callback_.Run(item.Pass());