]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
cmake: link libradostriper with librados_objs
authorKefu Chai <kchai@redhat.com>
Thu, 23 Jun 2016 03:51:01 +0000 (11:51 +0800)
committerKefu Chai <kchai@redhat.com>
Thu, 23 Jun 2016 07:23:59 +0000 (15:23 +0800)
create an OBJECT target for libradostriper, so it is able to access the
internal symbols of librados.

Signed-off-by: Kefu Chai <kchai@redhat.com>
src/CMakeLists.txt
src/libradosstriper/CMakeLists.txt

index 6b4bcd2252c1d05920cb7f01b520a614d792443a..340d0adb57e3cf7e5a13ab893d7ad7d03871aa38 100644 (file)
@@ -548,12 +548,14 @@ set(librados_srcs
   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
index 1a2170152f607fea94682a60e491bd28071b4dc5..d93d03f0579efed8a6a300c954d39eb82b9b5575 100644 (file)
@@ -2,8 +2,10 @@ set(libradosstriper_srcs
   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