Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(419)

Side by Side Diff: tools/gn/target.h

Issue 26267003: Add the concept of a source set to GN. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tools/gn/secondary/chrome/BUILD.gn ('k') | tools/gn/target.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #ifndef TOOLS_GN_TARGET_H_ 5 #ifndef TOOLS_GN_TARGET_H_
6 #define TOOLS_GN_TARGET_H_ 6 #define TOOLS_GN_TARGET_H_
7 7
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 14 matching lines...) Expand all
25 class Token; 25 class Token;
26 26
27 class Target : public Item { 27 class Target : public Item {
28 public: 28 public:
29 enum OutputType { 29 enum OutputType {
30 UNKNOWN, 30 UNKNOWN,
31 GROUP, 31 GROUP,
32 EXECUTABLE, 32 EXECUTABLE,
33 SHARED_LIBRARY, 33 SHARED_LIBRARY,
34 STATIC_LIBRARY, 34 STATIC_LIBRARY,
35 SOURCE_SET,
35 COPY_FILES, 36 COPY_FILES,
36 CUSTOM, 37 CUSTOM,
37 }; 38 };
38 typedef std::vector<SourceFile> FileList; 39 typedef std::vector<SourceFile> FileList;
39 typedef std::vector<std::string> StringVector; 40 typedef std::vector<std::string> StringVector;
40 41
41 Target(const Settings* settings, const Label& label); 42 Target(const Settings* settings, const Label& label);
42 virtual ~Target(); 43 virtual ~Target();
43 44
44 // Returns a string naming the output type. 45 // Returns a string naming the output type.
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 std::vector<const Target*> deps_; 169 std::vector<const Target*> deps_;
169 std::vector<const Target*> datadeps_; 170 std::vector<const Target*> datadeps_;
170 171
171 std::vector<const Config*> configs_; 172 std::vector<const Config*> configs_;
172 std::vector<const Config*> all_dependent_configs_; 173 std::vector<const Config*> all_dependent_configs_;
173 std::vector<const Config*> direct_dependent_configs_; 174 std::vector<const Config*> direct_dependent_configs_;
174 std::vector<const Target*> forward_dependent_configs_; 175 std::vector<const Target*> forward_dependent_configs_;
175 176
176 bool external_; 177 bool external_;
177 178
178 // Libraries from transitive deps. Libraries need to be linked only 179 // Static libraries and source sets from transitive deps. These things need
179 // with the end target (executable, shared library). These do not get 180 // to be linked only with the end target (executable, shared library). These
180 // pushed beyond shared library boundaries. 181 // do not get pushed beyond shared library boundaries.
181 std::set<const Target*> inherited_libraries_; 182 std::set<const Target*> inherited_libraries_;
182 183
183 // These libs and dirs are inherited from statically linked deps and all 184 // These libs and dirs are inherited from statically linked deps and all
184 // configs applying to this target. 185 // configs applying to this target.
185 OrderedSet<SourceDir> all_lib_dirs_; 186 OrderedSet<SourceDir> all_lib_dirs_;
186 OrderedSet<std::string> all_libs_; 187 OrderedSet<std::string> all_libs_;
187 188
188 ConfigValues config_values_; // Used for all binary targets. 189 ConfigValues config_values_; // Used for all binary targets.
189 ScriptValues script_values_; // Used for script (CUSTOM) targets. 190 ScriptValues script_values_; // Used for script (CUSTOM) targets.
190 191
191 SourceDir destdir_; 192 SourceDir destdir_;
192 193
193 bool generated_; 194 bool generated_;
194 const Token* generator_function_; // Who generated this: for error messages. 195 const Token* generator_function_; // Who generated this: for error messages.
195 196
196 DISALLOW_COPY_AND_ASSIGN(Target); 197 DISALLOW_COPY_AND_ASSIGN(Target);
197 }; 198 };
198 199
199 #endif // TOOLS_GN_TARGET_H_ 200 #endif // TOOLS_GN_TARGET_H_
OLDNEW
« no previous file with comments | « tools/gn/secondary/chrome/BUILD.gn ('k') | tools/gn/target.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698