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.

306 lines
5.6 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/bits.h"
"internal/char_map.h"
"internal/memutil.h"
"internal/ostringstream.h"
"internal/resize_uninitialized.h"
"internal/stl_type_traits.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"
"internal/ostringstream.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")
set(OSTRINGSTREAM_TEST_PUBLIC_LIBRARIES absl::strings)
absl_test(
TARGET
ostringstream_test
SOURCES
${OSTRINGSTREAM_TEST_SRC}
PUBLIC_LIBRARIES
${OSTRINGSTREAM_TEST_PUBLIC_LIBRARIES}
)
# 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}
)