]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake: move snap_set_diff.cc out of librados
authorKefu Chai <kchai@redhat.com>
Wed, 22 Jun 2016 03:04:20 +0000 (11:04 +0800)
committerKefu Chai <kchai@redhat.com>
Wed, 22 Jun 2016 03:30:46 +0000 (11:30 +0800)
snap_set_diff.cc is used internally and is not exposed via librados. we
cannot use the function implemented in it by linking against librados. so
compile it as an OBJECT target and link against it individualy if
necessary.

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

index 454bd6625f9249747894726c5229c6df4fcd218a..fbbb8795d09ae6d09c50b720300e963c91f1ccce 100644 (file)
@@ -541,11 +541,11 @@ set(osdc_rbd_files
 add_library(osdc_rbd_objs OBJECT ${osdc_rbd_files})
 add_library(osdc STATIC ${osdc_files} $<TARGET_OBJECTS:osdc_rbd_objs>)
 
+add_library(rados_snap_set_diff_obj OBJECT librados/snap_set_diff.cc)
 set(librados_srcs
   librados/librados.cc
   librados/RadosClient.cc
   librados/IoCtxImpl.cc
-  librados/snap_set_diff.cc
   librados/RadosXattrIter.cc
   )
 add_library(librados ${CEPH_SHARED} ${librados_srcs}
@@ -1230,7 +1230,9 @@ if(${WITH_RBD})
     tools/rbd_mirror/image_sync/SnapshotCreateRequest.cc
     tools/rbd_mirror/image_sync/SyncPointCreateRequest.cc
     tools/rbd_mirror/image_sync/SyncPointPruneRequest.cc)
-  add_library(rbd_mirror_internal STATIC ${rbd_mirror_internal})
+  add_library(rbd_mirror_internal STATIC
+    ${rbd_mirror_internal}
+    $<TARGET_OBJECTS:rados_snap_set_diff_obj>)
 
   if(WITH_FUSE)
     add_executable(rbd-fuse
index a2d1e9ece89d87fd17eb99559d1e696c3f5bb9e5..384a28957950c1a1769e076656b6e6f16130c299 100644 (file)
@@ -74,6 +74,7 @@ add_library(librbd ${CEPH_SHARED}
   $<TARGET_OBJECTS:common_util_obj>
   $<TARGET_OBJECTS:krbd_objs>
   $<TARGET_OBJECTS:parse_secret_objs>
+  $<TARGET_OBJECTS:rados_snap_set_diff_obj>
   ${CMAKE_SOURCE_DIR}/src/common/ContextCompletion.cc
   librbd.cc)
 target_link_libraries(librbd LINK_PRIVATE