librados/IoCtxImpl.cc
librados/RadosXattrIter.cc
)
-add_library(librados ${CEPH_SHARED} ${librados_srcs}
+add_library(librados_objs OBJECT ${librados_srcs})
+add_library(librados ${CEPH_SHARED}
+ $<TARGET_OBJECTS:librados_objs>
$<TARGET_OBJECTS:cls_references_objs>
$<TARGET_OBJECTS:common_util_obj>)
add_dependencies(librados osdc)
if(WITH_LTTNG)
- add_dependencies(librados rados-tp)
+ add_dependencies(librados_objs rados-tp)
endif()
# LINK_PRIVATE instead of PRIVATE is used to backward compatibility with cmake 2.8.11
target_link_libraries(librados LINK_PRIVATE osdc osd os global common cls_lock_client
libradosstriper.cc
RadosStriperImpl.cc
MultiAioCompletionImpl.cc)
-add_library(radosstriper ${CEPH_SHARED} ${libradosstriper_srcs})
-target_link_libraries(radosstriper librados cls_lock_client osdc common pthread ${CRYPTO_LIBS} ${EXTRALIBS})
+add_library(radosstriper ${CEPH_SHARED}
+ ${libradosstriper_srcs}
+ $<TARGET_OBJECTS:librados_objs>)
+target_link_libraries(radosstriper cls_lock_client osdc common pthread ${CRYPTO_LIBS} ${EXTRALIBS})
set_target_properties(radosstriper PROPERTIES
OUPUT_NAME radosstriper
VERSION 1.0.0