@ -13,216 +13,306 @@
# S e e t h e L i c e n s e f o r t h e s p e c i f i c l a n g u a g e g o v e r n i n g p e r m i s s i o n s a n d
# l i m i t a t i o n s u n d e r t h e L i c e n s e .
#
list ( APPEND TYPES_PUBLIC_HEADERS
" a n y . h "
" b a d _ a n y _ c a s t . h "
" b a d _ o p t i o n a l _ a c c e s s . h "
" o p t i o n a l . h "
" s p a n . h "
" v a r i a n t . h "
)
# a n y l i b r a r y
absl_header_library (
T A R G E T
a b s l _ a n y
P U B L I C _ L I B R A R I E S
a b s l : : b a d _ a n y _ c a s t
a b s l : : b a s e
a b s l : : m e t a
a b s l : : u t i l i t y
P R I V A T E _ C O M P I L E _ F L A G S
$ { A B S L _ E X C E P T I O N S _ F L A G }
E X P O R T _ N A M E
absl_cc_library (
N A M E
a n y
)
# s p a n l i b r a r y
absl_header_library (
T A R G E T
a b s l _ s p a n
P U B L I C _ L I B R A R I E S
H D R S
" a n y . h "
C O P T S
$ { A B S L _ D E F A U L T _ C O P T S }
D E P S
a b s l : : b a d _ a n y _ c a s t
a b s l : : c o n f i g
a b s l : : c o r e _ h e a d e r s
a b s l : : t y p e _ t r a i t s
a b s l : : u t i l i t y
E X P O R T _ N A M E
s p a n
)
# b a d _ a n y _ c a s t l i b r a r y
list ( APPEND BAD_ANY_CAST_SRC
" b a d _ a n y _ c a s t . c c "
$ { T Y P E S _ P U B L I C _ H E A D E R S }
P U B L I C
)
absl_library (
T A R G E T
a b s l _ b a d _ a n y _ c a s t
S O U R C E S
$ { B A D _ A N Y _ C A S T _ S R C }
P U B L I C _ L I B R A R I E S
E X P O R T _ N A M E
absl_cc_library (
N A M E
b a d _ a n y _ c a s t
H D R S
" b a d _ a n y _ c a s t . h "
C O P T S
$ { A B S L _ D E F A U L T _ C O P T S }
D E P S
a b s l : : b a d _ a n y _ c a s t _ i m p l
a b s l : : c o n f i g
P U B L I C
)
# o p t i o n a l l i b r a r y
list ( APPEND OPTIONAL_SRC
" o p t i o n a l . c c "
)
absl_library (
T A R G E T
a b s l _ o p t i o n a l
S O U R C E S
$ { O P T I O N A L _ S R C }
P U B L I C _ L I B R A R I E S
a b s l : : b a d _ o p t i o n a l _ a c c e s s
a b s l : : b a s e
a b s l : : m e m o r y
a b s l : : m e t a
a b s l : : u t i l i t y
E X P O R T _ N A M E
o p t i o n a l
)
set ( BAD_OPTIONAL_ACCESS_SRC "bad_optional_access.cc" )
set ( BAD_OPTIONAL_ACCESS_LIBRARIES absl::base )
absl_library (
T A R G E T
a b s l _ b a d _ o p t i o n a l _ a c c e s s
S O U R C E S
$ { B A D _ O P T I O N A L _ A C C E S S _ S R C }
P U B L I C _ L I B R A R I E S
$ { B A D _ O P T I O N A L _ A C C E S S _ P U B L I C _ L I B R A R I E S }
E X P O R T _ N A M E
b a d _ o p t i o n a l _ a c c e s s
)
# v a r i a n t l i b r a r y
absl_library (
T A R G E T
a b s l _ v a r i a n t
S O U R C E S
" b a d _ v a r i a n t _ a c c e s s . h " " b a d _ v a r i a n t _ a c c e s s . c c " " v a r i a n t . h " " i n t e r n a l / v a r i a n t . h "
P U B L I C _ L I B R A R I E S
a b s l : : b a s e a b s l : : m e t a a b s l : : u t i l i t y
P R I V A T E _ C O M P I L E _ F L A G S
absl_cc_library (
N A M E
b a d _ a n y _ c a s t _ i m p l
S R C S
" b a d _ a n y _ c a s t . h "
" b a d _ a n y _ c a s t . c c "
C O P T S
$ { A B S L _ D E F A U L T _ C O P T S }
$ { A B S L _ E X C E P T I O N S _ F L A G }
E X P O R T _ N A M E
v a r i a n t
L I N K O P T S
$ { A B S L _ E X C E P T I O N S _ F L A G _ L I N K O P T S }
D E P S
a b s l : : b a s e
a b s l : : c o n f i g
)
#
# # T E S T S
#
# t e s t a n y _ t e s t
set ( ANY_TEST_SRC "any_test.cc" )
set ( ANY_TEST_PUBLIC_LIBRARIES absl::base absl_internal_throw_delegate absl::any absl::bad_any_cast absl::test_instance_tracker )
absl_test (
T A R G E T
absl_cc_test (
N A M E
a n y _ t e s t
S O U R C E S
$ { A N Y _ T E S T _ S R C }
P U B L I C _ L I B R A R I E S
$ { A N Y _ T E S T _ P U B L I C _ L I B R A R I E S }
P R I V A T E _ C O M P I L E _ F L A G S
S R C S
" a n y _ t e s t . c c "
C O P T S
$ { A B S L _ T E S T _ C O P T S }
$ { A B S L _ E X C E P T I O N S _ F L A G }
L I N K O P T S
$ { A B S L _ E X C E P T I O N S _ F L A G _ L I N K O P T S }
D E P S
a b s l : : a n y
a b s l : : b a s e
a b s l : : c o n f i g
a b s l : : e x c e p t i o n _ t e s t i n g
a b s l : : t e s t _ i n s t a n c e _ t r a c k e r
g m o c k _ m a i n
)
# t e s t a n y _ t e s t _ n o e x c e p t i o n s
absl_test (
T A R G E T
absl_cc_test (
N A M E
a n y _ t e s t _ n o e x c e p t i o n s
S O U R C E S
$ { A N Y _ T E S T _ S R C }
P U B L I C _ L I B R A R I E S
$ { A N Y _ T E S T _ P U B L I C _ L I B R A R I E S }
)
# t e s t a n y _ e x c e p t i o n _ s a f e t y _ t e s t
set ( ANY_EXCEPTION_SAFETY_TEST_SRC "any_exception_safety_test.cc" )
set ( ANY_EXCEPTION_SAFETY_TEST_PUBLIC_LIBRARIES
a b s l : : a n y
a b s l : : b a s e
a b s l _ i n t e r n a l _ e x c e p t i o n _ s a f e t y _ t e s t i n g
S R C S
" a n y _ t e s t . c c "
C O P T S
$ { A B S L _ T E S T _ C O P T S }
D E P S
a b s l : : a n y
a b s l : : b a s e
a b s l : : c o n f i g
a b s l : : e x c e p t i o n _ t e s t i n g
a b s l : : t e s t _ i n s t a n c e _ t r a c k e r
g m o c k _ m a i n
)
absl_test (
T A R G E T
absl_cc_ test (
N A M E
a n y _ e x c e p t i o n _ s a f e t y _ t e s t
S O U R C E S
$ { A N Y _ E X C E P T I O N _ S A F E T Y _ T E S T _ S R C }
P U B L I C _ L I B R A R I E S
$ { A N Y _ E X C E P T I O N _ S A F E T Y _ T E S T _ P U B L I C _ L I B R A R I E S }
P R I V A T E _ C O M P I L E _ F L A G S
S R C S
" a n y _ e x c e p t i o n _ s a f e t y _ t e s t . c c "
C O P T S
$ { A B S L _ T E S T _ C O P T S }
$ { A B S L _ E X C E P T I O N S _ F L A G }
L I N K O P T S
$ { A B S L _ E X C E P T I O N S _ F L A G _ L I N K O P T S }
D E P S
a b s l : : a n y
a b s l : : e x c e p t i o n _ s a f e t y _ t e s t i n g
g m o c k _ m a i n
)
absl_cc_library (
N A M E
s p a n
H D R S
" s p a n . h "
C O P T S
$ { A B S L _ D E F A U L T _ C O P T S }
D E P S
a b s l : : a l g o r i t h m
a b s l : : c o r e _ h e a d e r s
a b s l : : t h r o w _ d e l e g a t e
a b s l : : t y p e _ t r a i t s
P U B L I C
)
# t e s t s p a n _ t e s t
set ( SPAN_TEST_SRC "span_test.cc" )
set ( SPAN_TEST_PUBLIC_LIBRARIES absl::base absl::strings absl_internal_throw_delegate absl::span absl::test_instance_tracker )
absl_test (
T A R G E T
absl_cc_test (
N A M E
s p a n _ t e s t
S O U R C E S
$ { S P A N _ T E S T _ S R C }
P U B L I C _ L I B R A R I E S
$ { S P A N _ T E S T _ P U B L I C _ L I B R A R I E S }
P R I V A T E _ C O M P I L E _ F L A G S
S R C S
" s p a n _ t e s t . c c "
C O P T S
$ { A B S L _ T E S T _ C O P T S }
$ { A B S L _ E X C E P T I O N S _ F L A G }
L I N K O P T S
$ { A B S L _ E X C E P T I O N S _ F L A G _ L I N K O P T S }
D E P S
a b s l : : s p a n
a b s l : : b a s e
a b s l : : c o n f i g
a b s l : : c o r e _ h e a d e r s
a b s l : : e x c e p t i o n _ t e s t i n g
a b s l : : f i x e d _ a r r a y
a b s l : : i n l i n e d _ v e c t o r
a b s l : : h a s h _ t e s t i n g
a b s l : : s t r i n g s
g m o c k _ m a i n
)
# t e s t s p a n _ t e s t _ n o e x c e p t i o n s
absl_test (
T A R G E T
absl_cc_test (
N A M E
s p a n _ t e s t _ n o e x c e p t i o n s
S O U R C E S
$ { S P A N _ T E S T _ S R C }
P U B L I C _ L I B R A R I E S
$ { S P A N _ T E S T _ P U B L I C _ L I B R A R I E S }
S R C S
" s p a n _ t e s t . c c "
C O P T S
$ { A B S L _ T E S T _ C O P T S }
D E P S
a b s l : : s p a n
a b s l : : b a s e
a b s l : : c o n f i g
a b s l : : c o r e _ h e a d e r s
a b s l : : e x c e p t i o n _ t e s t i n g
a b s l : : f i x e d _ a r r a y
a b s l : : i n l i n e d _ v e c t o r
a b s l : : h a s h _ t e s t i n g
a b s l : : s t r i n g s
g m o c k _ m a i n
)
absl_cc_library (
N A M E
o p t i o n a l
H D R S
" o p t i o n a l . h "
S R C S
" o p t i o n a l . c c "
C O P T S
$ { A B S L _ D E F A U L T _ C O P T S }
D E P S
a b s l : : b a d _ o p t i o n a l _ a c c e s s
a b s l : : c o n f i g
a b s l : : c o r e _ h e a d e r s
a b s l : : m e m o r y
a b s l : : t y p e _ t r a i t s
a b s l : : u t i l i t y
P U B L I C
)
absl_cc_library (
N A M E
b a d _ o p t i o n a l _ a c c e s s
H D R S
" b a d _ o p t i o n a l _ a c c e s s . h "
S R C S
" b a d _ o p t i o n a l _ a c c e s s . c c "
C O P T S
$ { A B S L _ D E F A U L T _ C O P T S }
$ { A B S L _ E X C E P T I O N S _ F L A G }
L I N K O P T S
$ { A B S L _ E X C E P T I O N S _ F L A G _ L I N K O P T S }
D E P S
a b s l : : b a s e
a b s l : : c o n f i g
P U B L I C
)
# t e s t o p t i o n a l _ t e s t
set ( OPTIONAL_TEST_SRC "optional_test.cc" )
set ( OPTIONAL_TEST_PUBLIC_LIBRARIES absl::base absl_internal_throw_delegate absl::optional absl_bad_optional_access )
absl_cc_library (
N A M E
b a d _ v a r i a n t _ a c c e s s
H D R S
" b a d _ v a r i a n t _ a c c e s s . h "
S R C S
" b a d _ v a r i a n t _ a c c e s s . c c "
C O P T S
$ { A B S L _ D E F A U L T _ C O P T S }
$ { A B S L _ E X C E P T I O N S _ F L A G }
L I N K O P T S
$ { A B S L _ E X C E P T I O N S _ F L A G _ L I N K O P T S }
D E P S
a b s l : : b a s e
a b s l : : c o n f i g
P U B L I C
)
absl_test (
T A R G E T
absl_cc_ test (
N A M E
o p t i o n a l _ t e s t
S O U R C E S
$ { O P T I O N A L _ T E S T _ S R C }
P U B L I C _ L I B R A R I E S
$ { O P T I O N A L _ T E S T _ P U B L I C _ L I B R A R I E S }
S R C S
" o p t i o n a l _ t e s t . c c "
C O P T S
$ { A B S L _ T E S T _ C O P T S }
$ { A B S L _ E X C E P T I O N S _ F L A G }
L I N K O P T S
$ { A B S L _ E X C E P T I O N S _ F L A G _ L I N K O P T S }
D E P S
a b s l : : o p t i o n a l
a b s l : : b a s e
a b s l : : c o n f i g
a b s l : : t y p e _ t r a i t s
a b s l : : s t r i n g s
g m o c k _ m a i n
)
absl_cc_test (
N A M E
o p t i o n a l _ e x c e p t i o n _ s a f e t y _ t e s t
S R C S
" o p t i o n a l _ e x c e p t i o n _ s a f e t y _ t e s t . c c "
C O P T S
$ { A B S L _ T E S T _ C O P T S }
$ { A B S L _ E X C E P T I O N S _ F L A G }
L I N K O P T S
$ { A B S L _ E X C E P T I O N S _ F L A G _ L I N K O P T S }
D E P S
a b s l : : o p t i o n a l
a b s l : : e x c e p t i o n _ s a f e t y _ t e s t i n g
g m o c k _ m a i n
)
absl_cc_library (
N A M E
v a r i a n t
H D R S
" v a r i a n t . h "
S R C S
" i n t e r n a l / v a r i a n t . h "
C O P T S
$ { A B S L _ D E F A U L T _ C O P T S }
D E P S
a b s l : : b a d _ v a r i a n t _ a c c e s s
a b s l : : b a s e _ i n t e r n a l
a b s l : : c o n f i g
a b s l : : c o r e _ h e a d e r s
a b s l : : t y p e _ t r a i t s
a b s l : : u t i l i t y
P U B L I C
)
# t e s t o p t i o n a l _ e x c e p t i o n _ s a f e t y _ t e s t
set ( OPTIONAL_EXCEPTION_SAFETY_TEST_SRC "optional_exception_safety_test.cc" )
set ( OPTIONAL_EXCEPTION_SAFETY_TEST_PUBLIC_LIBRARIES
a b s l : : o p t i o n a l
a b s l _ i n t e r n a l _ e x c e p t i o n _ s a f e t y _ t e s t i n g
absl_cc_test (
N A M E
v a r i a n t _ t e s t
S R C S
" v a r i a n t _ t e s t . c c "
C O P T S
$ { A B S L _ T E S T _ C O P T S }
$ { A B S L _ E X C E P T I O N S _ F L A G }
L I N K O P T S
$ { A B S L _ E X C E P T I O N S _ F L A G _ L I N K O P T S }
D E P S
a b s l : : v a r i a n t
a b s l : : c o n f i g
a b s l : : c o r e _ h e a d e r s
a b s l : : m e m o r y
a b s l : : t y p e _ t r a i t s
a b s l : : s t r i n g s
g m o c k _ m a i n
)
absl_test (
T A R G E T
o p t i o n a l _ e x c e p t i o n _ s a f e t y _ t e s t
S O U R C E S
$ { O P T I O N A L _ E X C E P T I O N _ S A F E T Y _ T E S T _ S R C }
P U B L I C _ L I B R A R I E S
$ { O P T I O N A L _ E X C E P T I O N _ S A F E T Y _ T E S T _ P U B L I C _ L I B R A R I E S }
P R I V A T E _ C O M P I L E _ F L A G S
# TODO ( cohenjon,zhangxy ) F i g u r e o u t w h y t h i s t e s t i s f a i l i n g o n g c c 4 . 8
if ( CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.9 )
absl_cc_test (
N A M E
v a r i a n t _ e x c e p t i o n _ s a f e t y _ t e s t
S R C S
" v a r i a n t _ e x c e p t i o n _ s a f e t y _ t e s t . c c "
C O P T S
$ { A B S L _ T E S T _ C O P T S }
$ { A B S L _ E X C E P T I O N S _ F L A G }
L I N K O P T S
$ { A B S L _ E X C E P T I O N S _ F L A G _ L I N K O P T S }
D E P S
a b s l : : v a r i a n t
a b s l : : c o n f i g
a b s l : : e x c e p t i o n _ s a f e t y _ t e s t i n g
a b s l : : m e m o r y
g m o c k _ m a i n
)
endif ( )