Abseil Common Libraries (C++) (grcp 依赖)
https://abseil.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
299 lines
5.4 KiB
299 lines
5.4 KiB
# |
|
# 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 STRINGS_PUBLIC_HEADERS |
|
"ascii.h" |
|
"escaping.h" |
|
"match.h" |
|
"numbers.h" |
|
"str_cat.h" |
|
"string_view.h" |
|
"strip.h" |
|
"str_join.h" |
|
"str_replace.h" |
|
"str_split.h" |
|
"substitute.h" |
|
) |
|
|
|
|
|
list(APPEND STRINGS_INTERNAL_HEADERS |
|
"internal/char_map.h" |
|
"internal/memutil.h" |
|
"internal/ostringstream.h" |
|
"internal/resize_uninitialized.h" |
|
"internal/str_join_internal.h" |
|
"internal/str_split_internal.h" |
|
"internal/utf8.h" |
|
) |
|
|
|
|
|
|
|
# add string library |
|
list(APPEND STRINGS_SRC |
|
"ascii.cc" |
|
"escaping.cc" |
|
"internal/memutil.cc" |
|
"internal/memutil.h" |
|
"internal/utf8.cc" |
|
"match.cc" |
|
"numbers.cc" |
|
"str_cat.cc" |
|
"str_replace.cc" |
|
"str_split.cc" |
|
"string_view.cc" |
|
"substitute.cc" |
|
${STRINGS_PUBLIC_HEADERS} |
|
${STRINGS_INTERNAL_HEADERS} |
|
) |
|
set(STRINGS_PUBLIC_LIBRARIES absl::base absl_throw_delegate) |
|
|
|
absl_library( |
|
TARGET |
|
absl_strings |
|
SOURCES |
|
${STRINGS_SRC} |
|
PUBLIC_LIBRARIES |
|
${STRINGS_PUBLIC_LIBRARIES} |
|
EXPORT_NAME |
|
strings |
|
) |
|
|
|
|
|
# |
|
## TESTS |
|
# |
|
|
|
# test match_test |
|
set(MATCH_TEST_SRC "match_test.cc") |
|
set(MATCH_TEST_PUBLIC_LIBRARIES absl::strings) |
|
|
|
absl_test( |
|
TARGET |
|
match_test |
|
SOURCES |
|
${MATCH_TEST_SRC} |
|
PUBLIC_LIBRARIES |
|
${MATCH_TEST_PUBLIC_LIBRARIES} |
|
) |
|
|
|
|
|
# test escaping_test |
|
set(ESCAPING_TEST_SRC "escaping_test.cc") |
|
set(ESCAPING_TEST_PUBLIC_LIBRARIES absl::strings absl::base) |
|
|
|
absl_test( |
|
TARGET |
|
escaping_test |
|
SOURCES |
|
${ESCAPING_TEST_SRC} |
|
PUBLIC_LIBRARIES |
|
${ESCAPING_TEST_PUBLIC_LIBRARIES} |
|
) |
|
|
|
|
|
# test ascii_test |
|
set(ASCII_TEST_SRC "ascii_test.cc") |
|
set(ASCII_TEST_PUBLIC_LIBRARIES absl::strings) |
|
|
|
absl_test( |
|
TARGET |
|
ascii_test |
|
SOURCES |
|
${ASCII_TEST_SRC} |
|
PUBLIC_LIBRARIES |
|
${ASCII_TEST_PUBLIC_LIBRARIES} |
|
) |
|
|
|
|
|
# test memutil_test |
|
set(MEMUTIL_TEST_SRC "internal/memutil_test.cc") |
|
set(MEMUTIL_TEST_PUBLIC_LIBRARIES absl::strings) |
|
|
|
absl_test( |
|
TARGET |
|
memutil_test |
|
SOURCES |
|
${MEMUTIL_TEST_SRC} |
|
PUBLIC_LIBRARIES |
|
${MEMUTIL_TEST_PUBLIC_LIBRARIES} |
|
) |
|
|
|
|
|
# test utf8_test |
|
set(UTF8_TEST_SRC "internal/utf8_test.cc") |
|
set(UTF8_TEST_PUBLIC_LIBRARIES absl::strings absl::base) |
|
|
|
absl_test( |
|
TARGET |
|
utf8_test |
|
SOURCES |
|
${UTF8_TEST_SRC} |
|
PUBLIC_LIBRARIES |
|
${UTF8_TEST_PUBLIC_LIBRARIES} |
|
) |
|
|
|
|
|
# test string_view_test |
|
set(STRING_VIEW_TEST_SRC "string_view_test.cc") |
|
set(STRING_VIEW_TEST_PUBLIC_LIBRARIES absl::strings absl_throw_delegate absl::base) |
|
|
|
absl_test( |
|
TARGET |
|
string_view_test |
|
SOURCES |
|
${STRING_VIEW_TEST_SRC} |
|
PUBLIC_LIBRARIES |
|
${STRING_VIEW_TEST_PUBLIC_LIBRARIES} |
|
) |
|
|
|
|
|
# test substitute_test |
|
set(SUBSTITUTE_TEST_SRC "substitute_test.cc") |
|
set(SUBSTITUTE_TEST_PUBLIC_LIBRARIES absl::strings absl::base) |
|
|
|
absl_test( |
|
TARGET |
|
substitute_test |
|
SOURCES |
|
${SUBSTITUTE_TEST_SRC} |
|
PUBLIC_LIBRARIES |
|
${SUBSTITUTE_TEST_PUBLIC_LIBRARIES} |
|
) |
|
|
|
|
|
# test str_replace_test |
|
set(STR_REPLACE_TEST_SRC "str_replace_test.cc") |
|
set(STR_REPLACE_TEST_PUBLIC_LIBRARIES absl::strings absl::base absl_throw_delegate) |
|
|
|
absl_test( |
|
TARGET |
|
str_replace_test |
|
SOURCES |
|
${STR_REPLACE_TEST_SRC} |
|
PUBLIC_LIBRARIES |
|
${STR_REPLACE_TEST_PUBLIC_LIBRARIES} |
|
) |
|
|
|
|
|
# test str_split_test |
|
set(STR_SPLIT_TEST_SRC "str_split_test.cc") |
|
set(STR_SPLIT_TEST_PUBLIC_LIBRARIES absl::strings absl::base absl_throw_delegate) |
|
|
|
absl_test( |
|
TARGET |
|
str_split_test |
|
SOURCES |
|
${STR_SPLIT_TEST_SRC} |
|
PUBLIC_LIBRARIES |
|
${STR_SPLIT_TEST_PUBLIC_LIBRARIES} |
|
) |
|
|
|
|
|
# test ostringstream_test |
|
set(OSTRINGSTREAM_TEST_SRC "internal/ostringstream_test.cc") |
|
|
|
absl_test( |
|
TARGET |
|
ostringstream_test |
|
SOURCES |
|
${OSTRINGSTREAM_TEST_SRC} |
|
) |
|
|
|
|
|
# test resize_uninitialized_test |
|
set(RESIZE_UNINITIALIZED_TEST_SRC "internal/resize_uninitialized_test.cc") |
|
|
|
absl_test( |
|
TARGET |
|
resize_uninitialized_test |
|
SOURCES |
|
${RESIZE_UNINITIALIZED_TEST_SRC} |
|
) |
|
|
|
|
|
# test str_join_test |
|
set(STR_JOIN_TEST_SRC "str_join_test.cc") |
|
set(STR_JOIN_TEST_PUBLIC_LIBRARIES absl::strings) |
|
|
|
absl_test( |
|
TARGET |
|
str_join_test |
|
SOURCES |
|
${STR_JOIN_TEST_SRC} |
|
PUBLIC_LIBRARIES |
|
${STR_JOIN_TEST_PUBLIC_LIBRARIES} |
|
) |
|
|
|
|
|
# test str_cat_test |
|
set(STR_CAT_TEST_SRC "str_cat_test.cc") |
|
set(STR_CAT_TEST_PUBLIC_LIBRARIES absl::strings) |
|
|
|
absl_test( |
|
TARGET |
|
str_cat_test |
|
SOURCES |
|
${STR_CAT_TEST_SRC} |
|
PUBLIC_LIBRARIES |
|
${STR_CAT_TEST_PUBLIC_LIBRARIES} |
|
) |
|
|
|
|
|
# test numbers_test |
|
set(NUMBERS_TEST_SRC "numbers_test.cc") |
|
set(NUMBERS_TEST_PUBLIC_LIBRARIES absl::strings) |
|
|
|
absl_test( |
|
TARGET |
|
numbers_test |
|
SOURCES |
|
${NUMBERS_TEST_SRC} |
|
PUBLIC_LIBRARIES |
|
${NUMBERS_TEST_PUBLIC_LIBRARIES} |
|
) |
|
|
|
|
|
# test strip_test |
|
set(STRIP_TEST_SRC "strip_test.cc") |
|
set(STRIP_TEST_PUBLIC_LIBRARIES absl::strings) |
|
|
|
absl_test( |
|
TARGET |
|
strip_test |
|
SOURCES |
|
${STRIP_TEST_SRC} |
|
PUBLIC_LIBRARIES |
|
${STRIP_TEST_PUBLIC_LIBRARIES} |
|
) |
|
|
|
|
|
# test char_map_test |
|
set(CHAR_MAP_TEST_SRC "internal/char_map_test.cc") |
|
set(CHAR_MAP_TEST_PUBLIC_LIBRARIES absl::strings) |
|
|
|
absl_test( |
|
TARGET |
|
char_map_test |
|
SOURCES |
|
${CHAR_MAP_TEST_SRC} |
|
PUBLIC_LIBRARIES |
|
${CHAR_MAP_TEST_PUBLIC_LIBRARIES} |
|
) |
|
|
|
|
|
|
|
|
|
|