X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fos%2FCMakeLists.txt;fp=src%2Fceph%2Fsrc%2Fos%2FCMakeLists.txt;h=a98fe1db0606d24420579e79bb98047f481724cf;hb=812ff6ca9fcd3e629e49d4328905f33eee8ca3f5;hp=0000000000000000000000000000000000000000;hpb=15280273faafb77777eab341909a3f495cf248d9;p=stor4nfv.git diff --git a/src/ceph/src/os/CMakeLists.txt b/src/ceph/src/os/CMakeLists.txt new file mode 100644 index 0000000..a98fe1d --- /dev/null +++ b/src/ceph/src/os/CMakeLists.txt @@ -0,0 +1,140 @@ +set(libos_srcs + ObjectStore.cc + Transaction.cc + filestore/chain_xattr.cc + filestore/BtrfsFileStoreBackend.cc + filestore/DBObjectMap.cc + filestore/FileJournal.cc + filestore/FileStore.cc + filestore/JournalThrottle.cc + filestore/GenericFileStoreBackend.cc + filestore/JournalingObjectStore.cc + filestore/HashIndex.cc + filestore/IndexManager.cc + filestore/LFNIndex.cc + filestore/WBThrottle.cc + memstore/MemStore.cc + kstore/KStore.cc + kstore/kstore_types.cc + fs/FS.cc) + +if(HAVE_LIBAIO) + list(APPEND libos_srcs + bluestore/Allocator.cc + bluestore/BitmapFreelistManager.cc + bluestore/BlockDevice.cc + bluestore/BlueFS.cc + bluestore/bluefs_types.cc + bluestore/BlueRocksEnv.cc + bluestore/BlueStore.cc + bluestore/bluestore_types.cc + bluestore/FreelistManager.cc + bluestore/KernelDevice.cc + bluestore/StupidAllocator.cc + bluestore/BitMapAllocator.cc + bluestore/BitAllocator.cc + bluestore/aio.cc + ) +endif(HAVE_LIBAIO) + +if(WITH_FUSE) + list(APPEND libos_srcs + FuseStore.cc) +endif(WITH_FUSE) + +if(WITH_PMEM) + list(APPEND libos_srcs + bluestore/PMEMDevice.cc) +endif(WITH_PMEM) + +if(HAVE_LIBXFS) + list(APPEND libos_srcs + filestore/XfsFileStoreBackend.cc + fs/XFS.cc) +endif() + +if(HAVE_LIBZFS) + add_library(os_zfs_objs OBJECT + filestore/ZFSFileStoreBackend.cc + fs/ZFS.cc) + target_include_directories(os_zfs_objs PRIVATE + ${ZFS_INCLUDE_DIRS}) + list(APPEND libos_srcs $) +endif() + +if(WITH_SPDK) + list(APPEND libos_srcs + bluestore/NVMEDevice.cc) + ADD_DEFINITIONS(-D__SSE4_2__ -D__SSE4_1__ -D__SSSE3__ -D__SSE3__) + add_compile_options(-mcrc32 -msse3 -mssse3 -msse4.1 -msse4.2) +endif() + +add_library(os STATIC ${libos_srcs} $) + +if(HAVE_LIBAIO) + target_link_libraries(os ${AIO_LIBRARIES}) +endif(HAVE_LIBAIO) + +if(WITH_FUSE) + target_link_libraries(os ${FUSE_LIBRARIES}) +endif() + +if(WITH_PMEM) + target_link_libraries(os ${PMEM_LIBRARY}) +endif() + +if(HAVE_LIBZFS) + target_link_libraries(os ${ZFS_LIBRARIES}) +endif() + +if(WITH_SPDK) + target_link_libraries(os + ${SPDK_LIBRARIES} + ${DPDK_LIBRARIES}) + target_include_directories(os + PRIVATE + ${DPDK_INCLUDE_DIR}) +endif(WITH_SPDK) + +if(WITH_LTTNG) + add_dependencies(os objectstore-tp) +endif() + +target_link_libraries(os kv) + +add_dependencies(os compressor_plugins) +add_dependencies(os crypto_plugins) + + +if(HAVE_LIBAIO) + add_executable(ceph-bluestore-tool + bluestore/bluestore_tool.cc) + target_link_libraries(ceph-bluestore-tool + os global) + install(TARGETS ceph-bluestore-tool + DESTINATION bin) +endif() + +if(WITH_SPDK) + include_directories("${CMAKE_SOURCE_DIR}/src/spdk/include") + add_custom_target(build_spdk + COMMAND + $(MAKE) DPDK_INC_DIR=${DPDK_INCLUDE_DIR} + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/spdk/lib + COMMENT "spdk building") + # TODO: should use add_library(spdk INTERFACE IMPORTED) instead in new cmake, + # if INTERFACE is supported. + foreach(lib nvme log env_dpdk util) + add_library(spdk_${lib} STATIC IMPORTED) + add_dependencies(spdk_${lib} build_spdk) + target_link_libraries(os LINK_PRIVATE spdk_${lib}) + set_target_properties(spdk_${lib} PROPERTIES + IMPORTED_LOCATION "${CMAKE_SOURCE_DIR}/src/spdk/build/lib/libspdk_${lib}.a" + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_SOURCE_DIR}/src/spdk/include") + list(APPEND SPDK_LIBRARIES spdk_${lib}) + endforeach() +endif(WITH_SPDK) + +if(WITH_LTTNG AND WITH_EVENTTRACE) + add_dependencies(os eventtrace_tp) +endif()