Fix some bugs when testing opensds ansible
[stor4nfv.git] / src / ceph / src / librados / CMakeLists.txt
1 add_library(librados_objs OBJECT
2   IoCtxImpl.cc
3   RadosXattrIter.cc
4   RadosClient.cc)
5 add_library(librados_api_obj OBJECT
6   librados.cc)
7 add_library(rados_a STATIC
8   $<TARGET_OBJECTS:librados_api_obj>
9   $<TARGET_OBJECTS:librados_objs>
10   $<TARGET_OBJECTS:common_buffer_obj>)
11 target_link_libraries(rados_a osdc ceph-common cls_lock_client
12     ${BLKID_LIBRARIES} ${CRYPTO_LIBS} ${EXTRALIBS})
13 if(WITH_LTTNG)
14   add_dependencies(librados_api_obj librados-tp)
15 endif()
16 if(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")
33 else(ENABLE_SHARED)
34   add_library(librados ALIAS rados_a)
35 endif(ENABLE_SHARED)
36 install(TARGETS librados DESTINATION ${CMAKE_INSTALL_LIBDIR})
37
38 if(WITH_EMBEDDED)
39   add_library(cephd_rados STATIC
40     $<TARGET_OBJECTS:librados_api_obj>
41     $<TARGET_OBJECTS:librados_objs>)
42 endif()
43 if(WITH_LTTNG AND WITH_EVENTTRACE)
44   add_dependencies(librados_api_obj eventtrace_tp)
45 endif()