Use LINK_LIBRARY generator expression only for static absl

Change-Id: I348434be68a7bf112513cacf5791095cba8f95b3
diff --git a/internal/ceres/CMakeLists.txt b/internal/ceres/CMakeLists.txt
index c409eef..1bd3c64 100644
--- a/internal/ceres/CMakeLists.txt
+++ b/internal/ceres/CMakeLists.txt
@@ -42,7 +42,10 @@
 if(CMAKE_VERSION VERSION_LESS "3.24.0")
   list(APPEND CERES_LIBRARY_PUBLIC_DEPENDENCIES  absl::log_flags)
 else()
-  list(APPEND CERES_LIBRARY_PRIVATE_DEPENDENCIES  $<LINK_LIBRARY:WHOLE_ARCHIVE,absl::log_flags>)
+  # Apply $<LINK_LIBRARY:...> generator expression only if the corresponding
+  # target is a static library. Otherwise link only to the target.
+  list(APPEND CERES_LIBRARY_PRIVATE_DEPENDENCIES
+    $<IF:$<STREQUAL:$<TARGET_PROPERTY:absl::log_flags,TYPE>,STATIC_LIBRARY>,$<LINK_LIBRARY:WHOLE_ARCHIVE,absl::log_flags>,absl::log_flags>)
 endif()
 
 list(APPEND CERES_LIBRARY_PRIVATE_DEPENDENCIES absl::strings)