summaryrefslogtreecommitdiffstats
path: root/src/cls/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/cls/CMakeLists.txt')
-rw-r--r--src/cls/CMakeLists.txt342
1 files changed, 342 insertions, 0 deletions
diff --git a/src/cls/CMakeLists.txt b/src/cls/CMakeLists.txt
new file mode 100644
index 000000000..50ec40090
--- /dev/null
+++ b/src/cls/CMakeLists.txt
@@ -0,0 +1,342 @@
+## Rados object classes
+
+set(cls_dir ${CMAKE_INSTALL_LIBDIR}/rados-classes)
+
+# cls_sdk
+add_library(cls_sdk SHARED sdk/cls_sdk.cc)
+set_target_properties(cls_sdk PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+install(TARGETS cls_sdk DESTINATION ${cls_dir})
+
+# cls_hello
+set(cls_hello_srcs hello/cls_hello.cc)
+add_library(cls_hello SHARED ${cls_hello_srcs})
+set_target_properties(cls_hello PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+install(TARGETS cls_hello DESTINATION ${cls_dir})
+
+# cls_numops
+set(cls_numops_srcs numops/cls_numops.cc)
+add_library(cls_numops SHARED ${cls_numops_srcs})
+set_target_properties(cls_numops PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+install(TARGETS cls_numops DESTINATION ${cls_dir})
+
+set(cls_numops_client_srcs numops/cls_numops_client.cc)
+add_library(cls_numops_client STATIC ${cls_numops_client_srcs})
+
+
+# cls_rbd
+if (WITH_RBD)
+ set(cls_rbd_srcs rbd/cls_rbd.cc rbd/cls_rbd_types.cc)
+ add_library(cls_rbd SHARED ${cls_rbd_srcs})
+ set_target_properties(cls_rbd PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+ install(TARGETS cls_rbd DESTINATION ${cls_dir})
+
+ set(cls_rbd_client_srcs rbd/cls_rbd_client.cc rbd/cls_rbd_types.cc)
+ add_library(cls_rbd_client STATIC ${cls_rbd_client_srcs})
+ target_link_libraries(cls_rbd_client cls_lock_client)
+
+endif (WITH_RBD)
+
+# cls_lock
+set(cls_lock_srcs lock/cls_lock.cc)
+add_library(cls_lock SHARED ${cls_lock_srcs})
+set_target_properties(cls_lock PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+install(TARGETS cls_lock DESTINATION ${cls_dir})
+
+set(cls_lock_client_srcs
+ lock/cls_lock_client.cc
+ lock/cls_lock_types.cc
+ lock/cls_lock_ops.cc)
+add_library(cls_lock_client STATIC ${cls_lock_client_srcs})
+
+
+# cls_otp
+if (WITH_RADOSGW)
+ set(cls_otp_srcs otp/cls_otp.cc)
+ add_library(cls_otp SHARED ${cls_otp_srcs})
+ target_link_libraries(cls_otp OATH::OATH)
+ set_target_properties(cls_otp PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+ install(TARGETS cls_otp DESTINATION ${cls_dir})
+
+ set(cls_otp_client_srcs
+ otp/cls_otp_client.cc
+ otp/cls_otp_types.cc
+ )
+ add_library(cls_otp_client STATIC ${cls_otp_client_srcs})
+endif (WITH_RADOSGW)
+
+# cls_refcount
+set(cls_refcount_srcs
+ refcount/cls_refcount.cc
+ refcount/cls_refcount_ops.cc
+ ${CMAKE_SOURCE_DIR}/src/common/ceph_json.cc)
+add_library(cls_refcount SHARED ${cls_refcount_srcs})
+target_link_libraries(cls_refcount json_spirit)
+set_target_properties(cls_refcount PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+install(TARGETS cls_refcount DESTINATION ${cls_dir})
+
+set(cls_refcount_client_srcs
+ refcount/cls_refcount_client.cc
+ refcount/cls_refcount_ops.cc)
+add_library(cls_refcount_client STATIC ${cls_refcount_client_srcs})
+
+
+# cls_version
+set(cls_version_srcs version/cls_version.cc)
+add_library(cls_version SHARED ${cls_version_srcs})
+set_target_properties(cls_version PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+install(TARGETS cls_version DESTINATION ${cls_dir})
+
+set(cls_version_client_srcs
+ version/cls_version_client.cc
+ version/cls_version_types.cc)
+add_library(cls_version_client STATIC ${cls_version_client_srcs})
+
+
+# cls_log
+set(cls_log_srcs log/cls_log.cc)
+add_library(cls_log SHARED ${cls_log_srcs})
+set_target_properties(cls_log PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+install(TARGETS cls_log DESTINATION ${cls_dir})
+
+set(cls_log_client_srcs log/cls_log_client.cc)
+add_library(cls_log_client STATIC ${cls_log_client_srcs})
+
+
+# cls_timeindex
+set(cls_timeindex_srcs timeindex/cls_timeindex.cc)
+add_library(cls_timeindex SHARED ${cls_timeindex_srcs})
+set_target_properties(cls_timeindex PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+install(TARGETS cls_timeindex DESTINATION ${cls_dir})
+
+set(cls_timeindex_client_srcs
+ timeindex/cls_timeindex_types.cc
+ timeindex/cls_timeindex_client.cc)
+add_library(cls_timeindex_client STATIC ${cls_timeindex_client_srcs})
+
+
+# cls_user
+set(cls_user_srcs user/cls_user.cc)
+add_library(cls_user SHARED ${cls_user_srcs})
+set_target_properties(cls_user PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+install(TARGETS cls_user DESTINATION ${cls_dir})
+
+set(cls_user_client_srcs
+ user/cls_user_client.cc
+ user/cls_user_types.cc
+ user/cls_user_ops.cc)
+add_library(cls_user_client STATIC ${cls_user_client_srcs})
+
+
+# cls_journal
+set(cls_journal_srcs
+ journal/cls_journal.cc
+ journal/cls_journal_types.cc)
+add_library(cls_journal SHARED ${cls_journal_srcs})
+set_target_properties(cls_journal PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+install(TARGETS cls_journal DESTINATION ${cls_dir})
+
+set(cls_journal_client_srcs
+ journal/cls_journal_client.cc
+ journal/cls_journal_types.cc)
+add_library(cls_journal_client STATIC ${cls_journal_client_srcs})
+
+
+# cls_rgw
+if (WITH_RADOSGW)
+ set(cls_rgw_srcs
+ rgw/cls_rgw.cc
+ rgw/cls_rgw_ops.cc
+ rgw/cls_rgw_types.cc
+ ${CMAKE_SOURCE_DIR}/src/common/ceph_json.cc)
+ add_library(cls_rgw SHARED ${cls_rgw_srcs})
+ target_link_libraries(cls_rgw json_spirit)
+ set_target_properties(cls_rgw PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+ install(TARGETS cls_rgw DESTINATION ${cls_dir})
+
+ set(cls_rgw_client_srcs
+ rgw/cls_rgw_client.cc
+ rgw/cls_rgw_types.cc
+ rgw/cls_rgw_ops.cc)
+ add_library(cls_rgw_client STATIC ${cls_rgw_client_srcs})
+
+endif (WITH_RADOSGW)
+
+# cls_cephfs
+if (WITH_CEPHFS)
+ set(cls_cephfs_srcs
+ cephfs/cls_cephfs.cc)
+ add_library(cls_cephfs SHARED ${cls_cephfs_srcs})
+ set_target_properties(cls_cephfs PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+ install(TARGETS cls_cephfs DESTINATION ${cls_dir})
+
+ set(cls_cephfs_client_srcs
+ cephfs/cls_cephfs_client.cc)
+ add_library(cls_cephfs_client STATIC ${cls_cephfs_client_srcs})
+
+endif (WITH_CEPHFS)
+
+if (NOT WIN32)
+ # cls_lua
+ set(cls_lua_srcs
+ lua/cls_lua.cc
+ lua/lua_bufferlist.cc)
+ add_library(cls_lua SHARED ${cls_lua_srcs})
+ set_target_properties(cls_lua PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+ install(TARGETS cls_lua DESTINATION ${cls_dir})
+ target_link_libraries(cls_lua
+ ${LUA_LIBRARIES}
+ json_spirit)
+ target_include_directories(cls_lua PRIVATE "${LUA_INCLUDE_DIR}")
+endif (NOT WIN32)
+
+set(cls_lua_client_srcs
+ lua/cls_lua_client.cc)
+add_library(cls_lua_client STATIC ${cls_lua_client_srcs})
+
+# cls_cas
+set(cls_cas_client_srcs
+ cas/cls_cas_client.cc)
+add_library(cls_cas_client STATIC ${cls_cas_client_srcs})
+
+set(cls_cas_internal_srcs
+ cas/cls_cas_internal.cc)
+add_library(cls_cas_internal STATIC ${cls_cas_internal_srcs})
+
+set(cls_cas_srcs
+ cas/cls_cas.cc)
+add_library(cls_cas SHARED ${cls_cas_srcs})
+target_link_libraries(cls_cas cls_cas_internal)
+set_target_properties(cls_cas PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+install(TARGETS cls_cas DESTINATION ${cls_dir})
+
+
+
+#cls_queue
+set(cls_queue_srcs
+ queue/cls_queue.cc
+ queue/cls_queue_src.cc
+ ${CMAKE_SOURCE_DIR}/src/common/ceph_json.cc)
+add_library(cls_queue SHARED ${cls_queue_srcs})
+set_target_properties(cls_queue PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+install(TARGETS cls_queue DESTINATION ${cls_dir})
+
+set(cls_queue_client_srcs
+ queue/cls_queue_client.cc)
+add_library(cls_queue_client STATIC ${cls_queue_client_srcs})
+
+# cls_rgw_gc
+if (WITH_RADOSGW)
+ set(cls_rgw_gc_srcs
+ rgw_gc/cls_rgw_gc.cc
+ queue/cls_queue_src.cc
+ ${CMAKE_SOURCE_DIR}/src/common/ceph_json.cc)
+ add_library(cls_rgw_gc SHARED ${cls_rgw_gc_srcs})
+ set_target_properties(cls_rgw_gc PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+ install(TARGETS cls_rgw_gc DESTINATION ${cls_dir})
+
+ set(cls_rgw_gc_client_srcs
+ rgw_gc/cls_rgw_gc_client.cc)
+ add_library(cls_rgw_gc_client STATIC ${cls_rgw_gc_client_srcs})
+endif (WITH_RADOSGW)
+
+
+#cls_2pc_queue
+set(cls_2pc_queue_srcs
+ 2pc_queue/cls_2pc_queue.cc
+ queue/cls_queue_src.cc
+ ${CMAKE_SOURCE_DIR}/src/common/ceph_json.cc)
+add_library(cls_2pc_queue SHARED ${cls_2pc_queue_srcs})
+set_target_properties(cls_2pc_queue PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+install(TARGETS cls_2pc_queue DESTINATION ${cls_dir})
+set(cls_2pc_queue_client_srcs
+ 2pc_queue/cls_2pc_queue_client.cc)
+add_library(cls_2pc_queue_client STATIC ${cls_2pc_queue_client_srcs})
+
+
+add_subdirectory(cmpomap)
+
+# cls_fifo
+set(cls_fifo_srcs fifo/cls_fifo.cc)
+add_library(cls_fifo SHARED ${cls_fifo_srcs})
+set_target_properties(cls_fifo PROPERTIES
+ VERSION "1.0.0"
+ SOVERSION "1"
+ INSTALL_RPATH ""
+ CXX_VISIBILITY_PRESET hidden)
+install(TARGETS cls_fifo DESTINATION ${cls_dir})