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)