• 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::core_headers
218    absl::strings
219)
220
221# Internal-only target, do not depend on directly.
222absl_cc_library(
223  NAME
224    flags_usage_internal
225  SRCS
226    "internal/usage.cc"
227  HDRS
228    "internal/usage.h"
229  COPTS
230    ${ABSL_DEFAULT_COPTS}
231  LINKOPTS
232    ${ABSL_DEFAULT_LINKOPTS}
233  DEPS
234    absl::config
235    absl::flags_config
236    absl::flags
237    absl::flags_commandlineflag
238    absl::flags_internal
239    absl::flags_path_util
240    absl::flags_private_handle_accessor
241    absl::flags_program_name
242    absl::flags_reflection
243    absl::strings
244    absl::synchronization
245)
246
247absl_cc_library(
248  NAME
249    flags_usage
250  SRCS
251    "usage.cc"
252  HDRS
253    "usage.h"
254  COPTS
255    ${ABSL_DEFAULT_COPTS}
256  LINKOPTS
257    ${ABSL_DEFAULT_LINKOPTS}
258  DEPS
259    absl::config
260    absl::core_headers
261    absl::flags_usage_internal
262    absl::raw_logging_internal
263    absl::strings
264    absl::synchronization
265)
266
267absl_cc_library(
268  NAME
269    flags_parse
270  SRCS
271    "parse.cc"
272  HDRS
273    "internal/parse.h"
274    "parse.h"
275  COPTS
276    ${ABSL_DEFAULT_COPTS}
277  LINKOPTS
278    ${ABSL_DEFAULT_LINKOPTS}
279  DEPS
280    absl::algorithm_container
281    absl::config
282    absl::core_headers
283    absl::flags_config
284    absl::flags
285    absl::flags_commandlineflag
286    absl::flags_commandlineflag_internal
287    absl::flags_internal
288    absl::flags_private_handle_accessor
289    absl::flags_program_name
290    absl::flags_reflection
291    absl::flags_usage
292    absl::strings
293    absl::synchronization
294)
295
296############################################################################
297# Unit tests in alphabetical order.
298
299absl_cc_test(
300  NAME
301    flags_commandlineflag_test
302  SRCS
303    "commandlineflag_test.cc"
304  COPTS
305    ${ABSL_TEST_COPTS}
306  DEPS
307    absl::flags
308    absl::flags_commandlineflag
309    absl::flags_config
310    absl::flags_private_handle_accessor
311    absl::flags_reflection
312    absl::memory
313    absl::strings
314    GTest::gtest_main
315)
316
317absl_cc_test(
318  NAME
319    flags_config_test
320  SRCS
321    "config_test.cc"
322  COPTS
323    ${ABSL_TEST_COPTS}
324  DEPS
325    absl::flags_config
326    GTest::gtest_main
327)
328
329absl_cc_test(
330  NAME
331    flags_flag_test
332  SRCS
333    "flag_test.cc"
334    "flag_test_defs.cc"
335  COPTS
336    ${ABSL_TEST_COPTS}
337  DEPS
338    absl::core_headers
339    absl::flags
340    absl::flags_config
341    absl::flags_internal
342    absl::flags_marshalling
343    absl::flags_reflection
344    absl::int128
345    absl::optional
346    absl::raw_logging_internal
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_config
374    absl::flags_parse
375    absl::flags_reflection
376    absl::flags_usage_internal
377    absl::log
378    absl::scoped_set_env
379    absl::span
380    absl::strings
381    GTest::gmock_main
382)
383
384absl_cc_test(
385  NAME
386    flags_path_util_test
387  SRCS
388    "internal/path_util_test.cc"
389  COPTS
390    ${ABSL_TEST_COPTS}
391  DEPS
392    absl::flags_path_util
393    GTest::gtest_main
394)
395
396absl_cc_test(
397  NAME
398    flags_program_name_test
399  SRCS
400    "internal/program_name_test.cc"
401  COPTS
402    ${ABSL_TEST_COPTS}
403  DEPS
404    absl::flags_program_name
405    absl::strings
406    GTest::gtest_main
407)
408
409absl_cc_test(
410  NAME
411    flags_reflection_test
412  SRCS
413    "reflection_test.cc"
414  COPTS
415    ${ABSL_TEST_COPTS}
416  DEPS
417    absl::flags
418    absl::flags_config
419    absl::flags_reflection
420    absl::flags_usage
421    absl::memory
422    absl::strings
423    GTest::gmock_main
424)
425
426absl_cc_test(
427  NAME
428    flags_sequence_lock_test
429  SRCS
430    "internal/sequence_lock_test.cc"
431  COPTS
432    ${ABSL_TEST_COPTS}
433  DEPS
434    absl::base
435    absl::flags_internal
436    absl::time
437    GTest::gmock_main
438)
439
440absl_cc_test(
441  NAME
442    flags_usage_config_test
443  SRCS
444    "usage_config_test.cc"
445  COPTS
446    ${ABSL_TEST_COPTS}
447  DEPS
448    absl::flags_config
449    absl::flags_path_util
450    absl::flags_program_name
451    absl::strings
452    GTest::gtest_main
453)
454
455absl_cc_test(
456  NAME
457    flags_usage_test
458  SRCS
459    "internal/usage_test.cc"
460  COPTS
461    ${ABSL_TEST_COPTS}
462  DEPS
463    absl::flags_config
464    absl::flags
465    absl::flags_path_util
466    absl::flags_program_name
467    absl::flags_parse
468    absl::flags_reflection
469    absl::flags_usage
470    absl::strings
471    GTest::gmock
472)
473