• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2# Copyright 2019 The Abseil Authors.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      https://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17# Internal-only target, do not depend on directly.
18absl_cc_library(
19  NAME
20    flags_path_util
21  HDRS
22    "internal/path_util.h"
23  COPTS
24    ${ABSL_DEFAULT_COPTS}
25  LINKOPTS
26    ${ABSL_DEFAULT_LINKOPTS}
27  DEPS
28    absl::config
29    absl::strings
30  PUBLIC
31)
32
33# Internal-only target, do not depend on directly.
34absl_cc_library(
35  NAME
36    flags_program_name
37  SRCS
38    "internal/program_name.cc"
39  HDRS
40    "internal/program_name.h"
41  COPTS
42    ${ABSL_DEFAULT_COPTS}
43  LINKOPTS
44    ${ABSL_DEFAULT_LINKOPTS}
45  DEPS
46    absl::config
47    absl::core_headers
48    absl::flags_path_util
49    absl::strings
50    absl::synchronization
51  PUBLIC
52)
53
54absl_cc_library(
55  NAME
56    flags_config
57  SRCS
58    "usage_config.cc"
59  HDRS
60    "config.h"
61    "usage_config.h"
62  COPTS
63    ${ABSL_DEFAULT_COPTS}
64  LINKOPTS
65    ${ABSL_DEFAULT_LINKOPTS}
66  DEPS
67    absl::config
68    absl::flags_path_util
69    absl::flags_program_name
70    absl::core_headers
71    absl::strings
72    absl::synchronization
73)
74
75absl_cc_library(
76  NAME
77    flags_marshalling
78  SRCS
79    "marshalling.cc"
80  HDRS
81    "marshalling.h"
82  COPTS
83    ${ABSL_DEFAULT_COPTS}
84  LINKOPTS
85    ${ABSL_DEFAULT_LINKOPTS}
86  DEPS
87    absl::config
88    absl::core_headers
89    absl::log_severity
90    absl::int128
91    absl::optional
92    absl::strings
93    absl::str_format
94)
95
96# Internal-only target, do not depend on directly.
97absl_cc_library(
98  NAME
99    flags_commandlineflag_internal
100  SRCS
101    "internal/commandlineflag.cc"
102  HDRS
103    "internal/commandlineflag.h"
104  COPTS
105    ${ABSL_DEFAULT_COPTS}
106  LINKOPTS
107    ${ABSL_DEFAULT_LINKOPTS}
108  DEPS
109    absl::config
110    absl::dynamic_annotations
111    absl::fast_type_id
112)
113
114absl_cc_library(
115  NAME
116    flags_commandlineflag
117  SRCS
118    "commandlineflag.cc"
119  HDRS
120    "commandlineflag.h"
121  COPTS
122    ${ABSL_DEFAULT_COPTS}
123  LINKOPTS
124    ${ABSL_DEFAULT_LINKOPTS}
125  DEPS
126    absl::config
127    absl::fast_type_id
128    absl::flags_commandlineflag_internal
129    absl::optional
130    absl::strings
131)
132
133# Internal-only target, do not depend on directly.
134absl_cc_library(
135  NAME
136    flags_private_handle_accessor
137  SRCS
138    "internal/private_handle_accessor.cc"
139  HDRS
140    "internal/private_handle_accessor.h"
141  COPTS
142    ${ABSL_DEFAULT_COPTS}
143  LINKOPTS
144    ${ABSL_DEFAULT_LINKOPTS}
145  DEPS
146    absl::config
147    absl::flags_commandlineflag
148    absl::flags_commandlineflag_internal
149    absl::strings
150)
151
152absl_cc_library(
153  NAME
154    flags_reflection
155  SRCS
156    "reflection.cc"
157  HDRS
158    "reflection.h"
159    "internal/registry.h"
160  COPTS
161    ${ABSL_DEFAULT_COPTS}
162  LINKOPTS
163    ${ABSL_DEFAULT_LINKOPTS}
164  DEPS
165    absl::config
166    absl::flags_commandlineflag
167    absl::flags_private_handle_accessor
168    absl::flags_config
169    absl::strings
170    absl::synchronization
171    absl::flat_hash_map
172    absl::no_destructor
173)
174
175# Internal-only target, do not depend on directly.
176absl_cc_library(
177  NAME
178    flags_internal
179  SRCS
180    "internal/flag.cc"
181  HDRS
182    "internal/flag.h"
183    "internal/sequence_lock.h"
184  COPTS
185    ${ABSL_DEFAULT_COPTS}
186  LINKOPTS
187    ${ABSL_DEFAULT_LINKOPTS}
188  DEPS
189    absl::base
190    absl::config
191    absl::flags_commandlineflag
192    absl::flags_commandlineflag_internal
193    absl::flags_config
194    absl::flags_marshalling
195    absl::synchronization
196    absl::meta
197    absl::utility
198  PUBLIC
199)
200
201absl_cc_library(
202  NAME
203    flags
204  HDRS
205    "declare.h"
206    "flag.h"
207  COPTS
208    ${ABSL_DEFAULT_COPTS}
209  LINKOPTS
210    ${ABSL_DEFAULT_LINKOPTS}
211  DEPS
212    absl::config
213    absl::flags_commandlineflag
214    absl::flags_config
215    absl::flags_internal
216    absl::flags_reflection
217    absl::base
218    absl::core_headers
219    absl::strings
220)
221
222# Internal-only target, do not depend on directly.
223absl_cc_library(
224  NAME
225    flags_usage_internal
226  SRCS
227    "internal/usage.cc"
228  HDRS
229    "internal/usage.h"
230  COPTS
231    ${ABSL_DEFAULT_COPTS}
232  LINKOPTS
233    ${ABSL_DEFAULT_LINKOPTS}
234  DEPS
235    absl::config
236    absl::flags_config
237    absl::flags
238    absl::flags_commandlineflag
239    absl::flags_internal
240    absl::flags_path_util
241    absl::flags_private_handle_accessor
242    absl::flags_program_name
243    absl::flags_reflection
244    absl::strings
245    absl::synchronization
246)
247
248absl_cc_library(
249  NAME
250    flags_usage
251  SRCS
252    "usage.cc"
253  HDRS
254    "usage.h"
255  COPTS
256    ${ABSL_DEFAULT_COPTS}
257  LINKOPTS
258    ${ABSL_DEFAULT_LINKOPTS}
259  DEPS
260    absl::config
261    absl::core_headers
262    absl::flags_usage_internal
263    absl::raw_logging_internal
264    absl::strings
265    absl::synchronization
266)
267
268absl_cc_library(
269  NAME
270    flags_parse
271  SRCS
272    "parse.cc"
273  HDRS
274    "internal/parse.h"
275    "parse.h"
276  COPTS
277    ${ABSL_DEFAULT_COPTS}
278  LINKOPTS
279    ${ABSL_DEFAULT_LINKOPTS}
280  DEPS
281    absl::algorithm_container
282    absl::config
283    absl::core_headers
284    absl::flags_config
285    absl::flags
286    absl::flags_commandlineflag
287    absl::flags_commandlineflag_internal
288    absl::flags_internal
289    absl::flags_private_handle_accessor
290    absl::flags_program_name
291    absl::flags_reflection
292    absl::flags_usage
293    absl::strings
294    absl::synchronization
295)
296
297############################################################################
298# Unit tests in alphabetical order.
299
300absl_cc_test(
301  NAME
302    flags_commandlineflag_test
303  SRCS
304    "commandlineflag_test.cc"
305  COPTS
306    ${ABSL_TEST_COPTS}
307  DEPS
308    absl::flags
309    absl::flags_commandlineflag
310    absl::flags_commandlineflag_internal
311    absl::flags_config
312    absl::flags_private_handle_accessor
313    absl::flags_reflection
314    absl::memory
315    absl::strings
316    GTest::gtest_main
317)
318
319absl_cc_test(
320  NAME
321    flags_config_test
322  SRCS
323    "config_test.cc"
324  COPTS
325    ${ABSL_TEST_COPTS}
326  DEPS
327    absl::flags_config
328    GTest::gtest_main
329)
330
331absl_cc_test(
332  NAME
333    flags_flag_test
334  SRCS
335    "flag_test.cc"
336    "flag_test_defs.cc"
337  COPTS
338    ${ABSL_TEST_COPTS}
339  DEPS
340    absl::core_headers
341    absl::flags
342    absl::flags_config
343    absl::flags_internal
344    absl::flags_marshalling
345    absl::flags_reflection
346    absl::int128
347    absl::strings
348    absl::time
349    GTest::gtest_main
350)
351
352absl_cc_test(
353  NAME
354    flags_marshalling_test
355  SRCS
356    "marshalling_test.cc"
357  COPTS
358    ${ABSL_TEST_COPTS}
359  DEPS
360    absl::flags_marshalling
361    GTest::gtest_main
362)
363
364absl_cc_test(
365  NAME
366    flags_parse_test
367  SRCS
368    "parse_test.cc"
369  COPTS
370    ${ABSL_TEST_COPTS}
371  DEPS
372    absl::flags
373    absl::flags_parse
374    absl::flags_reflection
375    absl::flags_usage_internal
376    absl::log
377    absl::scoped_set_env
378    absl::span
379    absl::strings
380    GTest::gmock_main
381)
382
383absl_cc_test(
384  NAME
385    flags_path_util_test
386  SRCS
387    "internal/path_util_test.cc"
388  COPTS
389    ${ABSL_TEST_COPTS}
390  DEPS
391    absl::flags_path_util
392    GTest::gtest_main
393)
394
395absl_cc_test(
396  NAME
397    flags_program_name_test
398  SRCS
399    "internal/program_name_test.cc"
400  COPTS
401    ${ABSL_TEST_COPTS}
402  DEPS
403    absl::flags_program_name
404    absl::strings
405    GTest::gtest_main
406)
407
408absl_cc_test(
409  NAME
410    flags_reflection_test
411  SRCS
412    "reflection_test.cc"
413  COPTS
414    ${ABSL_TEST_COPTS}
415  DEPS
416    absl::flags_commandlineflag_internal
417    absl::flags
418    absl::flags_reflection
419    absl::flags_usage
420    absl::memory
421    absl::strings
422    GTest::gmock_main
423)
424
425absl_cc_test(
426  NAME
427    flags_sequence_lock_test
428  SRCS
429    "internal/sequence_lock_test.cc"
430  COPTS
431    ${ABSL_TEST_COPTS}
432  DEPS
433    absl::base
434    absl::flags_internal
435    absl::time
436    GTest::gmock_main
437)
438
439absl_cc_test(
440  NAME
441    flags_usage_config_test
442  SRCS
443    "usage_config_test.cc"
444  COPTS
445    ${ABSL_TEST_COPTS}
446  DEPS
447    absl::flags_config
448    absl::flags_path_util
449    absl::flags_program_name
450    absl::strings
451    GTest::gtest_main
452)
453
454absl_cc_test(
455  NAME
456    flags_usage_test
457  SRCS
458    "internal/usage_test.cc"
459  COPTS
460    ${ABSL_TEST_COPTS}
461  DEPS
462    absl::flags_config
463    absl::flags
464    absl::flags_path_util
465    absl::flags_program_name
466    absl::flags_parse
467    absl::flags_reflection
468    absl::flags_usage
469    absl::strings
470    GTest::gmock
471)
472