]> git.proxmox.com Git - ceph.git/blob - ceph/src/librados/CMakeLists.txt
import 15.2.0 Octopus source
[ceph.git] / ceph / src / librados / CMakeLists.txt
1 add_library(librados_impl STATIC
2 IoCtxImpl.cc
3 RadosXattrIter.cc
4 RadosClient.cc
5 librados_util.cc
6 librados_tp.cc)
7
8 # C/C++ API
9 add_library(librados ${CEPH_SHARED}
10 librados_c.cc
11 librados_cxx.cc
12 $<TARGET_OBJECTS:common_buffer_obj>)
13 if(ENABLE_SHARED)
14 set_target_properties(librados PROPERTIES
15 OUTPUT_NAME rados
16 VERSION 2.0.0
17 SOVERSION 2
18 VISIBILITY_INLINES_HIDDEN ON)
19 if(HAVE_LINK_EXCLUDE_LIBS)
20 set_property(TARGET librados APPEND_STRING PROPERTY
21 LINK_FLAGS " -Wl,--exclude-libs,ALL")
22 endif()
23 if(HAVE_LINK_VERSION_SCRIPT)
24 set_property(TARGET librados APPEND_STRING PROPERTY
25 LINK_FLAGS " -Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/librados.map")
26 endif()
27 if(WITH_STATIC_LIBSTDCXX)
28 set_property(TARGET librados APPEND_STRING PROPERTY
29 LINK_FLAGS " -static-libstdc++ -static-libgcc")
30 endif()
31 endif()
32 target_link_libraries(librados PRIVATE
33 librados_impl osdc ceph-common cls_lock_client
34 ${BLKID_LIBRARIES} ${CRYPTO_LIBS} ${EXTRALIBS} ${GSSAPI_LIBRARIES})
35 install(TARGETS librados DESTINATION ${CMAKE_INSTALL_LIBDIR})
36
37 if(WITH_LTTNG)
38 add_dependencies(librados_impl librados-tp)
39 if(WITH_EVENTTRACE)
40 add_dependencies(librados_impl eventtrace_tp)
41 endif()
42 endif()