blob: fe625f28e21b966e50c1eb926cde905f829f821e [file] [log] [blame]
Adrien Devressed5134a72017-09-26 20:37:27 -07001#
2# Copyright 2017 The Abseil Authors.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
nik727338b70432019-03-08 10:27:53 -05008# https://www.apache.org/licenses/LICENSE-2.0
Adrien Devressed5134a72017-09-26 20:37:27 -07009#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
Abseil Team389ec3f2018-12-13 10:30:03 -080017absl_cc_library(
18 NAME
19 time
20 HDRS
21 "civil_time.h"
22 "clock.h"
23 "time.h"
24 SRCS
Abseil Teamd9aa92d2019-08-13 10:20:16 -070025 "civil_time.cc"
26 "clock.cc"
27 "duration.cc"
28 "format.cc"
29 "internal/get_current_time_chrono.inc"
30 "internal/get_current_time_posix.inc"
31 "time.cc"
Abseil Team389ec3f2018-12-13 10:30:03 -080032 COPTS
33 ${ABSL_DEFAULT_COPTS}
34 DEPS
35 absl::base
Abseil Teamd9aa92d2019-08-13 10:20:16 -070036 absl::civil_time
Abseil Team389ec3f2018-12-13 10:30:03 -080037 absl::core_headers
38 absl::int128
Abseil Teamd9aa92d2019-08-13 10:20:16 -070039 absl::raw_logging_internal
Abseil Team389ec3f2018-12-13 10:30:03 -080040 absl::strings
Abseil Team389ec3f2018-12-13 10:30:03 -080041 absl::time_zone
42 PUBLIC
43)
44
45absl_cc_library(
46 NAME
47 civil_time
48 HDRS
49 "internal/cctz/include/cctz/civil_time.h"
50 "internal/cctz/include/cctz/civil_time_detail.h"
51 SRCS
Abseil Teamaf788262018-04-23 08:17:58 -070052 "internal/cctz/src/civil_time_detail.cc"
Abseil Team389ec3f2018-12-13 10:30:03 -080053 COPTS
54 ${ABSL_DEFAULT_COPTS}
Adrien Devressed5134a72017-09-26 20:37:27 -070055)
56
Abseil Team389ec3f2018-12-13 10:30:03 -080057absl_cc_library(
58 NAME
59 time_zone
60 HDRS
61 "internal/cctz/include/cctz/time_zone.h"
62 "internal/cctz/include/cctz/zone_info_source.h"
63 SRCS
64 "internal/cctz/src/time_zone_fixed.cc"
65 "internal/cctz/src/time_zone_fixed.h"
66 "internal/cctz/src/time_zone_format.cc"
67 "internal/cctz/src/time_zone_if.cc"
68 "internal/cctz/src/time_zone_if.h"
69 "internal/cctz/src/time_zone_impl.cc"
70 "internal/cctz/src/time_zone_impl.h"
71 "internal/cctz/src/time_zone_info.cc"
72 "internal/cctz/src/time_zone_info.h"
73 "internal/cctz/src/time_zone_libc.cc"
74 "internal/cctz/src/time_zone_libc.h"
75 "internal/cctz/src/time_zone_lookup.cc"
76 "internal/cctz/src/time_zone_posix.cc"
77 "internal/cctz/src/time_zone_posix.h"
78 "internal/cctz/src/tzfile.h"
79 "internal/cctz/src/zone_info_source.cc"
80 COPTS
81 ${ABSL_DEFAULT_COPTS}
Michael Chiu3bd30282019-03-15 10:42:22 -040082 DEPS
Jürg Billeterc24ead72023-05-24 08:34:21 +020083 Threads::Threads
Daniel Schürmann4b6e59a2023-07-31 12:46:00 -070084 # TODO(#1495): Use $<LINK_LIBRARY:FRAMEWORK,CoreFoundation> once our
85 # minimum CMake version >= 3.24
Eduardo Menges Mattjedb1255c2024-07-11 08:17:56 -070086 $<$<PLATFORM_ID:Darwin,iOS,tvOS,visionOS,watchOS>:-Wl,-framework,CoreFoundation>
Adrien Devressed5134a72017-09-26 20:37:27 -070087)
Adrien Devressed5134a72017-09-26 20:37:27 -070088
Abseil Team6f43f5b2022-03-31 17:42:13 -070089# Internal-only target, do not depend on directly.
Abseil Team389ec3f2018-12-13 10:30:03 -080090absl_cc_library(
91 NAME
Abseil Teamd9aa92d2019-08-13 10:20:16 -070092 time_internal_test_util
Abseil Team389ec3f2018-12-13 10:30:03 -080093 HDRS
94 "internal/test_util.h"
95 SRCS
96 "internal/test_util.cc"
Abseil Team389ec3f2018-12-13 10:30:03 -080097 COPTS
98 ${ABSL_DEFAULT_COPTS}
99 DEPS
100 absl::time
Abseil Team184cf252020-07-30 13:58:50 -0700101 absl::config
Abseil Teamd9aa92d2019-08-13 10:20:16 -0700102 absl::raw_logging_internal
Abseil Team389ec3f2018-12-13 10:30:03 -0800103 absl::time_zone
Abseil Team389ec3f2018-12-13 10:30:03 -0800104 TESTONLY
105)
106
107absl_cc_test(
108 NAME
Adrien Devressed5134a72017-09-26 20:37:27 -0700109 time_test
Abseil Team389ec3f2018-12-13 10:30:03 -0800110 SRCS
111 "civil_time_test.cc"
112 "clock_test.cc"
113 "duration_test.cc"
114 "format_test.cc"
115 "time_test.cc"
116 "time_zone_test.cc"
117 COPTS
118 ${ABSL_TEST_COPTS}
119 DEPS
Abseil Teamd9aa92d2019-08-13 10:20:16 -0700120 absl::time_internal_test_util
Abseil Team389ec3f2018-12-13 10:30:03 -0800121 absl::time
Abseil Team389ec3f2018-12-13 10:30:03 -0800122 absl::config
123 absl::core_headers
Abseil Team52578ed2023-03-13 17:04:58 -0700124 absl::strings
125 absl::str_format
Abseil Team389ec3f2018-12-13 10:30:03 -0800126 absl::time_zone
Florin Crișan8f921752021-06-10 02:26:40 +0300127 GTest::gmock_main
Adrien Devressed5134a72017-09-26 20:37:27 -0700128)
Gennadiy Rozental4bc75682022-10-18 02:34:29 -0700129
130absl_cc_test(
131 NAME
132 flag_test
133 SRCS
134 "flag_test.cc"
135 COPTS
136 ${ABSL_TEST_COPTS}
137 DEPS
138 absl::flags
139 absl::flags_reflection
140 GTest::gmock_main
141)