2 ${CMAKE_SOURCE_DIR}/src/osdc/Objecter.cc
3 ${CMAKE_SOURCE_DIR}/src/osdc/Striper.cc)
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)
32 mClockOpClassSupport.cc
36 ${CMAKE_SOURCE_DIR}/src/common/TrackedOp.cc
37 ${CMAKE_SOURCE_DIR}/src/objclass/class_api.cc
38 ${CMAKE_SOURCE_DIR}/src/mgr/OSDPerfMetricTypes.cc
39 ${osd_cyg_functions_src}
42 set_source_files_properties(osdcap.cc
43 PROPERTIES COMPILE_FLAGS -fno-var-tracking-assignments)
45 add_library(osd STATIC ${osd_srcs}
46 $<TARGET_OBJECTS:global_common_objs>)
47 target_link_libraries(osd
48 PUBLIC dmclock::dmclock
51 heap_profiler cpu_profiler ${CMAKE_DL_LIBS})
53 add_dependencies(osd osd-tp pg-tp)
55 if(WITH_LTTNG AND WITH_EVENTTRACE)
56 add_dependencies(osd eventtrace_tp)
58 if(WITH_OSD_INSTRUMENT_FUNCTIONS)
59 add_dependencies(osd cyg_profile_tp)
62 # libcls_* are runtime dependencies
63 add_dependencies(osd cls_journal cls_hello cls_lock cls_log cls_numops
64 cls_refcount cls_timeindex cls_user cls_version cls_cas)
66 add_dependencies(osd cls_cephfs)
69 add_dependencies(osd cls_rbd)
72 add_dependencies(osd cls_otp cls_rgw)