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.
175 lines
3.8 KiB
175 lines
3.8 KiB
# Copyright 2016 Google Inc. All Rights Reserved. |
|
# |
|
# 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 |
|
# |
|
# https://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. |
|
|
|
package(features = ["-parse_headers"]) |
|
|
|
licenses(["notice"]) |
|
|
|
filegroup( |
|
name = "zoneinfo", |
|
srcs = glob(["testdata/zoneinfo/**"]), |
|
) |
|
|
|
config_setting( |
|
name = "osx", |
|
constraint_values = [ |
|
"@platforms//os:osx", |
|
], |
|
) |
|
|
|
config_setting( |
|
name = "ios", |
|
constraint_values = [ |
|
"@platforms//os:ios", |
|
], |
|
) |
|
|
|
### libraries |
|
|
|
cc_library( |
|
name = "civil_time", |
|
srcs = ["src/civil_time_detail.cc"], |
|
hdrs = [ |
|
"include/cctz/civil_time.h", |
|
], |
|
textual_hdrs = ["include/cctz/civil_time_detail.h"], |
|
visibility = ["//visibility:public"], |
|
deps = ["//absl/base:config"], |
|
) |
|
|
|
cc_library( |
|
name = "time_zone", |
|
srcs = [ |
|
"src/time_zone_fixed.cc", |
|
"src/time_zone_fixed.h", |
|
"src/time_zone_format.cc", |
|
"src/time_zone_if.cc", |
|
"src/time_zone_if.h", |
|
"src/time_zone_impl.cc", |
|
"src/time_zone_impl.h", |
|
"src/time_zone_info.cc", |
|
"src/time_zone_info.h", |
|
"src/time_zone_libc.cc", |
|
"src/time_zone_libc.h", |
|
"src/time_zone_lookup.cc", |
|
"src/time_zone_posix.cc", |
|
"src/time_zone_posix.h", |
|
"src/tzfile.h", |
|
"src/zone_info_source.cc", |
|
], |
|
hdrs = [ |
|
"include/cctz/time_zone.h", |
|
"include/cctz/zone_info_source.h", |
|
], |
|
linkopts = select({ |
|
":osx": [ |
|
"-framework Foundation", |
|
], |
|
":ios": [ |
|
"-framework Foundation", |
|
], |
|
"//conditions:default": [], |
|
}), |
|
visibility = ["//visibility:public"], |
|
deps = [ |
|
":civil_time", |
|
"//absl/base:config", |
|
] + select( |
|
{ |
|
"//conditions:default": [], |
|
}, |
|
), |
|
) |
|
|
|
### tests |
|
|
|
test_suite( |
|
name = "all_tests", |
|
visibility = ["//visibility:public"], |
|
) |
|
|
|
cc_test( |
|
name = "civil_time_test", |
|
size = "small", |
|
srcs = ["src/civil_time_test.cc"], |
|
deps = [ |
|
":civil_time", |
|
"//absl/base:config", |
|
"@com_google_googletest//:gtest_main", |
|
], |
|
) |
|
|
|
cc_test( |
|
name = "time_zone_format_test", |
|
size = "small", |
|
srcs = ["src/time_zone_format_test.cc"], |
|
data = [":zoneinfo"], |
|
tags = [ |
|
"no_test_android_arm", |
|
"no_test_android_arm64", |
|
"no_test_android_x86", |
|
"no_test_wasm", |
|
], |
|
deps = [ |
|
":civil_time", |
|
":time_zone", |
|
"//absl/base:config", |
|
"@com_google_googletest//:gtest_main", |
|
], |
|
) |
|
|
|
cc_test( |
|
name = "time_zone_lookup_test", |
|
size = "small", |
|
timeout = "moderate", |
|
srcs = ["src/time_zone_lookup_test.cc"], |
|
data = [":zoneinfo"], |
|
tags = [ |
|
"no_test_android_arm", |
|
"no_test_android_arm64", |
|
"no_test_android_x86", |
|
"no_test_wasm", |
|
], |
|
deps = [ |
|
":civil_time", |
|
":time_zone", |
|
"//absl/base:config", |
|
"@com_google_googletest//:gtest_main", |
|
], |
|
) |
|
|
|
### benchmarks |
|
|
|
cc_test( |
|
name = "cctz_benchmark", |
|
srcs = [ |
|
"src/cctz_benchmark.cc", |
|
"src/time_zone_if.h", |
|
"src/time_zone_impl.h", |
|
"src/time_zone_info.h", |
|
"src/tzfile.h", |
|
], |
|
linkstatic = 1, |
|
tags = ["benchmark"], |
|
deps = [ |
|
":civil_time", |
|
":time_zone", |
|
"//absl/base:config", |
|
"@com_github_google_benchmark//:benchmark_main", |
|
], |
|
) |
|
|
|
### examples |
|
|
|
### binaries
|
|
|