]> git.proxmox.com Git - ceph.git/blob - ceph/src/osd/CMakeLists.txt
670223b6cf4e170577b7a98936500ae0efd34186
[ceph.git] / ceph / src / osd / CMakeLists.txt
1 set(osdc_osd_srcs
2 ${CMAKE_SOURCE_DIR}/src/osdc/Objecter.cc
3 ${CMAKE_SOURCE_DIR}/src/osdc/Striper.cc)
4
5 if(WITH_OSD_INSTRUMENT_FUNCTIONS AND CMAKE_CXX_COMPILER_ID STREQUAL GNU)
6 set(GCC_C_FLAGS "-finstrument-functions")
7 set(GCC_C_FLAGS "${GCC_C_FLAGS} -finstrument-functions-exclude-function-list=_mm_loadu_si128,_mm_cmpeq_epi32,_mm_movemask_epi8")
8 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${GCC_C_FLAGS}")
9 set(osd_cyg_functions_src ${CMAKE_SOURCE_DIR}/src/tracing/cyg_profile_functions.c)
10 endif()
11
12 set(osd_srcs
13 OSD.cc
14 Watch.cc
15 ClassHandler.cc
16 PG.cc
17 PGLog.cc
18 PrimaryLogPG.cc
19 ReplicatedBackend.cc
20 ECBackend.cc
21 ECTransaction.cc
22 PGBackend.cc
23 OSDCap.cc
24 Watch.cc
25 ClassHandler.cc
26 Session.cc
27 SnapMapper.cc
28 ScrubStore.cc
29 osd_types.cc
30 ECUtil.cc
31 ExtentCache.cc
32 ${CMAKE_SOURCE_DIR}/src/common/TrackedOp.cc
33 ${osd_cyg_functions_src}
34 ${osdc_osd_srcs})
35 if(HAS_VTA)
36 set_source_files_properties(osdcap.cc
37 PROPERTIES COMPILE_FLAGS -fno-var-tracking-assignments)
38 endif()
39 add_library(osd STATIC ${osd_srcs}
40 $<TARGET_OBJECTS:cls_references_objs>
41 $<TARGET_OBJECTS:global_common_objs>
42 $<TARGET_OBJECTS:heap_profiler_objs>)
43 target_link_libraries(osd ${LEVELDB_LIBRARIES} ${CMAKE_DL_LIBS} ${ALLOC_LIBS})
44 if(WITH_LTTNG)
45 add_dependencies(osd osd-tp pg-tp)
46 endif()
47 if(WITH_LTTNG AND WITH_EVENTTRACE)
48 add_dependencies(osd eventtrace_tp)
49 endif()
50 if(WITH_OSD_INSTRUMENT_FUNCTIONS)
51 add_dependencies(osd cyg_profile_tp)
52 endif()