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)