]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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 | ||
7c673cae FG |
38 | if(WITH_LTTNG AND WITH_EVENTTRACE) |
39 | add_dependencies(librados_api_obj eventtrace_tp) | |
40 | endif() |