• 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)
173
174# Internal-only target, do not depend on directly.
175absl_cc_library(
176  NAME
177    flags_internal
178  SRCS
179    "internal/flag.cc"
180  HDRS
181    "internal/flag.h"
182    "internal/sequence_lock.h"
183  COPTS
184    ${ABSL_DEFAULT_COPTS}
185  LINKOPTS
186    ${ABSL_DEFAULT_LINKOPTS}
187  DEPS
188    absl::base
189    absl::config
190    absl::flags_commandlineflag
191    absl::flags_commandlineflag_internal
192    absl::flags_config
193    absl::flags_marshalling
194    absl::synchronization
195    absl::meta
196    absl::utility
197  PUBLIC
198)
199
200absl_cc_library(
201  NAME
202    flags
203  SRCS
204    "flag.cc"
205  HDRS
206    "declare.h"
207    "flag.h"
208    "internal/flag_msvc.inc"
209  COPTS
210    ${ABSL_DEFAULT_COPTS}
211  LINKOPTS
212    ${ABSL_DEFAULT_LINKOPTS}
213  DEPS
214    absl::config
215    absl::flags_commandlineflag
216    absl::flags_config
217    absl::flags_internal
218    absl::flags_reflection
219    absl::base
220    absl::core_headers
221    absl::strings
222)
223
224# Internal-only target, do not depend on directly.
225absl_cc_library(
226  NAME
227    flags_usage_internal
228  SRCS
229    "internal/usage.cc"
230  HDRS
231    "internal/usage.h"
232  COPTS
233    ${ABSL_DEFAULT_COPTS}
234  LINKOPTS
235    ${ABSL_DEFAULT_LINKOPTS}
236  DEPS
237    absl::config
238    absl::flags_config
239    absl::flags
240    absl::flags_commandlineflag
241    absl::flags_internal
242    absl::flags_path_util
243    absl::flags_private_handle_accessor
244    absl::flags_program_name
245    absl::flags_reflection
246    absl::flat_hash_map
247    absl::strings
248    absl::synchronization
249)
250
251absl_cc_library(
252  NAME
253    flags_usage
254  SRCS
255    "usage.cc"
256  HDRS
257    "usage.h"
258  COPTS
259    ${ABSL_DEFAULT_COPTS}
260  LINKOPTS
261    ${ABSL_DEFAULT_LINKOPTS}
262  DEPS
263    absl::config
264    absl::core_headers
265    absl::flags_usage_internal
266    absl::raw_logging_internal
267    absl::strings
268    absl::synchronization
269)
270
271absl_cc_library(
272  NAME
273    flags_parse
274  SRCS
275    "parse.cc"
276  HDRS
277    "internal/parse.h"
278    "parse.h"
279  COPTS
280    ${ABSL_DEFAULT_COPTS}
281  LINKOPTS
282    ${ABSL_DEFAULT_LINKOPTS}
283  DEPS
284    absl::algorithm_container
285    absl::config
286    absl::core_headers
287    absl::flags_config
288    absl::flags
289    absl::flags_commandlineflag
290    absl::flags_commandlineflag_internal
291    absl::flags_internal
292    absl::flags_private_handle_accessor
293    absl::flags_program_name
294    absl::flags_reflection
295    absl::flags_usage
296    absl::strings
297    absl::synchronization
298)
299
300############################################################################
301# Unit tests in alphabetical order.
302
303absl_cc_test(
304  NAME
305    flags_commandlineflag_test
306  SRCS
307    "commandlineflag_test.cc"
308  COPTS
309    ${ABSL_TEST_COPTS}
310  DEPS
311    absl::flags
312    absl::flags_commandlineflag
313    absl::flags_commandlineflag_internal
314    absl::flags_config
315    absl::flags_private_handle_accessor
316    absl::flags_reflection
317    absl::memory
318    absl::strings
319    GTest::gtest_main
320)
321
322absl_cc_test(
323  NAME
324    flags_config_test
325  SRCS
326    "config_test.cc"
327  COPTS
328    ${ABSL_TEST_COPTS}
329  DEPS
330    absl::flags_config
331    GTest::gtest_main
332)
333
334absl_cc_test(
335  NAME
336    flags_flag_test
337  SRCS
338    "flag_test.cc"
339    "flag_test_defs.cc"
340  COPTS
341    ${ABSL_TEST_COPTS}
342  DEPS
343    absl::core_headers
344    absl::flags
345    absl::flags_config
346    absl::flags_internal
347    absl::flags_marshalling
348    absl::flags_reflection
349    absl::int128
350    absl::strings
351    absl::time
352    GTest::gtest_main
353)
354
355absl_cc_test(
356  NAME
357    flags_marshalling_test
358  SRCS
359    "marshalling_test.cc"
360  COPTS
361    ${ABSL_TEST_COPTS}
362  DEPS
363    absl::flags_marshalling
364    GTest::gtest_main
365)
366
367absl_cc_test(
368  NAME
369    flags_parse_test
370  SRCS
371    "parse_test.cc"
372  COPTS
373    ${ABSL_TEST_COPTS}
374  DEPS
375    absl::flags
376    absl::flags_parse
377    absl::flags_reflection
378    absl::flags_usage_internal
379    absl::log
380    absl::scoped_set_env
381    absl::span
382    absl::strings
383    GTest::gmock_main
384)
385
386absl_cc_test(
387  NAME
388    flags_path_util_test
389  SRCS
390    "internal/path_util_test.cc"
391  COPTS
392    ${ABSL_TEST_COPTS}
393  DEPS
394    absl::flags_path_util
395    GTest::gtest_main
396)
397
398absl_cc_test(
399  NAME
400    flags_program_name_test
401  SRCS
402    "internal/program_name_test.cc"
403  COPTS
404    ${ABSL_TEST_COPTS}
405  DEPS
406    absl::flags_program_name
407    absl::strings
408    GTest::gtest_main
409)
410
411absl_cc_test(
412  NAME
413    flags_reflection_test
414  SRCS
415    "reflection_test.cc"
416  COPTS
417    ${ABSL_TEST_COPTS}
418  DEPS
419    absl::flags_commandlineflag_internal
420    absl::flags
421    absl::flags_reflection
422    absl::flags_usage
423    absl::memory
424    absl::strings
425    GTest::gmock_main
426)
427
428absl_cc_test(
429  NAME
430    flags_sequence_lock_test
431  SRCS
432    "internal/sequence_lock_test.cc"
433  COPTS
434    ${ABSL_TEST_COPTS}
435  DEPS
436    absl::base
437    absl::flags_internal
438    absl::time
439    GTest::gmock_main
440)
441
442absl_cc_test(
443  NAME
444    flags_usage_config_test
445  SRCS
446    "usage_config_test.cc"
447  COPTS
448    ${ABSL_TEST_COPTS}
449  DEPS
450    absl::flags_config
451    absl::flags_path_util
452    absl::flags_program_name
453    absl::strings
454    GTest::gtest_main
455)
456
457absl_cc_test(
458  NAME
459    flags_usage_test
460  SRCS
461    "internal/usage_test.cc"
462  COPTS
463    ${ABSL_TEST_COPTS}
464  DEPS
465    absl::flags_config
466    absl::flags
467    absl::flags_path_util
468    absl::flags_program_name
469    absl::flags_parse
470    absl::flags_reflection
471    absl::flags_usage
472    absl::strings
473    GTest::gmock
474)
475