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)
8 -finstrument-functions-exclude-function-list=_mm_loadu_si128,_mm_cmpeq_epi32,_mm_movemask_epi8)
9 set(osd_cyg_functions_src ${CMAKE_SOURCE_DIR}/src/tracing/cyg_profile_functions.c)
34 scheduler/OpScheduler.cc
35 scheduler/OpSchedulerItem.cc
36 scheduler/mClockScheduler.cc
42 ${CMAKE_SOURCE_DIR}/src/common/TrackedOp.cc
43 ${CMAKE_SOURCE_DIR}/src/mgr/OSDPerfMetricTypes.cc
44 ${osd_cyg_functions_src}
47 set_source_files_properties(osdcap.cc
48 PROPERTIES COMPILE_FLAGS -fno-var-tracking-assignments)
50 add_library(osd STATIC ${osd_srcs})
51 target_link_libraries(osd
52 PUBLIC dmclock::dmclock Boost::MPL
53 PRIVATE os heap_profiler cpu_profiler fmt::fmt ${CMAKE_DL_LIBS})
55 add_dependencies(osd osd-tp pg-tp)
58 add_dependencies(osd eventtrace_tp)
60 if(WITH_OSD_INSTRUMENT_FUNCTIONS)
61 add_dependencies(osd cyg_profile_tp)
64 # libcls_* are runtime dependencies
65 add_dependencies(osd cls_journal cls_hello cls_lock cls_log cls_numops
66 cls_refcount cls_timeindex cls_user cls_version cls_cas cls_cmpomap)
68 add_dependencies(osd cls_cephfs)
71 add_dependencies(osd cls_rbd)
74 add_dependencies(osd cls_otp cls_rgw cls_queue cls_rgw_gc cls_2pc_queue cls_fifo)