• 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::optional
91    absl::strings
92    absl::str_format
93)
94
95# Internal-only target, do not depend on directly.
96absl_cc_library(
97  NAME
98    flags_commandlineflag_internal
99  SRCS
100    "internal/commandlineflag.cc"
101  HDRS
102    "internal/commandlineflag.h"
103  COPTS
104    ${ABSL_DEFAULT_COPTS}
105  LINKOPTS
106    ${ABSL_DEFAULT_LINKOPTS}
107  DEPS
108    absl::config
109    absl::dynamic_annotations
110    absl::fast_type_id
111)
112
113absl_cc_library(
114  NAME
115    flags_commandlineflag
116  SRCS
117    "commandlineflag.cc"
118  HDRS
119    "commandlineflag.h"
120  COPTS
121    ${ABSL_DEFAULT_COPTS}
122  LINKOPTS
123    ${ABSL_DEFAULT_LINKOPTS}
124  DEPS
125    absl::config
126    absl::fast_type_id
127    absl::flags_commandlineflag_internal
128    absl::optional
129    absl::strings
130)
131
132# Internal-only target, do not depend on directly.
133absl_cc_library(
134  NAME
135    flags_private_handle_accessor
136  SRCS
137    "internal/private_handle_accessor.cc"
138  HDRS
139    "internal/private_handle_accessor.h"
140  COPTS
141    ${ABSL_DEFAULT_COPTS}
142  LINKOPTS
143    ${ABSL_DEFAULT_LINKOPTS}
144  DEPS
145    absl::config
146    absl::flags_commandlineflag
147    absl::flags_commandlineflag_internal
148    absl::strings
149)
150
151absl_cc_library(
152  NAME
153    flags_reflection
154  SRCS
155    "reflection.cc"
156  HDRS
157    "reflection.h"
158    "internal/registry.h"
159  COPTS
160    ${ABSL_DEFAULT_COPTS}
161  LINKOPTS
162    ${ABSL_DEFAULT_LINKOPTS}
163  DEPS
164    absl::config
165    absl::flags_commandlineflag
166    absl::flags_private_handle_accessor
167    absl::flags_config
168    absl::strings
169    absl::synchronization
170    absl::flat_hash_map
171)
172
173# Internal-only target, do not depend on directly.
174absl_cc_library(
175  NAME
176    flags_internal
177  SRCS
178    "internal/flag.cc"
179  HDRS
180    "internal/flag.h"
181    "internal/sequence_lock.h"
182  COPTS
183    ${ABSL_DEFAULT_COPTS}
184  LINKOPTS
185    ${ABSL_DEFAULT_LINKOPTS}
186  DEPS
187    absl::base
188    absl::config
189    absl::flags_commandlineflag
190    absl::flags_commandlineflag_internal
191    absl::flags_config
192    absl::flags_marshalling
193    absl::synchronization
194    absl::meta
195    absl::utility
196  PUBLIC
197)
198
199absl_cc_library(
200  NAME
201    flags
202  SRCS
203    "flag.cc"
204  HDRS
205    "declare.h"
206    "flag.h"
207    "internal/flag_msvc.inc"
208  COPTS
209    ${ABSL_DEFAULT_COPTS}
210  LINKOPTS
211    ${ABSL_DEFAULT_LINKOPTS}
212  DEPS
213    absl::config
214    absl::flags_commandlineflag
215    absl::flags_config
216    absl::flags_internal
217    absl::flags_reflection
218    absl::base
219    absl::core_headers
220    absl::strings
221)
222
223# Internal-only target, do not depend on directly.
224absl_cc_library(
225  NAME
226    flags_usage_internal
227  SRCS
228    "internal/usage.cc"
229  HDRS
230    "internal/usage.h"
231  COPTS
232    ${ABSL_DEFAULT_COPTS}
233  LINKOPTS
234    ${ABSL_DEFAULT_LINKOPTS}
235  DEPS
236    absl::config
237    absl::flags_config
238    absl::flags
239    absl::flags_commandlineflag
240    absl::flags_internal
241    absl::flags_path_util
242    absl::flags_private_handle_accessor
243    absl::flags_program_name
244    absl::flags_reflection
245    absl::flat_hash_map
246    absl::strings
247    absl::synchronization
248)
249
250absl_cc_library(
251  NAME
252    flags_usage
253  SRCS
254    "usage.cc"
255  HDRS
256    "usage.h"
257  COPTS
258    ${ABSL_DEFAULT_COPTS}
259  LINKOPTS
260    ${ABSL_DEFAULT_LINKOPTS}
261  DEPS
262    absl::config
263    absl::core_headers
264    absl::flags_usage_internal
265    absl::strings
266    absl::synchronization
267)
268
269absl_cc_library(
270  NAME
271    flags_parse
272  SRCS
273    "parse.cc"
274  HDRS
275    "internal/parse.h"
276    "parse.h"
277  COPTS
278    ${ABSL_DEFAULT_COPTS}
279  LINKOPTS
280    ${ABSL_DEFAULT_LINKOPTS}
281  DEPS
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 alpahabetical 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::strings
347    absl::time
348    GTest::gtest_main
349)
350
351absl_cc_test(
352  NAME
353    flags_marshalling_test
354  SRCS
355    "marshalling_test.cc"
356  COPTS
357    ${ABSL_TEST_COPTS}
358  DEPS
359    absl::flags_marshalling
360    GTest::gtest_main
361)
362
363absl_cc_test(
364  NAME
365    flags_parse_test
366  SRCS
367    "parse_test.cc"
368  COPTS
369    ${ABSL_TEST_COPTS}
370  DEPS
371    absl::flags
372    absl::flags_parse
373    absl::flags_reflection
374    absl::flags_usage_internal
375    absl::raw_logging_internal
376    absl::scoped_set_env
377    absl::span
378    absl::strings
379    GTest::gmock_main
380)
381
382absl_cc_test(
383  NAME
384    flags_path_util_test
385  SRCS
386    "internal/path_util_test.cc"
387  COPTS
388    ${ABSL_TEST_COPTS}
389  DEPS
390    absl::flags_path_util
391    GTest::gtest_main
392)
393
394absl_cc_test(
395  NAME
396    flags_program_name_test
397  SRCS
398    "internal/program_name_test.cc"
399  COPTS
400    ${ABSL_TEST_COPTS}
401  DEPS
402    absl::flags_program_name
403    absl::strings
404    GTest::gtest_main
405)
406
407absl_cc_test(
408  NAME
409    flags_reflection_test
410  SRCS
411    "reflection_test.cc"
412  COPTS
413    ${ABSL_TEST_COPTS}
414  DEPS
415    absl::flags_commandlineflag_internal
416    absl::flags
417    absl::flags_reflection
418    absl::flags_usage
419    absl::memory
420    absl::strings
421    GTest::gmock_main
422)
423
424absl_cc_test(
425  NAME
426    flags_sequence_lock_test
427  SRCS
428    "internal/sequence_lock_test.cc"
429  COPTS
430    ${ABSL_TEST_COPTS}
431  DEPS
432    absl::base
433    absl::flags_internal
434    absl::time
435    GTest::gmock_main
436)
437
438absl_cc_test(
439  NAME
440    flags_usage_config_test
441  SRCS
442    "usage_config_test.cc"
443  COPTS
444    ${ABSL_TEST_COPTS}
445  DEPS
446    absl::flags_config
447    absl::flags_path_util
448    absl::flags_program_name
449    absl::strings
450    GTest::gtest_main
451)
452
453absl_cc_test(
454  NAME
455    flags_usage_test
456  SRCS
457    "internal/usage_test.cc"
458  COPTS
459    ${ABSL_TEST_COPTS}
460  DEPS
461    absl::flags_config
462    absl::flags
463    absl::flags_path_util
464    absl::flags_program_name
465    absl::flags_parse
466    absl::flags_reflection
467    absl::flags_usage
468    absl::strings
469    GTest::gmock
470)
471