blob: 95b19fec3a39b008f08e3ab9208e772e1d887933 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
#
# Copyright 2017 The Abseil Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
list(APPEND TYPES_PUBLIC_HEADERS
"any.h"
"bad_any_cast.h"
"bad_optional_access.h"
"optional.h"
"span.h"
)
list(APPEND BAD_ANY_CAST_SRC
"bad_any_cast.cc"
${TYPES_PUBLIC_HEADERS}
)
set(BAD_ANY_CAST_PUBLIC_LIBRARIES absl::base)
absl_library(
TARGET
absl_bad_any_cast
SOURCES
${BAD_ANY_CAST_SRC}
PUBLIC_LIBRARIES
${BAD_ANY_CAST_PUBLIC_LIBRARIES}
)
set(OPTIONAL_SRC "optional.cc")
set(OPTIONAL_PUBLIC_LIBRARIES absl::base)
absl_library(
TARGET
absl_optional
SOURCES
${OPTIONAL_SRC}
PUBLIC_LIBRARIES
${OPTIONAL_PUBLIC_LIBRARIES}
)
set(BAD_OPTIONAL_ACCESS_SRC "bad_optional_access.cc")
set(BAD_OPTIONAL_ACCESS_LIBRARIES absl::base)
absl_library(
TARGET
absl_bad_optional_access
SOURCES
${BAD_OPTIONAL_ACCESS_SRC}
PUBLIC_LIBRARIES
${BAD_OPTIONAL_ACCESS_PUBLIC_LIBRARIES}
)
absl_header_library(
TARGET
absl_types
PUBLIC_LIBRARIES
absl_optional absl_bad_any_cast absl_bad_optional_access
EXPORT_NAME
types
)
#
## TESTS
#
# test any_test
set(ANY_TEST_SRC "any_test.cc")
set(ANY_TEST_PUBLIC_LIBRARIES absl::base absl_throw_delegate absl_bad_any_cast test_instance_tracker_lib)
absl_test(
TARGET
any_test
SOURCES
${ANY_TEST_SRC}
PUBLIC_LIBRARIES
${ANY_TEST_PUBLIC_LIBRARIES}
PRIVATE_COMPILE_FLAGS
${ABSL_EXCEPTIONS_FLAG}
)
# test any_test_noexceptions
absl_test(
TARGET
any_test_noexceptions
SOURCES
${ANY_TEST_SRC}
PUBLIC_LIBRARIES
${ANY_TEST_PUBLIC_LIBRARIES}
)
# test span_test
set(SPAN_TEST_SRC "span_test.cc")
set(SPAN_TEST_PUBLIC_LIBRARIES absl::base absl::strings absl_throw_delegate absl_bad_any_cast test_instance_tracker_lib)
absl_test(
TARGET
span_test
SOURCES
${SPAN_TEST_SRC}
PUBLIC_LIBRARIES
${SPAN_TEST_PUBLIC_LIBRARIES}
PRIVATE_COMPILE_FLAGS
${ABSL_EXCEPTIONS_FLAG}
)
# test span_test_noexceptions
absl_test(
TARGET
span_test_noexceptions
SOURCES
${SPAN_TEST_SRC}
PUBLIC_LIBRARIES
${SPAN_TEST_PUBLIC_LIBRARIES}
)
# test optional_test
set(OPTIONAL_TEST_SRC "optional_test.cc")
set(OPTIONAL_TEST_PUBLIC_LIBRARIES absl::base absl_throw_delegate absl_optional bad_optional_access)
absl_test(
TARGET
optional_test
SOURCES
${OPTIONAL_TEST_SRC}
PUBLIC_LIBRARIES
${OPTIONAL_TEST_PUBLIC_LIBRARIES}
)
|