diff --git a/CMakeLists.txt b/CMakeLists.txt
index 497470c..9c07732 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2196,6 +2196,8 @@ target_link_libraries(grpc
   ${_gRPC_UPB_LIBRARIES}
   ${_gRPC_ALLTARGETS_LIBRARIES}
   absl::flat_hash_map
+  absl::time
+  absl::synchronization
   absl::inlined_vector
   absl::bind_front
   absl::hash
@@ -2753,6 +2755,8 @@ target_link_libraries(grpc_unsecure
   ${_gRPC_UPB_LIBRARIES}
   ${_gRPC_ALLTARGETS_LIBRARIES}
   absl::flat_hash_map
+  absl::time
+  absl::synchronization
   absl::inlined_vector
   absl::bind_front
   absl::statusor
diff --git a/cmake/abseil-cpp.cmake b/cmake/abseil-cpp.cmake
index c89ba26..81212b9 100644
--- a/cmake/abseil-cpp.cmake
+++ b/cmake/abseil-cpp.cmake
@@ -35,3 +35,6 @@ elseif(gRPC_ABSL_PROVIDER STREQUAL "package")
   find_package(absl REQUIRED CONFIG)
 endif()
 set(_gRPC_FIND_ABSL "if(NOT TARGET absl::strings)\n  find_package(absl CONFIG)\nendif()")
+  if (gRPC_ABSL_SYNC_ENABLE)
+    add_definitions(-DGPR_ABSEIL_SYNC=1)
+  endif()