summaryrefslogtreecommitdiffstats
path: root/src/crimson/os/alienstore/CMakeLists.txt
blob: 659a3c6ce59393e9a807c1c820501f313d3d1f5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
include_directories(SYSTEM "${CMAKE_SOURCE_DIR}/src/rocksdb/include")

add_library(alien::cflags INTERFACE IMPORTED)
set_target_properties(alien::cflags PROPERTIES
  INTERFACE_COMPILE_DEFINITIONS "WITH_SEASTAR;WITH_ALIEN"
  INTERFACE_INCLUDE_DIRECTORIES $<TARGET_PROPERTY:Seastar::seastar,INTERFACE_INCLUDE_DIRECTORIES>)

add_library(crimson-alien-common STATIC
  ${PROJECT_SOURCE_DIR}/src/common/admin_socket.cc
  ${PROJECT_SOURCE_DIR}/src/common/blkdev.cc
  ${PROJECT_SOURCE_DIR}/src/common/ceph_context.cc
  ${PROJECT_SOURCE_DIR}/src/common/ceph_crypto.cc
  ${PROJECT_SOURCE_DIR}/src/common/condition_variable_debug.cc
  ${PROJECT_SOURCE_DIR}/src/common/cmdparse.cc
  ${PROJECT_SOURCE_DIR}/src/common/Finisher.cc
  ${PROJECT_SOURCE_DIR}/src/common/HeartbeatMap.cc
  ${PROJECT_SOURCE_DIR}/src/common/PluginRegistry.cc
  ${PROJECT_SOURCE_DIR}/src/common/lockdep.cc
  ${PROJECT_SOURCE_DIR}/src/common/mutex_debug.cc
  ${PROJECT_SOURCE_DIR}/src/common/perf_counters.cc
  ${PROJECT_SOURCE_DIR}/src/common/perf_counters_collection.cc
  ${PROJECT_SOURCE_DIR}/src/common/RefCountedObj.cc
  ${PROJECT_SOURCE_DIR}/src/common/shared_mutex_debug.cc
  ${PROJECT_SOURCE_DIR}/src/common/SubProcess.cc
  ${PROJECT_SOURCE_DIR}/src/common/Throttle.cc
  ${PROJECT_SOURCE_DIR}/src/common/Timer.cc
  ${PROJECT_SOURCE_DIR}/src/common/TrackedOp.cc
  ${PROJECT_SOURCE_DIR}/src/common/WorkQueue.cc
  ${PROJECT_SOURCE_DIR}/src/common/util.cc
  ${PROJECT_SOURCE_DIR}/src/crush/CrushLocation.cc
  ${PROJECT_SOURCE_DIR}/src/global/global_context.cc
  $<TARGET_OBJECTS:compressor_objs>
  $<TARGET_OBJECTS:common_prioritycache_obj>)
target_link_libraries(crimson-alien-common
  crimson-common
  alien::cflags)

set(alien_store_srcs
  alien_store.cc
  thread_pool.cc
  ${PROJECT_SOURCE_DIR}/src/os/ObjectStore.cc
  ${PROJECT_SOURCE_DIR}/src/os/bluestore/Allocator.cc
  ${PROJECT_SOURCE_DIR}/src/os/bluestore/AvlAllocator.cc
  ${PROJECT_SOURCE_DIR}/src/os/bluestore/BitmapFreelistManager.cc
  ${PROJECT_SOURCE_DIR}/src/os/bluestore/BlueFS.cc
  ${PROJECT_SOURCE_DIR}/src/os/bluestore/bluefs_types.cc
  ${PROJECT_SOURCE_DIR}/src/os/bluestore/BlueRocksEnv.cc
  ${PROJECT_SOURCE_DIR}/src/os/bluestore/BlueStore.cc
  ${PROJECT_SOURCE_DIR}/src/os/bluestore/bluestore_types.cc
  ${PROJECT_SOURCE_DIR}/src/os/bluestore/fastbmap_allocator_impl.cc
  ${PROJECT_SOURCE_DIR}/src/os/bluestore/FreelistManager.cc
  ${PROJECT_SOURCE_DIR}/src/os/bluestore/HybridAllocator.cc
  ${PROJECT_SOURCE_DIR}/src/os/bluestore/StupidAllocator.cc
  ${PROJECT_SOURCE_DIR}/src/os/bluestore/BitmapAllocator.cc)
if(WITH_ZBD)
  list(APPEND alien_store_srcs
    ${PROJECT_SOURCE_DIR}/src/os/bluestore/zoned_types.cc
    ${PROJECT_SOURCE_DIR}/src/os/bluestore/ZonedFreelistManager.cc
    ${PROJECT_SOURCE_DIR}/src/os/bluestore/ZonedAllocator.cc)
endif()
add_library(crimson-alienstore STATIC
  ${alien_store_srcs})
if(WITH_LTTNG)
  add_dependencies(crimson-alienstore bluestore-tp)
endif()
target_link_libraries(crimson-alienstore
  PRIVATE
    alien::cflags
    fmt::fmt
    kv
    heap_profiler
    crimson-alien-common
    ${BLKID_LIBRARIES}
    ${UDEV_LIBRARIES}
    crimson
    blk)