summaryrefslogtreecommitdiffstats
path: root/src/osd/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/osd/CMakeLists.txt75
1 files changed, 75 insertions, 0 deletions
diff --git a/src/osd/CMakeLists.txt b/src/osd/CMakeLists.txt
new file mode 100644
index 000000000..373456fc6
--- /dev/null
+++ b/src/osd/CMakeLists.txt
@@ -0,0 +1,75 @@
+set(osdc_osd_srcs
+ ${CMAKE_SOURCE_DIR}/src/osdc/Objecter.cc
+ ${CMAKE_SOURCE_DIR}/src/osdc/Striper.cc)
+
+if(WITH_OSD_INSTRUMENT_FUNCTIONS AND CMAKE_CXX_COMPILER_ID STREQUAL GNU)
+ add_compile_options(
+ -finstrument-functions
+ -finstrument-functions-exclude-function-list=_mm_loadu_si128,_mm_cmpeq_epi32,_mm_movemask_epi8)
+ set(osd_cyg_functions_src ${CMAKE_SOURCE_DIR}/src/tracing/cyg_profile_functions.c)
+endif()
+
+set(osd_srcs
+ OSD.cc
+ pg_scrubber.cc
+ scrub_machine.cc
+ PrimaryLogScrub.cc
+ Watch.cc
+ ClassHandler.cc
+ PG.cc
+ PGLog.cc
+ PrimaryLogPG.cc
+ ReplicatedBackend.cc
+ ECBackend.cc
+ ECTransaction.cc
+ PGBackend.cc
+ OSDCap.cc
+ Watch.cc
+ Session.cc
+ SnapMapper.cc
+ ScrubStore.cc
+ osd_types.cc
+ ECUtil.cc
+ ExtentCache.cc
+ scheduler/OpScheduler.cc
+ scheduler/OpSchedulerItem.cc
+ scheduler/mClockScheduler.cc
+ PeeringState.cc
+ PGStateUtils.cc
+ recovery_types.cc
+ MissingLoc.cc
+ osd_perf_counters.cc
+ ${CMAKE_SOURCE_DIR}/src/common/TrackedOp.cc
+ ${CMAKE_SOURCE_DIR}/src/mgr/OSDPerfMetricTypes.cc
+ ${osd_cyg_functions_src}
+ ${osdc_osd_srcs})
+if(HAS_VTA)
+ set_source_files_properties(osdcap.cc
+ PROPERTIES COMPILE_FLAGS -fno-var-tracking-assignments)
+endif()
+add_library(osd STATIC ${osd_srcs})
+target_link_libraries(osd
+ PUBLIC dmclock::dmclock Boost::MPL
+ PRIVATE os heap_profiler cpu_profiler fmt::fmt ${CMAKE_DL_LIBS})
+if(WITH_LTTNG)
+ add_dependencies(osd osd-tp pg-tp)
+endif()
+if(WITH_EVENTTRACE)
+ add_dependencies(osd eventtrace_tp)
+endif()
+if(WITH_OSD_INSTRUMENT_FUNCTIONS)
+ add_dependencies(osd cyg_profile_tp)
+endif()
+
+# libcls_* are runtime dependencies
+add_dependencies(osd cls_journal cls_hello cls_lock cls_log cls_numops
+ cls_refcount cls_timeindex cls_user cls_version cls_cas cls_cmpomap)
+if(WITH_CEPHFS)
+ add_dependencies(osd cls_cephfs)
+endif()
+if(WITH_RBD)
+ add_dependencies(osd cls_rbd)
+endif()
+if(WITH_RADOSGW)
+ add_dependencies(osd cls_otp cls_rgw cls_queue cls_rgw_gc cls_2pc_queue cls_fifo)
+endif()