X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fcompressor%2Fzstd%2FCMakeLists.txt;fp=src%2Fceph%2Fsrc%2Fcompressor%2Fzstd%2FCMakeLists.txt;h=d9d2b6e560d3f7de863a21e8222f05dd7b076f1b;hb=812ff6ca9fcd3e629e49d4328905f33eee8ca3f5;hp=0000000000000000000000000000000000000000;hpb=15280273faafb77777eab341909a3f495cf248d9;p=stor4nfv.git diff --git a/src/ceph/src/compressor/zstd/CMakeLists.txt b/src/ceph/src/compressor/zstd/CMakeLists.txt new file mode 100644 index 0000000..d9d2b6e --- /dev/null +++ b/src/ceph/src/compressor/zstd/CMakeLists.txt @@ -0,0 +1,44 @@ +# zstd + +# libzstd - build it statically +set(ZSTD_C_FLAGS -fPIC -Wno-unused-variable -O3) + +include(ExternalProject) +ExternalProject_Add(zstd_ext + SOURCE_DIR ${CMAKE_SOURCE_DIR}/src/zstd/build/cmake + CMAKE_ARGS -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} + -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + -DCMAKE_C_FLAGS=${ZSTD_C_FLAGS} + -DCMAKE_AR=${CMAKE_AR} + BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/libzstd + BUILD_COMMAND $(MAKE) libzstd_static + INSTALL_COMMAND "true") + +# force zstd make to be called on each time +ExternalProject_Add_Step(zstd_ext forcebuild + DEPENDEES configure + DEPENDERS build + COMMAND "true" + ALWAYS 1) + +add_library(zstd STATIC IMPORTED) +set_property(TARGET zstd PROPERTY + IMPORTED_LOCATION "${CMAKE_CURRENT_BINARY_DIR}/libzstd/lib/libzstd.a") +add_dependencies(zstd zstd_ext) +set(ZSTD_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/src/zstd/lib) + +# +set(zstd_sources + CompressionPluginZstd.cc +) + +add_library(ceph_zstd SHARED ${zstd_sources}) +add_dependencies(ceph_zstd ${CMAKE_SOURCE_DIR}/src/ceph_ver.h) +target_link_libraries(ceph_zstd zstd) +set_target_properties(ceph_zstd PROPERTIES VERSION 2.0.0 SOVERSION 2) +install(TARGETS ceph_zstd DESTINATION ${compressor_plugin_dir}) + +if(WITH_EMBEDDED) + add_library(cephd_compressor_zstd STATIC ${zstd_sources}) + set_target_properties(cephd_compressor_zstd PROPERTIES COMPILE_DEFINITIONS BUILDING_FOR_EMBEDDED) +endif()