]> git.proxmox.com Git - ceph.git/blame - ceph/src/librados/CMakeLists.txt
update sources to 12.2.8
[ceph.git] / ceph / src / librados / CMakeLists.txt
CommitLineData
7c673cae
FG
1add_library(librados_objs OBJECT
2 IoCtxImpl.cc
3 RadosXattrIter.cc
4 RadosClient.cc)
5add_library(librados_api_obj OBJECT
6 librados.cc)
7add_library(rados_a STATIC
8 $<TARGET_OBJECTS:librados_api_obj>
9 $<TARGET_OBJECTS:librados_objs>
10 $<TARGET_OBJECTS:common_buffer_obj>)
11target_link_libraries(rados_a osdc ceph-common cls_lock_client
12 ${BLKID_LIBRARIES} ${CRYPTO_LIBS} ${EXTRALIBS})
13if(WITH_LTTNG)
14 add_dependencies(librados_api_obj librados-tp)
15endif()
16if(ENABLE_SHARED)
17 add_library(librados ${CEPH_SHARED}
18 $<TARGET_OBJECTS:librados_api_obj>
19 $<TARGET_OBJECTS:librados_objs>
20 $<TARGET_OBJECTS:common_buffer_obj>)
21 # LINK_PRIVATE instead of PRIVATE is used to backward compatibility with cmake 2.8.11
22 target_link_libraries(librados LINK_PRIVATE osdc ceph-common cls_lock_client
23 ${BLKID_LIBRARIES} ${CRYPTO_LIBS} ${EXTRALIBS})
24 set_target_properties(librados PROPERTIES
25 OUTPUT_NAME rados
26 VERSION 2.0.0
27 SOVERSION 2
28 # use COMPILE_FLAGS for the backward compatibility with cmake 2.8.11, should have been:
29 # CXX_VISIBILITY_PRESET hidden
30 # VISIBILITY_INLINES_HIDDEN ON
31 COMPILE_FLAGS "-fvisibility=hidden -fvisibility-inlines-hidden"
32 LINK_FLAGS "-Wl,--exclude-libs,ALL")
33else(ENABLE_SHARED)
34 add_library(librados ALIAS rados_a)
35endif(ENABLE_SHARED)
36install(TARGETS librados DESTINATION ${CMAKE_INSTALL_LIBDIR})
37
7c673cae
FG
38if(WITH_LTTNG AND WITH_EVENTTRACE)
39 add_dependencies(librados_api_obj eventtrace_tp)
40endif()